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

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

S7-1200 PLC组态和编程

  • 01

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

  • 02

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

  • 03

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

  • 04

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

  • 05

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

  • 06

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

LabVIEW编程和测试

  • 01

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

  • 02

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

  • 03

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

(0)

相关推荐

  • S7-1200与LabVIEW之间进行TCP/IP通信

    S7-1200 PLC支持TCP通信,LabVIEW中也有TCP函数,本文介绍怎样实现二者之间的通信. S7-1200 PLC组态和编程 01 打开TIA Portal编程软件,新建一个项目,添加新设 ...

  • 图解TCP通信三次握手和四次分手

    TCP协议非常重要,这里把它的连接和释放整理一下。 首先是三次握手: 1、 客户端发起,像服务器发送的报文SYN=1,ACK=0,然后选择了一个初始序号:seq=x。 SYN是干什么用的? 在链接的时 ...

  • 怎样建立S7-1200 PLC和NI OPC Server之间的通讯

    西门子S7-1200 PLC是很常用的小型PLC,上位机软件可以使用西门子自己的WinCC,当然也可以使用NI的LabVIEW.事实上LabVIEW的功能要比WinCC强大的多,所以使用LabVIEW ...

  • TCP、UDP端口,TCP、UDP协议如何区别

    TCP.UDP是一种端口,还是一种协议?与我们接触认识比较多的地方是家用路由器.软件使用过程中.它们如何区分呢?TCP用于可靠性较高的局域网,UDP用于可靠性较差的广域网? TCP 和 UDP 都是 ...

  • Cisco路由静态路由配置试验步骤 实现不同网段之间的路由互相访问

    大家看到大家看到上面这个简单的拓扑了吗?我们这次的实验目的就是让这三台路由之间都可以实现通信,也就是互相之间可以ping通。 我们可以看到,当所有的Router都连接在一起的时候,其中同一网段内是可以 ...

  • 如何实现profibus通讯中各种数据的转换

    Fieldbus Network Link: Ethernet / PROFIBUS 网关,PROFIBUS DP/DPV1 Master Ethernet/MODBUS TCP 操作方法 01 FN ...

  • Apache配置技巧

    Apache配置技巧

  • Gentoo全局USE标记简介

    非原创,只是汇总一下网上比较杂乱的资料,希望对刚接触的朋友有帮助 USE是Gentoo的特色 gentoo下的软件安装由源代码编译,所以可以自由选择哪些功能需要哪别不需要,很简单的一个例子就是比如你使 ...

  • OSI七层模型深入解析

    OSI是开放性的通行系统互联参考模型。 物理层:OSI模型的最低层或第一层,该层包括物理连网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。在你的桌面PC上插入网络接口 ...