LabVIEW与S7-1200系列PLC基于Modbus TCP/IP协议的通信方法

2015-09-11 13:33罗光耀张龙刚俞瑞昕
塑料包装 2015年5期
关键词:程序开发下位西门子

罗光耀 张龙刚 俞瑞昕

(秦川机床工具集团股份公司液压研究所)

LabVIEW与S7-1200系列PLC基于Modbus TCP/IP协议的通信方法

罗光耀 张龙刚 俞瑞昕

(秦川机床工具集团股份公司液压研究所)

虚拟仪器(LabVIEW)开发环境与PLC之间可通过RS-232、RS-485、以太网等多种接口进行通信,通信协议可使用PLC厂家开发的非开放协议(如西门子公司的PPI协议),也可使用开放的协议如施耐德公司开发的Modbus。随着越来越多的PLC本体集成以太网接口,采用Modbus TCP/IP协议的基于以太网接口的通信方式被广泛应用到电气设备中。实践证明,这种通信方式成本低廉,编程简单,可大大缩短程序开发时间并降低电气硬件成本。

LabVIEW Modbus协议 TCP/IP协议 PLC

1 引言

随着工业自动化水平的提高,可编程逻辑控制器(Programmable Logic Controller,以下简称PLC)由于具有配置灵活方便、输入输出可任意编程控制等优点,现已发展成为自动化设备的核心控制器件。但PLC一般不具备屏幕显示,在一些需要配方管理、用户管理、数据存储、曲线显示等功能的设备中不能完全实现设备的需求。在实际应用中,常常将计算机作为上位机以实现人机交互功能,PLC作为下位机实现数字量和模拟量的输入输出功能。但随之而来的计算机与PLC之间的通信方法便成为电气设计人员首要解决的问题。鉴于此,本文介绍了一种LabVIEW开发环境和西门子S7-1200系列PLC之间基于Modbus TCP/IP协议的通信方法,并将之成功应用于塑料机械内啮合齿轮油泵出厂试验台的电气系统中。通过这种方法,系统不仅实现了设备的自动控制和数据的输入输出功能,同时还实现了油泵试验参数管理、试验过程监控、试验数据存储等功能,弥补了PLC在人机交互和显示方面的不足。

2 Modbus和Modbus TCP/IP

Modbus协议是Modicon公司在1979年开发的一种消息结构,用来建立智能设备间的主-从/客户机-服务器通信。Modbus协议是一种请求/应答协议,在该协议中,Modbus主机(Modbus客户端)发送请求,Modbus从机(Modbus服务器)返回响应。Modbus请求/应答协议模型如图1所示。

图1 Modbus请求/应答协议模型

TCP/IP协议是一组协议簇,全称是Transmission Control Protocol/Internet Protocol,即传输控制协议/网际协议,是国际互联网Internet的核心传输协议。而以太网Ethernet作为TCP/IP协议簇的网络接入层(对应OSI参考模型中的物理层和数据链路层)协议之一,已成为商用计算机领域的事实标准。随着计算机的在工业现场的广泛使用,应用TCP/IP协议的以太网也成为工厂网络(Factory Networking)的一种事实标准。

1996 年,施耐德公司推出了基于TCP/IP的Modbus协议,将Modbus帧简单的嵌入到TCP帧中,开发容易,硬件成本低廉,适用于各种应用的解决方案,已成为自动化设备最广泛支持的协议。

本文将通过Modbus TCP/IP技术实现计算机和西门子S7-1200 PLC之间的通信,达到计算机监测和控制PLC的目的。

3 系统硬件组成

3.1 上位机

上位机采用工控机或商用计算机。由于本系统采用以太网连接,所以要求上位机必须安装有以太网卡。

3.2 下位机

下位机使用西门子S7-1214C DC/DC/DC PLC,固件版本4.0。S7-1200系列PLC集成PROFINET接口,该接口可用于编程、HMI与PLC间通信、PC与PLC间通信,支持Modbus TCP/IP协议。计算机与PLC之间使用568B标准网线连接。

4 下位机PLC程序设计

下位机程序开发步骤如下

4.1 为计算机和PLC手动分配IP地址。两个设备的IP地址必须位于同一网段内,子网掩码均为255.255.255.0。

