基于Modbus TCP/IP协议的组态王Kingview6.55与西门子S7-200 SMART PLC通讯
摘要
关键词
可编程控制器;西门子S7-200 SMART;组态王Kingview6.55
正文
1、 组态王Kingview6.55
组态王kingview6.55是亚控科面向低端自动化市场的工业组态软件,以实现企业一体化为目标开发的一套产品。该产品以建立工业应用服务平台为目标,集成亚控科技自主研发的工业实时数据库(KingHistorian),可以为企业提供一个对整个生产流程进行数据汇总、分析及管理的有效平台,使企业能够及时有效地获取信息,及时地做出反应,以获得最优化的结果。
组态王kingview6.55提供了丰富的、简捷易用的配置界面,提供了大量的图形元素和图库精灵,同时也为用户创建图库精灵提供了简单易用的接口,软件的功能性和可用性有了很大的提高。
组态王kingview6.55支持Modbus TCP/IP通讯协议,可以获取PLC内的数据、状态和报警等信息,同时可以方便快捷的向工业现场发布控制命令,实现实时控制的功能。并将获取来的数据存入KingHistorian数据库,满足客户对存储速度和存储容量的要求,满足客户实时查看和检索历史运行数据的要求。
2、Modbus TCP/IP协议
Modbus TCP/IP协议是在TCP/IP协议上的实现Modbus的请求和响应。该协议去掉了Modbus协议本身的CRC校验,增加MBAP报文头字段,用以实现Modbus的请求和响应,MBAP报文头都包括以下信息和内容
域 | 长度 | 描述 | 客户机 | 服务器 |
事务元标识符 | 2个字节 | MODBUS请求/响应事务处理的识别码 | 客户机启动 | 服务器从接收的请求中重新复制 |
协议标识符 | 2个字节
| 0=MODBUS协议 | 客户机启动 | 服务器从接收的请求中重新复制 |
长度 | 2个字节 | 以下字节的数量 | 客户机启动(请求) | 服务器(响应)启动 |
单元标识符 | 1个字节 | 串行链路或其它总线上连接的远程从站的识别码 | 客户机启动 | 服务器从接收的请求中重新复制 |
1)事务元标识符(2个字节):用于事务处理配对。在响应中,MODBUS服务器复制请求的事务处理标识符。这里在以太网传输中存在一个问题,就是先发后至,我们可以利用这个事务处理标识符做一个TCP序列号,来防止这种情况所造成的数据收发错乱(这里我们先不讨论这种情况,这个事务处理标识符我们统一使用0x00,0x01)
2)协议标识符(2个字节):modbus协议标识符为0x00,0x00
3)长度(2个字节):长度域是下一个域的字节数,包括单元标识符和数据域。
4)单元标识符(1个字节):该设备的编号。(可以使用PLC的IP地址标识)。
Modbus TCP/IP协议是运行在TCP/IP上的Modbus 报文传输协议。通过此协议,控制器相互之间通过网络(例如以太网)和其它设备之间可以通信。Modbus TCP/IP协议是开放的协议,IANA(Internet Assigned Numbers Authority,互联网编号分配管理机构)给Modbus协议赋予TCP编口号为502,这是目前在仪表与自动化行业中唯一分配到的端口号。
3、西门子S7-200smart PLC
S7-200 SMART PLC是西门子2012年发布的,针对中国市场,全新的,经济型自动化市场的自动化控制产品,具有机型丰富、标配以太网接口、价格低、兼容性强、可靠性较高、功能强大、数据处理速度快、扩展能力强、软件友好等诸多优点,逐渐代替S7-200系列PLC,成为小型自动化解决方案的主流选择。
S7-200 SMART PLC机型丰富,提供不同类型、 I/O 点数丰富的 CPU 模块,单体 I/O 点数最高可达 60 点,可满足大部分小型自动化设备的控制需求。另外, CPU 模块配备标准型和经济型供用户选择,产品配置更加灵活,最大限度的控制成本。可扩展模块丰富,共有20余种各类IO模块可供选择使用。
芯片性能卓越,配备西门子专用高速处理器芯片,基本指令执行时间可达 0.15 μ s,在同级别小型 PLC 中遥遥领先。CPU 标配的以太网接口,支持 PROFINET、 TCP、 UDP、 Modbus TCP/IP协议等多种工业以太网通信协议。通过此接口可与其它 PLC、触摸屏、变频器、伺服驱动器、上位机等连网通信。
继承了西门子编程软件强大的功能,融入了更多的人性化设计,如新颖的带状式菜单、全移动式界面窗口、方便的程序注释功能、强大的密码保护,全面支持Windows 10系统等。
S7-200 SMART PLC默认不启动Modbus TCP/IP通讯,需要在系统块中启用以太网通讯,默认IP地址为192.168.2.1,可根据工程需要修改IP地址,如图所示。
4、组态王Kingview6.55配置
1) Modbus TCP/IP协议安装
组态王Kingview6.55自带驱动不支持Modbus TCP/IP协议,需要在亚控公司网站(http://www.kingview.com)下载最新S7-200的驱动程序进行更新。方法是在亚控公司网站驱动下载里搜索S7-200驱动,并根据软件版本类型(32位或64位)选择下载S7_TCP或S7_TCP_x64位驱动程序。
下载的驱动文件无法直接使用,需要根据设定的S7-200 SMART的TCP/IP地址进行修改,方法是用记事本打开并修改驱动文件夹中的初始化文件“kvS7200.ini”,原文为:
[Local]
IP=0.0.0.0
StringType=0
PackLen = 200
[SLEEP]
;发送数据帧之前延时,单位是毫秒 针对所有设备起作用
SendFramFrontsleep = 0
;发送数据帧之后延时接收数据,单位是毫秒 针对所有设备起作用
SendFramBacksleep = 0
[192.168.2.1:0:102]
/SMART
LocalTSAP=0201
RemoteTSAP=0201
TpduTSAP=000A
SourceTSAP=0000
……
需要将它改写为:
[192.168.2.101:0]
LocalTSAP=0101
RemoteTSAP=0101
TpduTSAP=000A
SourceTSAP=0009
其中的“192.168.2.101”是CPU的IP地址。如有多台PLC,应列出它们的IP地址,例如:
[192.168.2.101:0]
[192.168.2.102:0]
[192.168.2.103:0]
……
修改后的驱动程序需要安装,单击Windows的“开始”按钮,执行菜单命令“\所有程序\组态王6.55\工具\安装新驱动”,打开驱动安装工具。单击“…”按钮,打开驱动文件夹,选中驱动文件“S7_TCP.dll”,单击“安装驱动”按钮,安装成功后显示“安装完成!”。
2)Modbus TCP/IP配置
启动Kingview6.55工程管理器,建立新工程,并命名为“ZCXT”,并设为当前运行工程。选中工程“ZCXT”,点击“开发”按钮,进入工程项目组态界面,选中“设备”选项,在右侧 “新建…”按钮上双击,根据提示信息建立通讯连接,选择西门子列表下的S7-200(TCP),命名设备逻辑名称,选择使用默认的COM口,设备的通讯地址为“192.168.2.101:0”,采用默认的恢复间隔和最长恢复时间,新建S7-200 SMART通讯连接,如图所示。
5、应用实例
以下某公司自动化装车系统,采用组态王Kingview6.55与西门子S7-200 SMART PLC,通过Modbus TCP/IP通讯协议,进行PLC数据读写操作,实现装车系统的自动装车逻辑控制、安全逻辑控制、异常急停控制等功能。
组态王Kingview6.55的Modbus TCP/IP部分通讯变量表(图5.0)和人机交互界面(图5.2)如下所示:
图5.1 变量表
图5.2 人机交互界面
Modbus TCP/IP协议格式,作为整个Modbus协议中的一员,是在TCP/IP网络上进行Modbus报文传输服务,能满足分散式I/O系统的要求,仅需一根双绞线就可以把所有数据传输到Modbus主站设备。以Modbus网络的形式组网连接,可以更容易的将现场设备连接到一个DCS过程控制系统、PLC设备或工业计算机,为实现自动化控制提供了一种简单、紧凑、可靠、快速的实现方法。
[1]殷群 吕建国. 组态软件基础及应用(组态王KingView).机械工业出版社,2017.
[2]王善斌. 组态软件应用指南-组态王Kingview和西门子WinCC. 化学工业,2011.
[3]郭琼,姚晓宁. 现场总线技术及其应用. 机械工业出版社,2014.
[4]兰少华、杨余旺、吕建勇. TCP/IP网络与协议. 清华大学出版社,2017.
作者简介:
商祥伟(1984-),男,汉族,滨州市人,职称:助理工程师,研究方向:工业自动化;
任国建(1983-),男,汉族,滨州市人,职称:中级工程师,研究方向:工业自动化;
张艳(1982-),女,汉族,滨州市人,职称:助理工程师,研究方向:工业自动化。
...