S7-1200与LabVIEW之间进行TCP/IP通信
S7-1200 PLC支持TCP通信,LabVIEW中也有TCP函数,本文介绍怎样实现二者之间的通信。
S7-1200 PLC组态和编程
- 01
打开TIA Portal编程软件,新建一个项目,添加新设备,注意设备型号和版本必须选择正确。
- 02
设备组态中,添加新子网,设置PLC的IP地址。本文按默认值192.168.0.1。
- 03
将TSEND_C函数块拖到主程序中,拖放后会弹出建立DB块的窗口,选默认即可。这个函数块的作用就是自动建立TCP连接,并发送数据给指定的伙伴。
- 04
TSEND_C函数块的REQ端,接一个请求信号。本文中利用I0.0触点进行请求,REQ端每监测到I0.0出现一次上升沿,就会触发一次TCP发送。
- 05
点击TSEND_C块上的组态按钮,进入组态窗口,伙伴选择“未指定”,连接数据选择“新建”。
- 06
系统会自动建立一个连接数据,现在可以填写伙伴的IP地址,填入本机的IP地址,注意必须与PLC在同一个网段内,勾选伙伴“主动建立连接”,填写PLC的端口,本文按默认的2000端口。这样,伙伴就可以按IP和端口访问到PLC了。
- 07
块参数的连接状态(CONT),填写TRUE,这可以让函数块与伙伴建立连接后,一直保持连接,而不是在调用完后就断开。此时,连接参数和块参数都组态完成,状态是绿色的勾勾。
- 08
接下来要指定发送的数据了,本文要发送字符串“Hello World!”,所以新建一个全局DB,在其中建立一个String型变量,赋值为“Hello World!”。
- 09
主程序中,将刚才的字符串变量赋给TSEND_C函数块的DATA端口。
- 10
编译,下载程序到PLC。
LabVIEW编程和测试
- 01
LabVIEW中,新建一个项目,新建一个VI,在VI的后面板中放置3个函数:打开TCP连接、读取TCP数据、关闭TCP连接,这3个函数都位于“数据通信”组中。
- 02
连接3个函数。打开TCP连接函数的IP和端口为PLC的IP和端口,一定填写正确,否则不可能建立与PLC的连接。读取TCP数据函数的数据长度,比PLC发送数据的长度长一点即可。
- 03
点运行,这时数据输出中没有任何数据,这是因为PLC中的发送还没有被触发的缘故。闭合触发触点(本例中为I0.0),则立刻接收到了数据!说明通信成功!