4.2 建立Modbus保持寄存器作为Modbus通信缓冲区。可新建一个标准全局数据块DB或使用一段 M储存区,储存区用于保存值,允许Modbus客户端使用Modbus寄存器功能3(读)、6(写)和16(写)访问这些值。

4.3 建立Modbus Server(Modbus从机)。建立Modbus Server需使用MB_SERVER指令,且PLC在每个扫描周期执行该指令一次。

编译程序并检查无错后将程序下载至PLC,PLC程序如图2所示。

图2 PLCModbus从机梯形图

5 上位机LabVIEW程序设计

上位机程序开发步骤如下:

5.1 新建VI,创建Modbus主设备实例。使用Create Master Instance.vi,地址设置为PLC地址,手动选择多态实例为新建TCP主设备。

5.2 读取DI输入,使用Read Discrete Inputs.vi读取连续离散输入的值。

5.3 读取DO输出。使用Read Coils.vi读取连续线圈的值。

5.4 写入保存寄存器。使用W rite Multiple Holding Registers.vi写入值至连续保持寄存器。

5.5 读取保持寄存器。使用Read Holding Registers.vi读取连续保持寄存器的值。

5.6 关闭Modbus连接。使用Close.vi关闭并销毁Modbus主设备实例。

设计完成后的前面板如图3所示,程序框图如图4所示。

图3 LabVIEW前面板

图4 LabVIEW程序框图

6 结束语

经过联机测试,LabVIEW和PLC程序均运行正常,上位机能实时监测PLC I/O口状态,读取模拟量输入值,同时向PLC写入控制数据。这种LabVIEW和西门子S7-1200系列PLC之间基于Modbus TCP协议的通信方法有以下优点:

编程简单。上位机和下位机均只需简单的指令即可实现对PLC离散量和保持寄存器的读写;

移植方便。图4所示通信程序去掉while结构后可封装为一个子vi被任意主vi调用;

硬件成本低廉。PC和PLC均自带以太网口,仅需一根网线即可建立Modbus TCP/IP连接。

实践证明,这种采用Modbus TCP/IP协议的基于以太网接口的通信方式简单易用,可在类似的计算机和PLC组成的电气系统中推广和使用。

[1]左昉,胡仁喜,闫聪聪等,《LabVIEW 2013中文版虚拟仪器从入门到精通》第4版.北京:机械工业出版社,2014

[2]邓欣茹,丁建兴,杨翼等,Modbus/TCP工业以太网的现状与发展,《工业控制计算机》2004年第9期

[3]李宏宇,张庆广,王云龙,S7-1200 PLC基于Modbus通信协议的数据采集及远程传送应用,《黑龙江冶金》2014年第4期

[4]姚金江,李欣,TCP/IP协议的由来与发展,《临沂师范学院学报》2001年第4期

Themeans of communication for LabVIEW and S7-1200 PLC based on M odbus TCP/IP protocol

Luo Guangyao ZHang Longgang Yu Ruixin
(Hydraulic Institute Qinchuan Machine Tool and Tool Group Share Co.Ltd)

LabVIEW can communicate with PLC by RS-232、RS-485、Ethernet and so on,the communication protocol can use non open protocol(such as Simens’PPIprotocol),it also can use open protocol(such as Modbus that developed by Schneider).Asmore and more PLCs integration Ethernet interface,the means of communication using Modbus TCP/IP protocol based on Ethernet has been widely applied to electrical equipment.The practice has proved that thismeans of communication with low cost,programming simple,it also can greatly shorten the development time and reduce the cost of electrical hardware.

LabVIEW Modbus protocol TCP/IP protocol PLC

猜你喜欢
程序开发下位西门子
基于西门子SMART系列PLC关于99套模具选择的实现
浅析大学生在兼职小程序开发中遇到的问题
APP应用程序开发模式探究
发射机房监控系统之下位机
西门子重型燃机出海
基于嵌入式系统Windows CE的应用程序开发
基于App inventor 2手机程序开发过程的学习与实——以“喵喵定时器”APP开发为例
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
CAN总线并发通信时下位机应用软件设计