欢迎来到巨控湖南分公司|长沙聚控电子科技有限公司!

新闻资讯
联系我们
·地址:长沙星沙镇天华南路银河大厦
·电话/微信:15307483969 王工
·邮箱:54150175@qq.com
您现在的位置:首页>>新闻资讯>>新闻资讯>>巨控GRM230使用手册(八):485 通讯设备应用

巨控GRM230使用手册(八):485 通讯设备应用

巨控GRM230使用手册(八):485 通讯设备应用

GRM230 包含 个 RS485 端口,内置多种主、从通讯协议,可连接多种设备,最大可支持多达 1000 点的通讯变量。 GRM230 支持的设备包括:人机界面(HMI)、可编程控制器(PLC)、 智能模块、板卡、智能仪表、智能传感器,变频器等等。
GRM230 支持的通讯协议及协议的数据类型介绍可以参考通讯协议手册( GrmDev_Driver.pdf) ,在GRMDEV5 开发环境的帮助菜单中可以打开。
GRM230 作为主机时,通常和 PLC 或者采集模块,变频器等连接,主动采集 PLC 的数据。在GRMDEV\Sample 文件夹下有 GMR230 与西门子 S7-200 连接的示例工程。
GRM230 作为从机时(GRM230 仅仅支持作为 MODBUS 从机),通常和触摸屏连接。


GRM230 做通讯主机的配置GRM230 作为主机时,使用方法如下:

1) 使用 GRMDev5 开发工程,根据 GRM230 连接的 PLC 的属性配置通讯端口
2) 在通讯端口下, 添加通讯设备。
3) 在数据词典中, 设置 IO 变量属性将变量关联到相关通讯设备的 PLC 寄存器地址。
4) 工程中定义和变量相关的各种报警,控制,查询。
5) 将工程下载到 GRM230
6) 运行时, GRM230 会主动和通讯口上连接的从机通讯,循环采集定义的变量,并实现各种报警,
7) GRM230 解析值班人员发过来的手机短信,执行控制,查询,通过通讯口读写 PLC 寄存器。


1.1 配置通讯端口
在工程管理器左侧,在相应的通讯端口上点击右键,选择编辑端口”,弹出下图所示通讯端口编辑器窗口。选择主机通讯协议,设置端口参数。 下图以 MODBUS 协议为例,其他协议也是类似用法!
注意:如果通讯端口下已经建立有设备,又想选择其他协议的话,请先在设备上点右键删除改端口下的设备,才能更改其他协议。

image.png

协议参数
◆ 读优化:对于不连续地址的数据读取,是否采取打包读。选择 YES,则系统使用打包读命令,一次性完成多个地址的读取。
◆ 读优化间隔:读优化时,若地址之间小于此间隔,则会打包到一起,使用多读命令一次读取。
◆ 最大包长:一次通讯允许的最多变量的长度,单位为字。 如上图所示,表示一次最多允许读取 60 个字的变量,即 120 个字节。
◆ 字节顺序:调整 32 位整数或 32 位浮点数的解码顺序。对于 Modicon PLC 及支持标准 MODBUS ASCII的 PLC 及控制器等设备, 请设置为“3412”顺序解码。
例如,用 
03 命令读取 号 MODBUS 从机的 32 位无符号整数,
01 03 00 00 00 02 C4 0B
串口收到的数据如下:
01 03 04 
00 0C 16 2E B4 4C
其中, 00 0C 16 2E 为读取到的 个寄存器数值。
字节顺序设置为 
1234:表示 GRM230 直接按收到的字节顺序解码。
以上数据解码 
0X000C162E ,即十进制整数 792110
字节顺序设置为 
2143:表示双字元件高低字不颠倒,但字内高低字节颠倒。
以上数据解码 
0X0C002E16 即十进制整数 201338390
字节顺序设置为 
3412:表示双字元件高低字颠倒,但字内高低字节不颠倒。
以上数据解码 
0X162E000C, 即十进制整数 372113420
字节顺序设置为 
4321:表示双字元件内 个字节全部颠倒。
以上数据解码 
0X2E160C00, 即十进制整数 773196800

