巨控GRM110无线模块使用说明书(5)

GRM110最多可以包含2个RS485端口,内置多种主、从通讯协议,可连接多种设备,最大可支持多达1000点的通讯变量。GRM110支持的设备包括:人机界面(HMI)、可编程控制器(PLC)、 智能模块、板卡、智能仪表、智能传感器,变频器等等。

GRM110支持的通讯协议及协议的数据类型介绍可以参考通讯协议手册(GrmDev_Driver.pdf),在GRMDEV5开发环境的“帮助”菜单中可以打开。

GRM110作为主机时,通常和PLC或者采集模块,变频器等连接,主动采集PLC的数据。

GRM110作为从机时(GRM110仅仅支持作为MODBUS从机),通常和触摸屏连接。

 

GRM110做MODBUS通讯主机的配置

GRM110作为主机时,使用方法如下:

1) 使用GRMDev5开发工程,根据GRM110连接的PLC的属性配置通讯端口

2) 在通讯端口下,添加通讯设备

3) 在数据词典中,设置IO变量属性将变量关联到相关通讯设备的PLC寄存器地址。

4) 如有需要,可以子在工程中定义和变量相关的各种事件控制,定时,交换。

5) 将工程下载到GRM110。

1.1 GRM110做MODBUS通讯主机配置通讯端口

在工程管理器左侧,在相应的通讯端口上点击右键,选择“编辑端口”,弹出下图所示“通讯端口编辑器”窗口。选择主机通讯协议,设置端口参数。下图以MODBUS协议为例,其他协议也是类似用法!

注意:如果通讯端口下已经建立有设备,又想选择其他协议的话,请先在设备上点右键删除改端口下的设备,才能更改其他协议。

图片1.png

协议参数

u 读优化:对于不连续地址的数据读取,是否采取打包读。选择YES,则系统使用打包读命令,一次性完成多个地址的读取。

u 读优化间隔:读优化时,若地址之间小于此间隔,则会打包到一起,使用多读命令一次读取。

u 最大包长:一次通讯允许的最多变量的长度,单位为字。如上图所示,表示一次最多允许读取60个字的变量,即120个字节。

u 字节顺序:调整32位整数或32位浮点数的解码顺序。对于Modicon PLC及支持标准MODBUS ASCII的PLC及控制器等设备,请设置为“3412”顺序解码。

例如,用03命令读取1号MODBUS从机的32位无符号整数,

01 03 00 00 00 02 C4 0B

串口收到的数据如下:

01 03 04 00 0C 16 2E B4 4C

其中,00 0C 16 2E为读取到的4个寄存器数值。

字节顺序设置为1234:表示GRM110直接按收到的字节顺序解码。

以上数据解码0X000C162E ,即十进制整数 792110。

字节顺序设置为2143:表示双字元件高低字不颠倒,但字内高低字节颠倒。

以上数据解码0X0C002E16  即十进制整数201338390。

字节顺序设置为3412:表示双字元件高低字颠倒,但字内高低字节不颠倒。

以上数据解码0X162E000C即十进制整数372113420。

字节顺序设置为4321:表示双字元件内4个字节全部颠倒。

以上数据解码0X2E160C00即十进制整数773196800。

端口参数

u 超时时间:GRM110向设备发出命令后等待设备回应的时间,若超出超时时间,设备没有回应,则视为本次通讯失败。

u 失败重试次数:第一次通讯失败后,允许重试的次数。超过此次数,则认为通讯故障($COMERROR=1)。

u 通讯延时:GRM110向设备发出下一次通讯之前特地加入的延迟时间,主要是因为某些从机反应比较慢。一般使用协议默认值即可。

某些简单的MODBUS仪表,反应速度比较慢,可以加大延迟时间到1秒或者2S。

u 尝试恢复间隔:在运行期间,如果有一台设备如PLC发生故障,则GRM110能够自动诊断,并停止采集与该设备相关的数据,但会每隔尝试恢复间隔去重新与该设备的通讯

通讯过程举例:

通讯正常情况下:

微信截图_20221217152121.png

通讯异常情况下:

假设某从机一直没有回应,失败重试次数设置为2次

微信截图_20221217153529.png

如上图重试2次收不到该从机数据后,认为该从机设备通讯故障,$COMERROR=1,以后会跳过该从站的通讯,和没有故障的其他从站通讯,直到经过尝试恢复间隔后,按上图过程重试出错的从站。

1.2 GRM110做MODBUS通讯主机添加通讯设备

设备是指带有通讯口的PLC或者各类控制板,采集卡,变频器等。

在工程管理器中,相应的通讯端口上点击右键,选择“新建设备”。

