EG网关串口连接威纶通触摸屏应用案例
威纶通触摸屏广泛应于工业控制领域,是一款性能高,运行稳定的人机交互设备。此次我们要把威纶通的触摸屏通过Modbus-RTU协议连接EG系列网关,实现电脑Web页面和手机APP对威纶通触摸屏的远程数据采集和读取。本案例使用的是威纶通MT8101iE触摸屏。
一、 准备工作
1.1 我们需准备如下物品
- 威纶通MT8101iE触摸屏一台(或电脑仿真运行)。
- USB转232数据线一条(如果电脑有串口可以免去此线)。
- EG系列网关一台。天线和电源适配器(以下用EG20网关作为实例)。
- SIM卡一张,有流量,大卡(移动联通电信)。
- DP9针母头一个。
- 联网电脑一台。
- 电工工具、导线若干。
物料准备如下;
1.2 EG系列网关准备工作
我们需要对网关(其他EG系列网关类似,以下均以EG20网关来介绍)连接天线、插上SIM卡(移动/联通/电信卡,大卡)或者使用能够上网的网线插入EG20的WAN口、连接12V或24V的电源适配器,使网关能够成功登录到平台。
1.3 触摸屏准备工作
触摸屏连接24VDC电源,准备一颗9针串口头,用一个双绞线分别焊接的6和9引脚(威纶通触摸屏说明书有介绍,6和9引脚为485通讯口,其他型号如有变化,以威纶通说明书为准)。
将触摸屏接好485通讯线,连接到EG系列网关端子上,触摸屏串口引脚9对应EG20网关的485A端子,引脚6对应EG20网关的485B端子。如下图的所示。
接口 | PIN | 引脚定义 | |
COM2 | 1 | RS485B | |
2 | RS485A | ||
COM3 | 6 | RS485B | |
9 | RS485A |
第一步,新建一个威纶通MT8071lE/MT8101iE(800×480)工程,在弹出的窗口中选择“新增”按钮,在“PLC类型”中选择“MODBUS IDA”中的“Server”选项。设置MODBUS Server串口参数、站号,如下图。设置完成后点击确定保存,此时我们的MODBUS Server从站设备建立完成。
第二步,在空白窗口中新建6个数据名称(实时1、实时2、实时3、实时4,读写1和读写2),然后新建6个数值显示单元,分别为数值显示单元连接LW0、LW1、LW2、LW3、LW9和LW10变量,如下图。
威纶通屏内部寄存器空间与Modbus寄存器对应关系如下图:
寄存器说明1:RW0对应Modbus寄存器410000(读写寄存器,4为保存寄存器标志,平台只需写10000,寄存器类型为保持寄存器),同时RW0也可对应Modbus寄存器310000(输入寄存器,3为只读寄存器标志,平台寄存器地址只需写10000,寄存器类型为输入寄存器)
寄存器说明2:LW0对应Modbus寄存器400001(读写寄存器,4为保存寄存器标志,平台只需写1,寄存器类型为保持寄存器),同时LW0也可对应Modbus寄存器300001(只读寄存器,3为只读寄存器标志,平台寄存器地址只需写1即可,寄存器类型为输入寄存器)
寄存器说明3:LB0对应Modbus寄存器100001(读写寄存器,1为离散输入标志,平台只需写1,寄存器类型为离散输入),同时LW0也可对应Modbus寄存器000001(只读寄存器,0为线圈标志,平台寄存器地址只需写1即可,寄存器类型为线圈)。
此时触摸屏的设置全部完成,保存工程选择下载程序到触摸屏或在电脑上在线仿真程序。接下来就是连接设置EG20网关和设置EMCP平台了。
三、EMCP平台设置
在对EMCP平台进行设置之前,首先确认EG20网关和仪表的RS-485线是否连接无误。
用管理员账号登录EMCP平台www.lfemcp.com (建议使用360浏览器极速模式、谷歌浏览器(Google Chrome)或者支持Chromium内核的浏览器),对EMCP云平台进行设置。登录EMCP后首先进入设备列表显示页面,因为我们未创建任何设备,所以是一个空页面。
步骤:点击【后台管理】(只有管理账号才有此权限)→【设备中心】→【EG设备管理】→【+新增】→填写设备信息→点击【保存】。其中,【设备名称】必填,其余选项均可不填。
3.2 远程配置网关
远程配置最主要两个地方需要配置,一是配置网关485通讯参数,二是在平台上创建触摸屏的设备驱动,下面分步骤对此功能进行讲解。注:网关只有在线后才可以进行远程配置。
3.2.1绑定模块
点击【保存并下一步】进入【②:网关、驱动管理】→直接填写【SN编号】和【验证码】→点击【确定】即可,【备注】选填。
SN和验证码在网关的机壳标签上,SN为12位纯阿拉伯数字,验证码为6位纯大写英文字母。【备注】可以根据需求填写,编辑完成后点击【确定】。
此时在“网关基本信息中”可以看到绑定的网关是否连接到平台。(成功登录平台可以看到“在线”绿色字样,如果不成功则显示“离线”灰色字样,此时请检查网络或网络信号或重启设备)
3.2.2 通讯参数设置
我们要使用RS-485和威纶通触摸屏进行通讯,所以我们要设置EG20网关的RS-485口通讯参数。
步骤:点击【通讯口设置】→选择【RS485设置】→在弹出窗口中填写【波特率】、【数据位】、【数据校验】、【停止位】→点击【保存】。
3.2.3创建设备驱动
在通讯参数设置完成后,点击界面中央的【添加驱动】→填写设备驱动信息→【保存】。或者点击【+新增】也可以进行添加驱动的操作。
【通讯口】:在下拉选项中选择RS485。
【通讯口配置】:此按钮可设置通讯口参数,和之前的步骤设置相同,如果之前设置过,则不需要再次点击此项。
【驱动名称】:必填项,自定义即可。
【品牌】、【型号】:必填项,如图所示,分别选择“通用ModBus设备”和“Modbus RTU”。
【设备地址】:必填项,为网关所连设备的Modbus从站地址(范围1-255),此地址必须和触摸屏设置的“设备地址”一致,所以图中设置为1。
高级配置介绍:
【最小采集时间】:是网关采集设备数据的时间间隔,单位:ms。如设置1000ms,即网关1s采集一次设备数据。
【通讯等待时间】:网关接收通讯数据等待时间。可根据需要进行调整,默认1000ms。
【16位整型】、【32位整型】、【32位浮点型】:是指对应数据类型的解码顺序。如果厂家给的表格没有标明,建议不要进行修改,直接选择默认即可。
【分块采集方式】:0— 按最大长度分块:采集分块按最大块长处理, 对地址不连续但地址相近的多个分块,分为一块一次性读取,以优化采集效率;1— 按连续地址分块:采集分块按地址连续性处理,对地址不连续的多个分块, 每次只采集连续地址,不做优化处理。直接选择默认即可。
【4区16位写功能码】:写4区单字时功能码的选择。直接选择默认即可。
3.3添加变量
步骤:点击【步骤③:变量管理】→【+添加变量】→填写变量信息→【保存】。
【仪表、PLC】:选择刚才创建的“威纶通触摸屏”驱动即可。
【变量名称】:自定义即可,必填项。
【单位】:自定义即可,选填项。在列表展示时,变量会带上单位展示。
【寄存器类型】:为模块读取设备MODBUS寄存区的标志符。具体地址可参考第二部分的寄存器说明。
【寄存器地址】:地址填写时不带寄存区标志符。例如:触摸屏中创建的变量“实时1”对应的地址为40001,则【寄存器类型】选“保持寄存器(4x)”,【寄存器地址】写“1”即可。
【读写方式】:可选择变量的读写方式,根据需求修改。注意离散输入和输入寄存器不能选择“读写”。
【数据类型】:根据需要选填即可。
点击高级配置有如下显示:
【小数位数】:根据需要选填即可。
【死区设置】:根据需要填写即可。更详细的说明请参考后面的“?”帮助。
【采集公式】【写入公式】:根据需要填写即可。更详细的说明请参考后面的“?”帮助。
【状态列表】:可将数值直接与文本映射。如值为“10”,映射字段为“设备故障状态”,则当采集到变量的值为“10”时,会直接在设备监控和历史报表中显示“设备故障状态”。
添加完成后变量管理如下图所示,此时可以点击【数据调试】按钮检查数据是否正确,减少切换前台看数据的次数,同时可以点击右上方的【预览】,快速进入前台监控界面进行查看。
3.4报警信息设置
可以根据需要给变量设置报警,当产生报警时,会在电脑网页端进行报警展示,在手机APP和微信进行报警推送。设置步骤:点击需要报警的变量后面的【报警】→【新增】→填写报警信息与条件→【确定】。如下图所示:
3.5历史报表管理
创建完变量后可以点击“④历史报表管理”根据自己的需求创建历史报表。【历史报表】可以满足不同的应用场景下,来记录历史数据,【历史曲线】是根据报表生成的曲线,方便客户以曲线形式查看变量变化趋势。如下图界面所示:
周期存储:按照固定时间间隔,定时对数据存储记录。
条件存储:当某一变量到达一定条件,对部分数据进行“间隔存储”或“单次存储”。
变化存储:当某一变量变化超出一定范围后(高低限),对部分数据进行单次记录(如:某一数据报警后对关联数据进行记录)。
3.6 画面组态
点击【⑤组态管理】即可进入组态管理界面,此处可以设置数据监控中的展示方式(组态展示或列表展示,默认为组态展示)。可以在此处选择使用组态展示形式来展示对应数据规则。
如下图界面所示:
点击界面中间的组态界面列表后方的【编辑】项,进入编辑页面。通过组态编辑页面我们可以任意绘制图片、文字、数显框、按钮、指示灯、管道、设备等控件,详细功能请参考《EG设备组态编辑使用说明》。
四、实验效果
触摸屏显示效果:
用户登录EMCP平台(www.lfemcp.com),点击”威纶通触摸屏“设备的图片或设备名称进入设备即可查看、修改相关数据。
-
五、其他注意事项
5.1如平台无法读取触摸屏的数据的原因
1,威纶通触摸屏的Modbus从站没有创建成功。此时我们需要通过Modscan32主站软件对触摸屏进行通讯,如果无法读取触摸屏的数据那么说明触摸屏的Modbus从站没有创建成功。
2,通讯线接线错误。
3,数据创建失败,检查数据规则中所创建的设备是否正确。
5.2如何实现触摸屏PLC数据和内部寄存器的映射
如果要将PLC的数据经触摸屏上传到EMCP平台,如果只是数据实时采集而不向PLC写入,那么我们可以通过触摸屏编辑软件中的“资料传送”(元件->资料传送),打开如下图;
如果需要通过平台向PLC写入数据,那么通过上面的资料传送就无法满足了,我们可以使用威纶通触摸屏的宏指令功能实现触摸屏寄存器和PLC寄存器的双向映射。(注意:如需双向映射,那么该寄存器就不要再进行上面的资料传送了),宏指令编辑可点击菜单栏中的“工具->宏指令”新建一个宏指令,编辑内容如下。
编程代码如下:
macro_command main()
int a1,a2,a3 //创建a1,a2,a3临时中间变量
GetData(a1, "Local HMI", RW, 10, 1) //将RW10值付给a1。
GetData(a2, "Siemens S7-200 PPI", VW, 1000, 1) //将PLC中的VW1000值付给a2。
GetData(a3, "Local HMI", RW, 20, 1) //RW20为中间寄存器,起到数据中间传送作用。
if a1<>a3 then //如果a1不等于a3(即RW10不等于RW20)那么执行下面两行的指令操作 。
SetData(a1, "Siemens S7-200 PPI", VW, 1000,1 ) //将a1的值(即RW10)付给VW1000
SetData(a1, "Local HMI", RW, 20, 1) //将将a1的值(即RW10)付给RW20(保存RW10的值已便于下次比较)。
else //如果RW10的值主动发送改变(手写或平台写入后)
SetData(a2, "Local HMI", RW, 10, 1) //将VW1000付给RW10
SetData(a2, "Local HMI", RW, 20, 1) //将VW1000付给RW20(保存RW10的值已便于下次比较)。
end if
GetData(a1, "Local HMI", RW, 11, 1)
GetData(a2, "Siemens S7-200 PPI", VW, 1002, 1)
GetData(a3, "Local HMI", RW, 21, 1)
if a1<>a3 then
SetData(a1, "Siemens S7-200 PPI", VW, 1002, 1)
SetData(a1, "Local HMI", RW, 21, 1)
else
SetData(a2, "Local HMI", RW, 11, 1)
SetData(a2, "Local HMI", RW, 21, 1)
end if
end macro_command