端口参数
◆ 超时时间: GRM230 向设备发出命令后等待设备回应的时间,若超出超时时间,设备没有回应,则视为本次通讯失败。
◆ 失败重试次数: 第一次通讯失败后,允许重试的次数。超过此次数,则认为通讯故障($COMERROR=1) 。
◆ 通讯延时: GRM230 向设备发出下一次通讯之前特地加入的延迟时间,主要是因为某些从机反应比较慢。一般使用协议默认值即可。
某些简单的 
MODBUS 仪表,反应速度比较慢,可以加大延迟时间到 秒或者 2S
◆ 尝试恢复间隔:在运行期间,如果有一台设备如 PLC 发生故障,则 GRM230 能够自动诊断, 并停止采集与该设备相关的数据,但会每隔尝试恢复间隔去重新与该设备的通讯。
通讯过程举例:
通讯正常情况下:

image.png

通讯异常情况下:
假设某从机一直没有回应, 失败重试次数设置为 

image.png

如上图重试 次收不到该从机数据后,认为该从机设备通讯故障, $COMERROR=1,以后会跳过该从站的通讯,和没有故障的其他从站通讯,直到经过尝试恢复间隔后,按上图过程重试出错的从站。
1.2 添加通讯设备
设备是指带有通讯口的 PLC 或者各类控制板,采集卡,变频器等。
在工程管理器中, 相应的通讯端口上点击右键, 选择
新建设备

image.png

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

image.png

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

image.png

◆ IO 设备:选择工程中已定义的设备,如上图选择的定义的设备“PLC 从站 1” 。
◆ 寄存器类型:与连接的从机设备类型有关,不同设备选择不同的寄存器。
◆ 只写不读: GRM230 不读取变量对应的寄存器,只能写该寄存器。某些 MODBUS 设备并未完整实现 MODBUS 协议,对某些寄存器的读不响应,这时请勾上此选项。
◆ IO 数据类型: IO 数据类型必须和从机设备中原始数据的实际类型一致。变量类型一般应和 IO 数据类型选为一样,除非需要类型转换。
例如:从机 
PLC 内部的寄存器是浮点数形式存储,温度为 25.3 度, IO 数据类型必须选为浮点数。若希望在 GRM230 上只看到整数部分,可以将变量类型设置为整数,这样在 GRM230 上看到的数据就是 25 度。
◆ 地址: PLC 中寄存器的地址。
◆ 线性转换:线性转换是将采集到的 IO 设备中的值(即原始值)与工程中实际应用值(即工程值)按照固定的比例系数进行转换, 如上图,表示从 PLC 读到原始值后缩小 10 倍,比如从 PLC 中读到整数(INT16)数值 206,在 GRM 模块中变为了浮点数 20.6
线性转换关系如图所示。

image.png

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

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

其转换比例=(500-0)/(1024-0)=0.4883
则:如果从 IO 设备送来的原始值为 512 时,变量电压的实际值 512*0.488=250V


1.4 一个串口连接多个 PLC


GRM230 作为主机时,一个串口下可以连接多个 PLC,将 485 的 A, 并联在一起即可.下图以西门子 230 的接线为例。

image.png

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

image.png

1.5 挂在不同串口下的设备之间交换数据
典型应用: GRM203G 一个串口 C0M2 接西门子 230 PLC,另外一个串口 COM1 接 MODBUS 仪表。需要将 MODBUS 仪表的数据发送到西门子 230PLC

image.png

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

image.png

2. 配置 MODBU 仪表的变量

image.png

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

image.png

1.6 设备特殊寄存器
GRM230 作为主机时,连接的每个设备都包含下表所列的特殊寄存器。
当 
GRM230 的一个 485 通讯端口下,同时挂有多个从站时,特殊寄存器可以用来识别是哪个从站通讯故障,或者单独禁用某个从站!
注意:只有当 
GRM230 某个 485 通讯端口下全部从站都通讯故障时, $COMERROR 变量才会为 1.


image.png

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

image.png


GRM230 做 MODBUS 通讯从机的配置


