TwinCAT3以太网TCP/IP自由协议通讯

27 篇文章 122 订阅
订阅专栏
该文详细介绍了如何使用TwinCAT3创建以太网TCP/IP的客户端和服务器程序,包括工程创建、变量与函数块的定义、连接与通信测试。同时,提供了测试程序的下载链接,帮助读者理解和实现PLC之间的TCP/IP通信。
摘要由CSDN通过智能技术生成

目录

一、TwinCAT3以太网TCP/IP客户端创建

1、系统连接示意图

1、程序创建

(1)工程创建和授权添加

 (2)库文件添加

 (3)变量创建

(4)程序

2、测试

(1)网络调试助手创建服务端监听

(2)PLC端的Client连接服务端

 (3)PLC端给服务端发送数据

 (4)服务端给PLC发送数据

二、TwinCAT3以太网TCP/IP服务端创建

1、系统连接示意图

2、程序创建

(1)变量创建

(2)程序

3、测试

(1)Listen、客户端连接

 (2)服务端中Accept接收请求

(3)服务端和客户端之间相互发送数据

三、工程下载连接

1、 TwinCAT3以太网TCP/IP客户端测试程序

2、 TwinCAT3以太网TCP/IP服务端测试程序


测试之前需要在PLC的window系统里安装TCP/IP软件吧包,安装完成关电重启。安装包在提供的工程下载连接中。

一、TwinCAT3以太网TCP/IP客户端创建

1、系统连接示意图

PLC作为客户端去连接TCP服务端。

1、程序创建

(1)工程创建和授权添加

创建TwinCAT3工程,创建PLC程序,在配置模式下进行IO扫描。License中勾选TCP/IP授权,7天免费试用。

 (2)库文件添加

实验需要用到4个功能块,分别是FB_SocketConnect(用于建立连接),FB_SocketSend(用于发送),FB_SocketReceive(用于接收),FB_SocketClose(用于关闭连接)

 (3)变量创建

PROGRAM SocketClient
VAR
	_FB_SocketConnect:						FB_SocketConnect;				//用于建立连接
	_FB_SocketSend:							FB_SocketSend;					//用于发送
	_FB_SocketReceive:						FB_SocketReceive;				//用于接收
	_FB_SocketClose:						FB_SocketClose;					//用于关闭连接
	
	_hSocket:								T_HSOCKET;						//Socket连接句柄
	
	_ServerIpAddress:						T_IPv4Addr:='192.168.1.33';		//要连接Socket Server的ip地址
	_ServerPort:							UDINT:=6666;
	bConnect:								BOOL;
	bSend:									BOOL;
	//bRecevie:								BOOL;
	bClose:									BOOL;
	
	boConnectErr:							BOOL;
	
	nSendByteLength:						UDINT:=9;						//需要发送的字节数	
	//nReceiveByteLength:						UDINT:=20;
	arrSendData:							ARRAY[1..10]		OF			BYTE;
	arrrReceiveData:						ARRAY[1..100]		OF			BYTE;
	
	
	Timer1:									TON;
	Send_R_TRIG:							R_TRIG;
	
	
END_VAR

(4)程序


arrSendData[1]	:=	16#11;
arrSendData[2]	:=	16#22;
arrSendData[3]	:=	16#33;
arrSendData[4]	:=	16#44;
arrSendData[5]	:=	16#55;
arrSendData[6]	:=	16#66;
arrSendData[7]	:=	16#77;
arrSendData[8]	:=	16#88;
arrSendData[9]	:=	16#99;
arrSendData[10]	:=	16#A0;

//
_FB_SocketConnect(
	sSrvNetId:= , 
	sRemoteHost:= _ServerIpAddress, 		//要连接Socket Server的ip地址
	nRemotePort:= _ServerPort,				//要连接Socket Server的端口号
	bExecute:= bConnect, 
	tTimeout:= T#1S, 
	bBusy=> , 
	bError=> boConnectErr, 
	nErrId=> , 
	hSocket=> _hSocket);
	
//
Send_R_TRIG(CLK:= bSend, Q=> );
_FB_SocketSend(
	sSrvNetId:= , 
	hSocket:= _hSocket, 
	//cbLen:= SIZEOF(arrSendData),			//1、将整个数组发送过去
	cbLen:= nSendByteLength, 				//2、将指定的字节数发送过去
	pSrc:= ADR(arrSendData), 
	bExecute:= Send_R_TRIG.Q, 
	tTimeout:= T#1S, 
	bBusy=> , 
	bError=> , 
	nErrId=> );



