威纶通触摸屏接入EMCP云平台


威纶通触摸屏广泛应于工业控制领域,是一款性能高,运行稳定的人机交互设备。此次我们要把威纶通的MT8101iE系列触摸屏连接到EMCP物联网云平台,实现电脑Web页面和手机APP对威纶通触摸屏的远程数据采集和读取。

一 准备工作。

1.1我们需准备如下物品;

1)威纶通MT8101iE触摸屏一台(或电脑仿真运行)。
2)USB转232数据线一颗(如果电脑主机有串口那就可以免去此线)。
3)河北蓝蜂科技的GM10-DTU模块一台。以及配带的232串口线和电源适配器
4)SIM卡一张,有流量,大卡。
5)DP9针母头一个。
6)联网电脑一台(WinXP/Win7/Win8/Win10操作系统)
7)电工工具、导线若干。
物料准备如下;

1.2 GM10-DTU准备工作

此处参考《GM10-DTU用户使用手册》进行操作,我们需要对DTU网关(以下均以GM10-DTU网关来介绍)连接天线、插上SIM卡(移动/联通流量卡,大卡),然后将 GM10 的 485 接口接到需要采集的设备上,一定要注意接线顺序。

1.3 触摸屏准备工作。

触摸屏连接24VDC电源,准备一颗9针串口头,用一个双绞线分别焊接的6和9引脚(威纶通触摸屏说明书有介绍,6和9引脚为485通讯口) 。
将触摸屏接好的485通讯线连接到GM10-DTU端子上,触摸屏串口引脚9对应GM10模块的485A端子,引脚6对应GM10模块的485B端子。

二,触摸屏从站创建。

第一步,新建一个威纶通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即可,功能码选择03),同时RW0也可对应Modbus寄存器310000(只读寄存器,3为只读寄存器标志,平台寄存器地址只需写10000即可,功能码选择04)
寄存器说明2:LW0对应Modbus寄存器400001(读写寄存器,4为保存寄存器标志,平台只需写1即可,功能码选择03),同时LW0也可对应Modbus寄存器300001(只读寄存器,3为只读寄存器标志,平台寄存器地址只需写1即可,功能码选择04)
寄存器说明3:LB0对应Modbus寄存器100001(读写寄存器,1为保存寄存器标志,平台只需写1即可,功能码选择01),同时LW0也可对应Modbus寄存器000001(只读寄存器,0为只读寄存器标志,平台寄存器地址只需写1即可,功能码选择02)。
此时触摸屏的设置全部完成,保存工程选择下载程序到触摸屏或在电脑上在线仿真程序。接下来就是连接设置DTU网关和设置EMCP平台了。

三,EMCP 平台设置。

用具有管理员权限的账号登录EMCP云平台(网址www.lfemcp.com),对EMCP云平台进行设置。具体操作参照《EMCP物联网云平台用户手册》。登录平台后首先进入设备列表显示页面,因为我们未创建任何设备,所以是一个空页面。点击右上角的“后台管理”按钮(只有管理账号才有此权限),进入EMCP平台的后台。

3.1平台远程配置DTU

打开【后台管理】→【模块管理】页面,将DTU绑定至此管理员账号,然后就可以使用【远程配置】功能来配置DTU的各项通讯参数和功能参数。最主要两个地方需要配置,一是与触摸屏通讯的串口参数,二是设置DTU定时采集触摸屏数据的Modbus通道参数,下面分步骤对此功能进行讲解。注:模块只有在线后才可以进行远程配置
3.1.1模块绑定
模块初始绑定密码是111111,直接点击绑定即可。
3.1.2 模块远程配置
模块的远程配置最好先“读取”再“写入”,只有写入成功后才表示该参数成功配置到DTU中,“写入”后也可以“读取”以检查之前的操作是否成功。
Modbus配置页详解:
设备从站号:为模块所连设备的MODBUS从站地址(范围1-250),此地址必须和触摸屏设置的“设备地址”一致。
功能码:为模块读取设备MODBUS寄存区的标志符。读“LB区”可选用“功能码01”或“功能码02”,读“LW区”和“RW区”可选用“功能码03”或“功能码04”。
起始地址:为模块所连设备的MODBUS寄存器读取的起始地址(不包含寄存区标识符如:410000只写10000即可,第一个4是寄存区标识符)。
数据长度:为模块读取设备数据的连续长度,图中的长度为10,既连续读取从400001到400010共10个数据。