GRM230 作为从机时(GRM230 暂时只支持作为 MODBUS 从机),使用方法如下:
1) 使用 GRMDEV5 开发工程,根据主机的属性配置好通讯(协议请选择 MODBUS_RTU_SERVER) ,并在从机映射中,建立变量关联到 MODBUS 寄存器地址。
2) 工程中定义和变量相关的各种报警,控制,查询。
3) 将工程下载到 GRM230
4) 运行时, PLC 和 GRM230 通讯,读写 GRM 对应 MODBUS 寄存器地址的变量。 (也就是说 PLC 要写梯形图通过 MODBUS 读写指令主动来读写 GRM230 的数据)。
如果是触摸屏或者组态软件作为 
MODBUS 主站和 GRM230 通讯,直接通过脚本或者在画面上修改变量即可完成写 GRM230 数据的过程。
5) GRM230 根据变量及配置的条件,发出报警。
6) GRM230 解析值班人员发过来的手机短信,执行控制,查询变量,修改变量。


1.1 配置端口
在工程管理器左侧,在相应的通讯端口上点击右键,选择编辑端口,弹出下图所示通讯端口编辑器窗口。选择从机通讯协议,设置端口参数。
协议参数
◆ 从机地址: GRM230 作为从机时的从机号。

image.png

1.2 从机地址映射
在开发环境左侧从机地址映射窗口中点击新建地址单元按钮,弹出下图所示从机地址单元编辑器窗口。 支持全部范围的 MODBUS 寄存器地址映射,具体如下表。

image.png

下图完成了变量输入电流与 MODBUS RTU 地址的映射,当和 GRM230 连接的 MODBUS 主机读取 GRM230输出(保持) 寄存器 4X 区 号地址时(PLC 里面这种地址表示通常写为 40003) ,即可获取变量输入电流的值。

image.png

◆ 寄存器类型:与连接的主机设备类型有关,不同设备选择不同的寄存器。
◆ IO 数据类型:变量对应的寄存器在主机设备中定义的原始数据类型。
◆ 地址: 映射的寄存器的地址。


1.3 GRM230 做 MODBUS 从站典型应用


现场西门子 200 PLC 只剩余一个 PPI 口,需要同时连接一个触摸屏和 GRM 模块。
解决方法:使用巨控 
GRM233 无线通讯模块,该型号具备 个独立的 485 
GRM233 一个 485 口走 PPI 通讯作为主机连接西门子。
GRM233 另外一个 485 口做 MODBUS 从站,配置好从站地址和波特率,用于连接触摸屏。
1. 使用 GRMDEV 配置 个通讯口的协议和波特率等参数。
2. 使用 GRMDEV 数据词典,建立一个变量,比如温度 1,关联到西门子设备, VW100 地址。
3. 在 GRMDEV 从站地址映射里面,给该变量分配一个 MODBUS 地址,比如 4X 区地址 5
4. 触摸屏访问 40005 地址,即可实现读写西门子 PLC VW100 寄存器的目的!

image.png

image.png

1.4 组态王和 GRM 进行 MODBUS 通讯
假设组态王数据词典当中已经有一个变量为 西门子 PLC 温度,现在组态王需要把这个变量通过 MODBUS写入到 GRM230
1. GRM230 通过 485 和电脑直接连接即可。 组态王做 MODBUS 主站, GRM230 做 MODBUS 从站,协议选择如下,注意波特率,设备地址(对应 GRM230 的从站地址),奇偶校验,停止位和 GRM230 要一致。

image.png

2. 在组态王数据词典当中建立一个名 为 GRM 温度的变量,注意数据类型,还有勾选读写属性, MODBUS地址为 4X 区的 地址,即 40001

image.png

3. 在 GRM230 当中配置为 MODBUS 从站,注意使用浮点数时,为了和组态王默认字节顺序一致,请将GRM 中的协议参数的字节顺序改为 1234。如何配置 GRM230 为 MODBUS 从站请参考本章前节所述。
如下图, 
GRM 中变量名为温度,从站地址映射中选 4X 区地址 1,浮点数,和组态王对应。

image.png

4:在组态软件中用脚本赋值:
GRM 温度=西门子 PLC 温度;
这样就完成了组态王将西门子 
PLC 温度通过 MODBUS 写入到 GRM230 的过程