本文介绍迪文DGUS Ⅱ触摸屏与西门子PLC通过Modbus RTU协议实现通讯的软、硬件连接说明。
1 效果展示 迪文产品型号:DMT10600T070_A5WTC 西门子PLC:S7-200 SMART 分辨率:1024*600
效果展示1:VB保持区验证演示视频效果展示2:外部输出验证演示视频效果展示3:外部输入验证演示视频
视频中选用了型号为DMT10600T070_A5WTC的DGUS Ⅱ触摸屏,该产品是一款7寸高分辨率,工业级智能HMI,接口丰富,防水防UV,室内和室外均可使用。户外使用防眩光,外壳高低温不变形。屏幕为电容式触摸屏,可实现滑动翻页,手势调节数据等功能,触控效果好,灵敏度高,带来精彩的人机交互体验。 PLC型号为西门子S7-200 SMART,该款产品采用全新的CPU 模块,可全方位满足不同行业、不同客户、不同设备的各种需求。SR/ST 标准型CPU 可扩展6 个扩展模块和1 个信号板,适用于I/O 点数较多,逻辑控制较为复杂的应用。S7-200 SMART CPU 模块均集成1 个RS485 接口,可以与变频器、触摸屏等第三方设备通信。如果需要额外的串口,可通过扩展CM01 信号板来实现,信号板支持RS232/RS485自由转换。串口支持Modbus RTU协议。
2 连接指南详解2.1 硬件连接指南如下图所示,触摸屏通讯接口使用COM4的RS485,即A、B脚,电源24VDC,即V、G脚。 PLC通讯接口使用通讯口(X10),通讯口为标准的DB9母头,3脚为A,8脚为B,分别与触摸屏A-A,B-B对接上,X11的L+接24V+,M接24V-。
2.1.1 接口定义外部输入读取时,使用I0.0输入,将X11的端子1M接24V-,0.0端子经按键后接24V+,按键按下,I0.0输入24V,有输入,否则无输入,接线图如下图:
2.1.2 硬件连接效果图
2.2 软件配置指南2.2.1 西门子STEP 7-MicroWIN SMART编程软件配置1)新建工程并保存:
2)工程界面如下,双击PLC硬件配置,选择通讯设置口: file:///C:\Users\Aaron\AppData\Local\Temp\ksohtml4696\wps7.jpgfile:///C:\Users\Aaron\AppData\Local\Temp\ksohtml4696\wps8.jpg
3)西门子通讯参数是通过程序设定,配置如下: a) 上电运行一次:
各代码对应如下: Mode | 模式选择,启动/停止MODBUS,1=启动;0=停止 | | | | 波特率,可选1200,2400,4800,9600,19200,38400,57600,115200 | | | | 0=CPU集成的RS485通信口 Port 0,1=可选信号板通讯口 Port 1 | | | | 最大I/Q位,参与通信的最大I/O点数,S7-200 SMART的I/O映像区为256/256,缺省值为256 | | 最大AI字数,参与通信的最大AI通道数,取值范围 0-56。值为0时将禁止读取模拟量输入 | | | | 保持寄存器区起始地址,以&VBx指定(间接寻址方式) | | | | |
注:在本例子中,设置从站地址为3,Port0通讯波特率为9600无校验;可以使用的S7-200 SMART最大数字量输入输出点数为256;可以使用的S7-200 SMART 最大模拟量输入寄存器字数为56;可以使用的V区寄存器地址字数为1000, 起始地址为VB1000。注意:本例子中,Modbus RTU 从站指令使用的库存储为VB0---VB780,这寄存器地址不能再被程序中的任何指令使用,包括MBUS_INIT和 MBUS_SLAVE指令在内。
b) 执行Modbus通讯协议:
c) 在CPU的V数据区中分配库指令数据区(Library Memory): 至此,通讯口配置完成。
2.2.2 编写PLC验证程序写PLC程序前请仔细阅读以下内容: 1)PLC地址对应表:
2)PLC读写功能码: 以上我们只读写Q/I/区的内容,使用的功能码为01/02/03/06/15(0F)。
3)注意事项 注:由子程序参数Hold Start和Max Hold指定的保持寄存器区,是在S7-200 SMART CPU的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通信。注意Modbus中的保持寄存器区按“字”寻址,即Max Hold规定的是VW而不是VB的个数。 PLC Modbus初始化时,规定了 Modbus 保持寄存器区从 VB1000 开始(Hold Start = VB1000),并且保持寄存器为1000个字(Max Hold=1000),因保持寄存器以字(两个字节)为单位,实际上这个通信缓冲区占用了VB1000~VB2999共2000个字节。因此分配库指令保留数据区时至少要避开 VB1000~VB2999 区间。 另外,尤其注意选用的CPU的V存储区大小。CPU型号不同V数据存储区大小不同。应根据需要选择Modbus保持寄存器区域的大小。 因为VW以字为单位且起始地址为VB1000,则对应地址如下: VW1000->40001 VW1002->40002 VW1004->40003 ... VW1010->40005 ... VW1020->40010
2.2.2.1 外部输出线圈的读写(Q0.3)此例不需要PLC编写程序;
2.2.2.2 外部输入线圈的读写(I0.0)此例不需要PLC编写程序;
2.2.2.3 变量实时读写本程序共读取两个变量,变量1在触摸屏上属性为“读写”对应PLC地址为VB1010,当变量1=100时,Q0.0点亮,其他值Q.0熄灭,变量2再触摸屏属性为“只写”,对应PLC地址VB1012,通过PLC编写程序实现变量得自加,每1S增加1,当变量大于10时,从零开始计数,往复循环当变量大于5时,Q0.点亮小于5时,熄灭,PLC程序如下: PLC程序链接:详见压缩文件“《西门子PLC工程》——PLC程序”。
2.2.3 触摸屏软件配置1、触摸屏工程文件: 详见压缩文件“《西门子PLC工程》——DGUS Ⅱ触摸屏程序”。 2、触摸屏OS程序: (1)触摸屏OS程序主要实现功能为读写“输出线圈Q0.3”,读取“输出线圈状态(I0.0)”,读写“VB保持寄存器”状态。 (2)OS程序链接:详见压缩文件“《西门子PLC工程》——OS_SIEMENS”。
|