组态王串口接入EMCP云平台


组态王软件广泛应于工业控制领域,是一款性能高,运行稳定的工业组态软件。此次我们要把组态王软件连接到EMCP设备管理云平台,实现电脑Web页面、手机APP和微信对组态王软件内部R1/R2/R3/R4寄存器的远程监控和R5/R6寄存器的远程读写。

一 准备工作。

1.1我们需准备如下物品;

1) 安装好组态王软件的电脑一台(此案例安装的是组态王6.55版本)。
2) 河北蓝蜂科技的DTU模块一台,天线和电源适配器(以下用GM10-DTU作为实例)
3) SIM卡一张,有流量,大卡。
4) DP9针母头一个。
5) 电工工具、导线若干。
物料准备如下;

1.2 GM10-DTU准备工作

此处参考《GM10-DTU用户使用手册》进行操作,我们需要对DTU网关(WM10-DTU网关的设置和GM10类似,以下均以GM10-DTU网关来介绍)连接天线、插上SIM卡(移动/联通流量卡,大卡)、连接12V或24V的电源适配器。

1.3 组态王电脑准备工作。

在电脑安装组态王软件,准备一颗9针串口头(母头),用三条导线分别焊接DB9的2、3、5引脚,导线另一端接入GM10(232版本)的TXD、RXD、SGND接线端子,DB9串口接在PC串口上(如果电脑没有串口可选用USB-232线扩展)。
注意:需要先将模块的通讯数据口配置成232(参考“3.1远程配置DTU”部分),配置完成后再将GM10的TXD、RXD、SGND接线端子连接电脑串口。

二,组态王从站创建。

第一步,新建一个工程,命名为《测试》。
第二步,新建ModRTUServer设备驱动。选择连接DTU的电脑串口(这里我们选择COM1),首先双击COM口进行串口参数的配置(必须选择RS232哦),然后点击右侧窗口中的“新建”,在弹出的“设备配置向导”选择“设备驱动”->“PLC”->“莫迪康”->“ModRTUServer”-> “COM”。
第三步,定义设备名称;选择串口号。
第四步,定义设备地址;设置串口参数。地址格式Address:ReceiveTime,Address:1-255 设备地址,ReceiveTime:0-100 接受数据的时间。点击“下一步”进入右下角中的窗口,我们可以选择默认的设置或这如下图的设置。直至配置完成。
第五步,创建变量,此处我们创建Date01、Date02、Date03、Date04四个变量(实时数据),创建Control_1、Control_2两个变量(读写数据)。定义变量名(Date01),选择变量类型(I/0整数),选择连接设备“ModRTUServer”,选择寄存器类型“R1”,选择数据类型“USHORT”(无符号整形),选择读写属性“读写”,点击“确定”。如此方式分别创建Date02、Date03、Date04、Control_1和Control_2数据变量。
第六步,在“工程浏览器”中新建画面“首页”,双击“首页”进入画面编辑,选择文本控件,创建Date1-Date4/Control_1-Control_2/Display1-Display6显示文本。
第七步,将文本信息连接变量。选择“工具箱”箭头,双击“Date01_display”文本,在弹出的“动画连接”对话框中分别选中“模拟量输出”和“模拟量输入”选项。然后分别点击“模拟量输出”和“模拟量输入”按钮在弹出的对话框中进行如下设置(表达式:\\本站点\Date01,整数位:5,显示格式:十进制,对齐:居左)。这里只列举对“Date01_display”文本的显示设置,大家按同样方法分别对“Date02_display”、“Date03_display”、“Date04_display”、“Control_1_display”、“Control_2_display”进行设置。
第八步,运行工程,在菜单中选择“切换到 View”,在弹出的“运行系统”窗口中点击菜单中的“画面”->“打开”
在弹出的画面中双击“首页”打开工程画面。此时我们创建的工程就在右下图中显示了出来。我们可通过查看变量值和改变变量值(鼠标双击“00”对数据值进行更改)。

三,EMCP平台设置。

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

3.1远程配置DTU

打开“后台管理—>模块管理”页面,将DTU绑定至此管理员账号,然后就可以使用“远程配置”功能来配置DTU的各项通讯参数和功能参数。最主要两个地方需要配置,一是与组态王通讯的串口参数,二是设置DTU定时采集组态王数据的MODBUS通道参数,下面分步骤对此功能进行讲解。注:模块只有在线后才可以进行远程配置,也可以使用“DTU配置软件”对模块配置,参考文档《DTU配置软件使用手册》。

3.1.1模块绑定

模块初始绑定密码是111111,直接点击绑定即可。

3.1.2 模块远程配置

模块的远程配置最好先“读取”再“写入”,只有写入成功后才表示该参数成功配置到DTU中,“写入”后也可以“读取”以检查之前的操作是否成功。
Modbus配置页详解:
设备从站号:为模块所连设备的MODBUS从站地址(范围1-250),此地址必须和设备从站地址一样。要和组态王设置的MODBUS从站号一致。
功能码:为模块读取设备MODBUS寄存区的标志符。“功能码01”对应“线圈”(0XXXX),“功能码02”对应“离散量输入”(1XXXX),“功能码03”对应“保持寄存器”(4XXXX),“功能码04”对应“输入寄存器”(3XXXX)。
在组态王中,内部寄存器与功能码对应关系如下表:
起始地址:为模块所连设备的MODBUS寄存器读取的起始地址(不包含寄存区标识符)。图中1对应40001也就是组态王内部的R1。
数据长度:为模块读取设备数据的连续长度,图中的长度为10,既连续读取从40001到40010共10个数据。
标准DTU可连接多个从站(最多4个),可点击“新建”创建新子设备从站,配置规则按上述说明。
注:当DTU出现异常时,如无法连接网络在线,或者无法与组态王正常通讯,此时可以使用配置口(默认RS232)连接PC,使用“DTU配置软件”来查看状态及异常报警,详见《DTU配置软件使用手册》。