3.2 新建数据规则

进入后台,首先显示的是【设备管理】,我们可以先跳过此页面,首先创建一个【数据规则】,点击网页左侧的【数据规则】进入规则设置页面,点击右上角的【新增】,在弹出的窗口中设置该【数据规则】的名称“威纶通触摸屏”和展示样式“列表展示”,我们可以选择【列表展示】或【组态展示】,【列表展示】:我们所添加的数据会以平台固定的列表样式展示,列表展示方式简单方便(数据测试阶段可选用列表展示)。【组态展示】:我们可以任意绘制设备数据的展示样式比如添加图形、图片、仪表盘、柱状填充和文字等内容(此功能类似传统的组态软件)。【数据规则】新建完后点击【实时数据】新增实时数据(DTU定时采集上传的数据),点击【读写数据】创建平台要对设备进行手动读写操作的数据。创建规则展示如下。
注:【实时数据】:是由DTU配置完成MODBUS通道后,按设定的采集间隔定时读取从站相应数据。
【读写数据】:无需在DTU配置MODBUS定时采集通道,可直接在平台对下位设备进行数据的读写操作。
报警设置,在已经创建好的实时数据中,点击对应数据的“报警”选项,进入报警设置页面。我们可以设定该数据的报警上下限和报警内容以及是否启用此报警。设定报警后当该数据超出报警上下限后平台会自动记录报警的时间和报警值,同时平台会向用户登录的APP推送报警消息(类似于微信的消息推送)。

3.3 新建设备

新建“设备”, 选择菜单“设备管理”-> “新增”新建一个设备“威纶通触摸屏”。新建设备是填写设备的基本信息。
1、选择设备匹配的图片(从本地上传,也可不选择,系统会以默认图片显示);
2、输入模块SN,输入要绑定的SN的编码,如果此SN之前未绑定,则会弹出绑定窗口进行绑定;
3、选择上面创建的数据规则“威纶通触摸屏”;
4、点击“地图”按钮选择设备所在的地理位置。完成后点击“保存”。

四,实验效果。

触摸屏显示效果。
用户登录EMCP平台(www.lfemcp.com),点击”威纶通触摸屏“设备的图片或设备名称进入设备。首先看到的是威纶通触摸屏定时采集数据的显示(实时数据),通过点击“读写数据”对威纶通触摸屏内部的数据进行读写。点击“历史数据”查看对定时数据采集的数据报表。如设备显示离线,需要重启DTU网关,显示如下
在手机安装《云联物通》手机APP(可通过电脑网页平台登录页右上角的二维码扫描下载,或各大应用商店下载),凭用户名和密码登录,进入设备列表后点击”威纶通触摸屏“设备,直接进入的是实时数据列表页面或组态画面(组态展示方式下),点击右上角菜单栏“三杠按钮”,弹出功能菜单,在菜单中点击“读写数据”对读写数据进行读写操作,点击“历史报表”查看设备的历史存储数据报表,点击“历史曲线”可查看各数据的历史趋势图,点击 “报警信息”查看该设备的报警记录,点击“设备详情”查看设备的详细信息或视频画面。

五,其他注意事项。

5.1 设备离线的原因

1,EMCP平台新建设备后未重启。EMCP新增设备后都需要重启对应的GM10模块。
2,SN码和密码绑定错误,EMCP平台所建设备的SN码必须和所连GM10模块的SN码相同(SN位于GM10右侧面标签),密码必须和DTU配置软件设置的密码相同(默认111111)。

5.2 如平台无法读取触摸屏的数据的原因。

1,威纶通触摸屏的Modbus从站没有创建成功。此时我们需要通过Modscan32主站软件对触摸屏进行通讯,如果无法读取触摸屏的数据那么说明触摸屏的Modbus从站没有创建成功。
2,通讯线接线错误。
3,数据创建失败,检查数据规则中所创建的设备是否正确。

5,3如何实现触摸屏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
-
-------------------END--------------------
河北蓝蜂信息科技有限公司
技术支持:400-808-6168
官方网站:www.lanfengkeji.com
帮助中心 帮助中心
大约 2 年前
2158

扫描下方二维码手机阅读文章

1 0