//500ms接收一次
Timer1(IN:= NOT timer1.q, PT:=T#500MS , Q=> , ET=> );	
_FB_SocketReceive(
	sSrvNetId:= , 
	hSocket:= _hSocket, 
	cbLen:= SIZEOF(arrrReceiveData), 
	pDest:= ADR(arrrReceiveData), 
	//bExecute:= bRecevie, 
	bExecute:= bConnect AND NOT boConnectErr AND Timer1.Q, 
	tTimeout:= T#1S, 
	bBusy=> , 
	bError=> , 
	nErrId=> , 
	nRecBytes=> );


//
_FB_SocketClose(
	sSrvNetId:= , 
	hSocket:= _hSocket, 
	bExecute:= bClose, 
	tTimeout:= T#1S, 
	bBusy=> , 
	bError=> , 
	nErrId=> );
	

2、测试

(1)网络调试助手创建服务端监听

(2)PLC端的Client连接服务端

PLC程序中输入IP地址和端口号进行连接,连接正常没有报错、服务端监测到PLC的连接。

 (3)PLC端给服务端发送数据

PLC程序中设置发送的字节数为9,只发送9个byte的数据。bSend上升沿信号触发有效。

 (4)服务端给PLC发送数据

设置最大接收的数据量100byte(根据实际需要可设置不同大小),服务端发送的时候数据量不要超过100byte。接收扫描实时间500ms(接收时间也可以调)

二、TwinCAT3以太网TCP/IP服务端创建

1、系统连接示意图

PLC作为服务端,创建Listen等待客户端连接,客户端连接后服务端再进行Accept接收请求。

2、程序创建

实验需要用到5个功能块,分别是FB_SocketListen,FB_ SocketAccept, FB_SocketSend,FB_SocketReceive,FB_SocketClose

(1)变量创建

PROGRAM SocketServer
VAR
	_FB_SocketListen:						FB_SocketListen;
	_FB_SocketAccept:						FB_SocketAccept;
	_FB_SocketSend:							FB_SocketSend;
	_FB_SocketReceive:						FB_SocketReceive;
	_FB_SocketClose:						FB_SocketClose;
	
	_hListen:								T_HSOCKET;						//Socket监听句柄
	_hSocket:								T_HSOCKET;						//Socket连接句柄
	
	_LocalIpAddress:						T_IPv4Addr:='192.168.1.31';		//要连接Socket Server的ip地址
	_LocalPort:								UDINT:=9977;
		
	bListen:								BOOL;
	bAccept:								BOOL;
	bSend:									BOOL;
	//bRecevie:								BOOL;
	bClose:									BOOL;
	
	nSendByteLength:						UDINT:=9;						//需要发送的字节数	
	//nReceiveByteLength:						UDINT:=20;
	arrSendData:							ARRAY[1..10]		OF			BYTE;
	arrrReceiveData:						ARRAY[1..100]		OF			BYTE;
	
	Timer1:									TON;
	Send_R_TRIG:							R_TRIG;
	
END_VAR

(2)程序



arrSendData[1]	:=	16#11;
arrSendData[2]	:=	16#22;
arrSendData[3]	:=	16#33;
arrSendData[4]	:=	16#44;
arrSendData[5]	:=	16#55;
arrSendData[6]	:=	16#66;
arrSendData[7]	:=	16#77;
arrSendData[8]	:=	16#88;
arrSendData[9]	:=	16#99;
arrSendData[10]	:=	16#A0;


//Server端-监听
_FB_SocketListen(
	sSrvNetId:= , 
	sLocalHost:= _LocalIpAddress, 
	nLocalPort:= _LocalPort, 
	bExecute:= bListen, 
	tTimeout:=T#1S , 
	bBusy=> , 
	bError=> , 
	nErrId=> , 
	hListener=> _hListen);

//Server端-接受请求
_FB_SocketAccept(
	sSrvNetId:= , 
	hListener:= _hListen, 
	bExecute:= bAccept, 
	tTimeout:= T#1S, 
	bAccepted=> , 
	bBusy=> , 
	bError=> , 
	nErrId=> , 
	hSocket=> _hSocket);


//Server端-发送
Send_R_TRIG(CLK:= bSend, Q=> );
_FB_SocketSend(
	sSrvNetId:= , 
	hSocket:= _hSocket, 
	cbLen:= nSendByteLength, 
	pSrc:= ADR(arrSendData), 
	bExecute:= Send_R_TRIG.Q, 
	tTimeout:= T#1S, 
	bBusy=> , 
	bError=> , 
	nErrId=> );	

//Server端-接收
//500ms接收一次
Timer1(IN:= NOT timer1.q, PT:=T#500MS , Q=> , ET=> );	
_FB_SocketReceive(
	sSrvNetId:= , 
	hSocket:= _hSocket, 
	cbLen:= SIZEOF(arrrReceiveData), 
	pDest:= ADR(arrrReceiveData), 
	//bExecute:= bRecevie, 
	bExecute:= bListen AND bAccept  AND Timer1.Q, 
	tTimeout:= T#1S, 
	bBusy=> , 
	bError=> , 
	nErrId=> , 
	nRecBytes=> );	

//Server端-Socket关闭
_FB_SocketClose(
	sSrvNetId:= , 
	hSocket:= _hSocket, 
	bExecute:= bClose, 
	tTimeout:= T#1S, 
	bBusy=> , 
	bError=> , 
	nErrId=> );
	
	

3、测试

(1)Listen、客户端连接

 (2)服务端中Accept接收请求

(3)服务端和客户端之间相互发送数据

三、工程下载连接

1、 TwinCAT3以太网TCP/IP客户端测试程序

TwinCAT3以太网通讯测试-Client.rar-嵌入式文档类资源-CSDN下载

2、 TwinCAT3以太网TCP/IP服务端测试程序

https://download.csdn.net/download/panjinliang066333/87421905

倍福--两台TwinCAT3之间做Ethernet IP通信
weixin_41883890的博客
11-14 2603
Ethernet/IP使用所有传统的以太网协议,构建于标准以太网技术之上,这意味着Ethernet/IP可以和现在所有的标准以太网设备透明衔接工作。支持Ethernet/IP的团体正致力于编制一个综合的稳固的标准,Ethernet/IP上的工作正由多个经销商参与,包括定制规格以及在经认证的测试实验室进行全面的综合测试。EtherNet/IP是由罗克韦尔自动化公司开发的工业以太网通讯协定,由ODVA(ODVA)管理,可应用在程序控制及其他自动化的应用中,是通用工业协定(CIP)中的一部分。
倍福TwinCAT3 TCPIP通讯问题Err06.pdf
04-27
倍福TwinCAT3 TCPIP通讯问题Err06
TwinCAT3 连接控制器教程
最新发布
qq_30150579的博客
07-29 554
TwinCAT3连接控制器教程
EtherCAT之TwinCAT3安装、使用
热门推荐
英雄施工的博客
02-11 3万+
借鉴倍福官方文档,结合自己的多次摸索出来的经验,整理出的TwinCAT3的安装资料,非常详细。
倍福TwinCAT使用TCP/IP协议通信例程
sygydxfwd的博客
11-03 4730
倍福TwinCAT使用TCP/IP协议通信例程
TwinCAT3中授权码激活操作的详细步骤和注意事项
sygydxfwd的博客
10-25 1万+
倍福PLC在购买以后通常需要根据自己的需求购买对应的软件授权模块,这样就需要自行进行软件激活操作,本文详细阐述了PLC激活软件模块的操作步骤和注意事项,以供工程师参考。
PLC+倍福+TwinCAT+功能块
03-08
倍福TwinCAT软件Tc2_Standard库部分功能块介绍
TwinCAT3以太网通讯测试-Client.rar
02-03
总结,掌握TwinCAT3以太网TCP/IP通信测试,不仅需要理解TCP/IP协议的基本原理,还需要熟悉TwinCAT3的编程环境和通讯库的使用。通过实践,我们可以构建出高效、稳定的PLC客户端通信方案,实现与各种设备的有效交互。
TwinCAT3 TCP IP 通讯.pdf
11-16
倍福的控制器和第三方的设备(支持 TCP/IP Server) 通讯时, 我们可以参考本例程。 本事例介绍了 Socket Tool 的使用方法。 本事例介绍了 TCP/IP 的 Client 的功能块...TwinCAT3 软件 编程软件(Ver. 3.1.4018.26)
倍福TF6310-TCP/IP
08-18
标题“倍福TF6310-TCP/IP”提及的是倍福(Beckhoff)公司的一款产品,TF6310,它与TCP/IP网络协议有关。在工业自动化领域,Beckhoff是一家知名的供应商,其产品广泛应用于PLC(可编程逻辑控制器)和PC-Based控制技术...
倍福TwinCAT EtherNetIP Slave的实例.zip
04-30
EtherNet/IP(Ethernet for Industrial Protocol)是Rockwell Automation公司推出的一种工业以太网通信协议,它基于标准的TCP/IP协议栈,并且广泛应用于工业自动化领域。作为开放的互操作性解决方案,EtherNet/IP...
twincat modbus
05-18
它支持多种通讯协议,包括Modbus TCP/IP,这使得Twincat能够与采用Modbus协议的各种设备进行交互。 **三、Modbus TCP/IP** 在Modbus协议的基础上,Modbus TCP/IP扩展了协议,使其适应以太网网络环境。它使用TCP/IP...
TwinCAT3入门教程4-伺服常用功能程序实现
panjinliang066333的博客
03-13 7822
1、使用第三方台达A2伺服,测试。台达伺服XML文件添加、在TwinCAT3中工程配置和使用参照这两篇文章: TwinCAT3第三方伺服电机——汇川IS620N使用_panjinliang066333的博客-CSDN博客_汇川ethercat伺服实例 倍福TwinCAT3中控制台达A2伺服使用_panjinliang066333的博客-CSDN博客_倍福控制伺服 本节在此基础上再讲解其它伺服功能使用。 2、伺服PTP功能块定义 2.1定义轴变量 _axis1: AXIS_RE..
如何基于TwinCAT3实现伺服电机控制(一)
ProNeverFake的博客
04-29 6328
先说一下硬件,伺服电机采用定制的关节无框力矩电机,带力矩传感器,EtherCAT通讯,想用在康复机器人上做运动控制研究。 软件方面采用TwinCAT3,这个到倍福官网https://www.beckhoff.com.cn/zh-cn/上搜索下载即可,前置需要安装Visual Studio,我用的是2017版本,具体软件安装我就不具体讲了。 如果软件配置完毕,重启后右下角应该有一个绿色的齿轮图标,这个代表TwinCAT3已经启动了。 然后打开Visual Studio 2017(TwinCAT3没有
Twincat3安装过程记录
weixin_44328139的博客
07-08 1986
此前在其他电脑上安装过twincat3,根据网上其他教程安装后,无问题出现,但一段时间之后,在另一台电脑上安装时,却总是出现错误,许多东西都没有安装成功,vs的插件也安装不全,经过多次尝试后,终于安装成功,故在此记录,以防不时之需。
TwinCAT3添加伺服控制器的方法
qq_30150579的博客
10-15 1539
TwinCAT3添加伺服控制器的方法
TwinCAT3中ModbusTCP Server和C# Client连接
panjinliang066333的博客
03-09 2409
返回11个字节recv[0]-recv[10],其中recv[9]、recv[10]是寄存器值高位、低位。recv[9]*256+recv[10]MW1的值:recv[11]=00、 recv[12]=01。MW2的值:recv[13]=00、 recv[14]=02。MW0的值:recv[9]=03、 recv[10]=6F。写寄存器操作,功能码15个byte数据,每个byte功能如下。读寄存器操作,功能码12个byte数据,每个byte功能如下。读取MW0-MW2寄存器值。
TwinCAT 3 基础——编程基础
JacobJiang的博客
12-17 1万+
文章目录1、数据类型2、 1、数据类型 2、
Window10 X64 安装TWinCat3
澍澍爸的blog
11-22 2万+
Window10 X64 安装TWinCat3 最近几个月都在研究TWinCat3, 遇到的一些问题记录下来,希望能给类似问题的朋友一些帮助。最新版本的TwinCAT3 支持window10x64位系统。我发现国内很多研究TwinCAT的朋友,都还是喜欢用,TWinCAT2,可能是大家都用习惯了吧,我是一个C++程序员,所以一开始就从TWinCAT3入手了,TC3和TC2比,区别主要就是TC3支持...
TwinCat3-TCP/IP
05-24
TwinCAT 3 是德国贝加莱(Beckhoff)公司开发的一款实时控制系统。它支持多种通信协议,其中就包括 TCP/IP 协议。TwinCAT 3 使用了基于 Windows 的操作系统,具有高度的可扩展性和灵活性,可以与多种硬件设备和软件进行集成。在 TwinCAT 3 中使用 TCP/IP 协议,可以实现实时数据传输和控制,以满足工业自动化领域的各种应用需求。例如,在工业生产线上,可以使用 TwinCAT 3 和 TCP/IP 协议实现对生产过程的实时监控和控制。
写文章

热门文章

  • Microsoft Edge浏览器中使用免费的ChatGPT 39319
  • 西门子S7-1200使用PN口总线控制V90伺服 25506
  • TwinCAT3第三方伺服电机——汇川IS620N使用 22348
  • 汇川触摸屏IT7000E和汇川中小型系列PLC连接及MW寄存器说明 22133
  • 6、Halcon图像边缘提取和轮廓识别 21107

分类专栏

  • TwinCAT3 27篇
  • 机器人 11篇
  • AB PLC 3篇
  • 三菱PLC 1篇
  • 工业传感器 5篇
  • matlab 8篇
  • Halcon 14篇
  • 电子&单片机 13篇
  • Arduino 13篇
  • STM32 6篇
  • EmguCV 2篇
  • 多媒体 2篇
  • 汇川CodeSys 13篇
  • 西门子PLC 5篇
  • 51单片机 4篇
  • 工业网络通讯 4篇
  • 贝加莱PLC 3篇
  • ADO.NET 8篇
  • 网络和服务器 2篇
  • codesys
  • 工控-算法 1篇
  • TwinCAT3从入门到放弃
  • 欧姆龙PLC 1篇
  • 其它博客链接转载 1篇
  • C# 37篇
  • 数值算法 5篇
  • 工控设备 2篇
  • 网络 1篇

最新评论

  • Stewart六自由度平台正反解算法

    laomin1985: 楼主,T1、T2、T3里面的α,β,r角度如何确定的呢?

  • 汇川触摸屏IT7000E和汇川中小型系列PLC连接及MW寄存器说明

    长这么大不容易: 非常感谢博主写的很好

  • TwinCAT3串口通讯EL6021模块使用-和串口调试助手自由协议通讯

    m0_72217884: 扫不到模块显示LINK LOST是什么原因呢

  • 汇川使用笔记6:TCP服务端和客户端通讯

    Big_潘大师: 需要的!

  • 汇川使用笔记6:TCP服务端和客户端通讯

    qq_39404221: 客户端掉线后,TCP_Connection需要重新xEnable吗

大家在看

  • JavaWeb的在线鲜花销售网站
  • 直方图均衡化 700
  • 基于百度AI的视频客流动态识别统计平台
  • SSM的家教预约管理系统 575
  • JavaWeb的电影院售票系统

最新文章

  • C#自定义曲线绘图面板
  • TwinCAT3中程序代码字体设置
  • C#使用SharGL实现PUMA560机械臂
2024年17篇
2023年36篇
2022年36篇
2021年47篇
2020年16篇
2019年1篇
2017年5篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Big_潘大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家亳州玻璃钢雕塑销售厂家郑州玻璃钢雕塑艺术厂玻璃钢小白兔雕塑江门玻璃钢雕塑厂家品牌玻璃钢法制雕塑图片合作玻璃钢仿铜雕塑北京玻璃钢雕塑造型江西玻璃钢雕塑厂家性价比出众中秋商场美陈布置方案连云港玻璃钢卡通雕塑价格海南玻璃钢雕塑艺术玻璃钢动物雕塑价钱深圳坂田有玻璃钢花盆吗河源人物玻璃钢动物雕塑天津景观雕塑玻璃钢玻璃钢动物卡通雕塑天津玻璃钢雕塑系玻璃钢暴力熊雕塑图片玻璃钢雕塑修复工艺深圳走廊商场美陈市场报价黑龙江省玻璃钢雕塑雕刻公司石家庄步行街玻璃钢雕塑供应商湖南特色玻璃钢雕塑正宗玻璃钢雕塑厂家性价比出众上海常见商场美陈新型玻璃钢动物雕塑北京个性化玻璃钢雕塑批发玻璃钢仿铜雕塑介绍河北室内商场美陈生产徐州玻璃钢雕塑制作厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化