S7-1200与LabVIEW之间进行Modbus TCP通信

       

目录

一、工具/原料

二、S7-1200 PLC组态和编程

三、LabVIEW编程和测试

注意事项


        Modbus TCP是一种简便可靠的通信连接,利用S7-1200 PLC作为Modbus服务器(从站),LabVIEW作为Modbus客户端(主站),可以实现上位机PC对下位机PLC的读写操作。这在监控系统开发中经常会用到。本文介绍操作步骤。

一、工具/原料

  • S7-1200 PLC

  • TIA Portal编程软件

  • 安装了DSC模块的LabVIEW软件

二、S7-1200 PLC组态和编程

        1、打开TIA Portal编程软件,新建一个项目,添加新设备,注意设备型号和版本必须选择正确。

S7-1200与LabVIEW之间进行Modbus TCP通信

        2、设备组态中,添加新子网,设置PLC的IP地址。本文按默认值192.168.0.1。 

S7-1200与LabVIEW之间进行Modbus TCP通信

        3、打开MAIN程序块,将通信指令->其他->MODBUS TCP->MB_SERVER函数块拖入到程序中,系统会提示建立背景数据块,按默认即可。将函数块的CONNECT_ID引脚改为非零数值。

S7-1200与LabVIEW之间进行Modbus TCP通信

S7-1200与LabVIEW之间进行Modbus TCP通信 

        4、函数块的MB_HOLD_REG引脚是Modbus地址中的保持寄存器,可以配置为PLC的M存储器或工作存储器。本文以使用工作存储器为例,新建一个全局DB,并在DB中建立全局变量。赋值完毕的函数块如图,本文为了演示Modbus对线圈的访问,还增加了一个赋值为1的线圈。 

S7-1200与LabVIEW之间进行Modbus TCP通信

S7-1200与LabVIEW之间进行Modbus TCP通信

        5、接下来关键一步,刚才建立的全局DB的属性中“优化的块访问”前面的勾去掉,否则不能通信成功。

S7-1200与LabVIEW之间进行Modbus TCP通信

6、编译所有块,下载程序到PLC。

S7-1200与LabVIEW之间进行Modbus TCP通信

S7-1200与LabVIEW之间进行Modbus TCP通信

三、LabVIEW编程和测试

        1、LabVIEW中,新建一个VI,在VI的后面板中放置4个函数:创建主设备实例、读取保持寄存器、读取线圈、关闭,这4个函数位于“数据通信”->“Modbus”->“Modbus Master”组中。

S7-1200与LabVIEW之间进行Modbus TCP通信

        2、连接4个函数,主设备实例的地址和端口填写PLC的IP地址和端口,保持寄存器和线圈的起始地址均为0,数量为想要读取的数量。

S7-1200与LabVIEW之间进行Modbus TCP通信

        3、运行程序,可以看到前面板中有输出,且为PLC中的相应值!证明通信成功!

S7-1200与LabVIEW之间进行Modbus TCP通信

注意事项

  • 不同的硬件和软件版本,操作步骤可能略有不同。

  • PC的IP地址和PLC的IP地址必须在同一个网段内。

S7-1200与LabVIEW之间进行Modbus TCP通信-百度经验 (baidu.com)

上一篇:PostgreSQL的三种经典分布式架构对比


下一篇:(已经解决)splunk 对display的数据再解析-查询显示不出