3.2 新建数据规则

点击网页左侧的“数据规则”进入规则设置页面,点击右上角的“新增”,在弹出的窗口中设置该数据规则的名称“组态王6.55”和展示样式“列表展示”,我们可以选择列表展示或组态展示,列表展示:我们所添加的数据会以固定的列表样式展示,列表展示方式简单方便(数据测试阶段可选用列表展示)。组态展示:我们可以任意绘制设备数据的展示样式比如添加图形、图片、仪表盘、柱状填充和文字等内容(此功能类似传统的组态软件可参考《EMCP平台画面组态使用说明》文档)。数据规则新建完后点击“实时数据”新增实时数据(3.1.2中设置的Modbus配置),点击“读写数据”创建平台对设备手动读写操作的数据。创建规则展示如下。
实时数据:是DTU根据所配置的Modbus采集通道(参考上面的3.1介绍),按设定的采集间隔定时读取组态王数据并上传到平台的数据,这里我们设置R1、R2、R3和R4四个数据,设置如下;
读写数据:无需在DTU配置Modbus定时采集通道,可直接通过平台对下位设备进行数据的手动读写操作,组态王内部地址对应的读写功能码如下表:
注意:实时数据必须和模块的Modbus规则配置对应,而读写数据无需对DTU进行modubs规则配置,直接在平台读写数据列表中添加数据即可。
EMCP平台所有"寄存器地址"设置均不需要带寄存器区标识符,如读写“保持寄存器”(03功能码)中40001的数据,在平台数据规则中的"寄存器地址"填写1即可。
报警设置,在已经创建好的实时数据中,点击对应数据的“报警”选项,进入报警设置页面。我们可以设定该数据的报警上下限和报警内容以及是否启用此报警。设定报警后当该数据超出报警上下限后平台会自动记录报警的时间和报警值,同时平台会向用户登录的APP和微信推送报警消息。

3.3 新建设备

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

四,实验效果。

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

五,组态王内部设备之间数据传递方法。

一般的项目应用中,组态王一般都是采集下位的PLC和仪表等设备的数据并进行组态展示。在组态过程中,一般都是直接利用组态王内部的PLC驱动来进行通讯。同时,在数据词典中添加的数据,一般连接的地址都是PLC内部地址,如下图,西门子S7-200 PLC与组态王通讯的数据形式:
上文讲到了,在组态王创建一个ModRTUServer之后,云平台就可以与组态王内部寄存器通讯了。问题来了,云平台如何通过组态王内部寄存器读写西门子S7-200 PLC的数据呢?下面为大家提供一种解决方案。
以上文提到的S7-200 PLC的 VW1000数据为例,为大家演示。
第一步:创建一个新数据“内部VW1000”,连接ModRTUServer设备,如下图:
第二步:在组态王的命令语言菜单中的应用程序命令语言中添加一个新的命令。选择”运行时”,间隔任意设置(建议3000ms)
第三步:使用组态王的命令语言,输入命令,令,内部VW1000 = VW1000。
通过以上三步骤,就可以实现,每隔3秒钟,组态王会将采集到的VW1000数据写入到内部寄存器R1。这样,平台就可以采集到这个数据并进行展示。
第四步:在组态王的命令语言菜单中的数据改变命令语言添加一个新的命令。
第五步:通过右侧“?”按钮,选择使能变量,此处选择内部VW1000,并在下方输入判断命令,来实现,当内部VW1000出现变化时,且VW1000的值与内部VW1000不相同时,将内部VW1000的值写入到VW1000。
通过第四和第五步,就可以实现,当通过平台更改组态王内部R1寄存器数据的时候,将R1的数据写入到西门子PLC的VW1000。
针对不同的数据,重复上述的方法就可以实现通过云平台对PLC内部数据的读写。

七,故障分析。

7.1 设备离线的原因

1.SN码和密码绑定错误,EMCP平台所建设备的SN码必须和所连GM10模块的SN码相同(SN位于GM10右侧面标签),密码必须和DTU配置软件设置的密码相同(默认111111)。
2.SIM卡选择不对,必须选择移动或联通的SIM(部分联通卡不兼容,建议选用移动卡)。
3.SIM卡欠费。
4.网络信号差,DTU在信号强度低于15或误码率高于3时会出现掉线或无法联网的情况,最好保证信号强度在20以上误码率为0(可通过改变天线的安放位置调整信号强度,信号强度可通过DTU配置软件或平台模块远程配置中获得。)

7.2 如平台无法读取组态王的数据的原因。

1.组态王的Modbus从站没有创建成功。此时我们可以通过Modscan32主站软件搭配虚拟串口对组态王进行通讯测试,如果无法读取组态王的数据那么说明组态王的Modbus从站没有创建成功。
2.接线错误。检查组态王接线引脚与DTU的接线引脚是否定义正确,且是否牢固。
3.数据创建失败,检查数据规则中所创建的设备是否正确。
4,如果显示“数据未采集”,请检查模块的“远程配置”是否设置了Modbus采集通道,参考3.1.2中的设置。
--------------------END--------------------
河北蓝蜂信息科技有限公司
技术支持:400-808-6168
官方网站:www.lanfengkeji.com
帮助中心 帮助中心
6 个月前
333

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