图片2.png

由于新建的设备使用已经建立的端口的完全相同的通讯协议,因此只需指定设备名和从机地址,从机地址和连接的PLC下面设置的必须一致。在GRM110的一个485口下,可以并联多个设备(设备使用相同的通讯协议,并具有不同的从机地址)。

图片3.png图片4.png

 

1.3 GRM110做MODBUS通讯主机设置IO变量属性

完成设备定义后,在数据词典中,双击需要配置的变量,在编辑对话框中可完成变量到设备寄存器的关联。下图所示,GRM110周期性读取MODBUS RTU从机设备“PLC从站1”的保持寄存器100的值,经过线性转换后把新值赋给变量“冷冻水出水温度”。

图片5.png

u IO设备:选择工程中已定义的设备,如上图选择的定义的设备“PLC从站1”。

u 寄存器类型:与连接的从机设备类型有关,不同设备选择不同的寄存器。

u 只写不读:GRM110不读取变量对应的寄存器,只能写该寄存器。

某些MODBUS设备并未完整实现MODBUS协议,对某些寄存器的读不响应,这时请勾上此选项。

u IO数据类型:IO数据类型必须和从机设备中原始数据的实际类型一致。

变量类型一般应和IO数据类型选为一样,除非需要类型转换。

例如:从机PLC内部的寄存器是浮点数形式存储,温度为25.3度,IO数据类型必须选为浮点数。

若希望在GRM110上只看到整数部分,可以将变量类型设置为整数,这样在GRM110上看到的数据就是25度。

u 地址:PLC中寄存器的地址。

u 线性转换:线性转换是将采集到的IO设备中的值(即原始值)与工程中实际应用值(即工程值)按照固定的比例系数进行转换,如上图,表示从PLC读到原始值后缩小10倍,比如从PLC中读到整数(INT16)数值206,在GRM模块中变为了浮点数20.6

线性转换关系如图所示。

图片7.png

?举例:有一个IO设备为电压仪表,在实际电压为0时产生0值,在满量程500V时产生1024的值。如果我们希望将采集的IO数据(0-1024)直接转换成实际对应的电压(0-500V),可以将变量“电压”设置如下:

最小原始值=0            最大原始值=1024

最小值=0                最大值=500

其转换比例=(500-0)/(1024-0)=0.4883

则:如果从IO设备送来的原始值为512时,变量“电压”的实际值512*0.488=250V。

1.4 GRM110做MODBUS通讯主机一个串口连接多个PLC

GRM110作为主机时,一个串口下可以连接多个相同协议的PLC或者仪表,将485的A,B并联在一起即可.下图以西门子110的接线为例。

图片8.png

要求PLC采用同样的协议,波特率,奇偶校验,停止位相同,从站地址设置为不同(在PLC编程软件里面也要设置从站地址)!

图片9.png

1.5 GRM110做MODBUS通讯主机挂在不同串口下的设备之间交换数据

典型应用: GRM110一个串口C0M2接西门子110 PLC,另外一个串口COM1接MODBUS仪表。

需要将MODBUS仪表的数据发送到西门子PLC。

图片10.png

1.    首先配置一个西门子200 PLC的变量,MODBUS的数据将发送到该变量的寄存器地址。

图片11.png

2.    配置MODBU仪表的变量

 

图片13.png

3.    使用定时器每秒将仪表数据传送到PLC即可,注意被写入的变量放在表达式的右边。

图片15.png

 

1.6 GRM110做MODBUS通讯主机设备特殊寄存器

GRM110作为主机时,连接的每个设备都包含下表所列的特殊寄存器。

当GRM110的一个485通讯端口下,同时挂有多个从站时,特殊寄存器可以用来识别是哪个从站通讯故障,或者单独禁用某个从站

注意:只有当GRM110某个485通讯端口下全部从站都通讯故障时,$COMERROR变量才会为1.

名称

地址

含义

禁用通讯标志

1

可读写。关联的变量值为1时表示禁止GRM110与该设备通讯,为0时表示允许GRM110与该设备通讯。关联的变量自动具有断电保存属性。

通讯错误标志

2

只读。关联的变量值为1时表示GRM110与该设备通讯故障,通讯恢复时自动清零。

通讯错误码

3

只读。当GRM110与该设备通讯故障时,关联的变量值表示故障原因。-1表示设备无响应,-2表示收到错误数据,其他数值含义因协议而异。

如下:可以建立一个变量,关联到该设备的特殊寄存器,表征该设备是否通讯故障:

图片16.png

GRM110做MODBUS通讯主机相关疑问请联系:

图片2.png