GRM530 485/232通讯设备应用
GRM530包含2个RS485端口和一个RS232接口,内置多种主、从通讯协议,可连接多种设备,最大可支持多达2000点的通讯变量。GRM530支持的设备包括:人机界面(HMI)、可编程控制器(PLC)、 智能模块、板卡、智能仪表、智能传感器,变频器等等。
GRM530支持的通讯协议及协议的数据类型介绍可以参考通讯协议手册(GrmDev_Driver.pdf),在GRMDev3开发环境的“帮助”菜单中可以打开。
GRM530作为主机时,通常和PLC或者采集模块,变频器等连接,主动采集PLC的数据。在GRMDEVSample文件夹下有GRM530与西门子S7-200连接的示例工程。
GRM530作为从机时(GRM530仅仅支持作为MODBUS从机),通常和触摸屏连接。
GRM530做485/232通讯主机的配置
GRM530作为主机时,使用方法如下:
使用GRMDev3开发工程,根据从机的属性配置通讯端口。
在通讯端口下,建立通讯设备。
在数据词典中,将变量关联到相关通讯设备的PLC寄存器地址。
工程中定义和变量相关的各种报警,控制,查询。
将工程下载到GRM530。
运行时,GRM530会主动和通讯口上连接的从机通讯,循环采集定义的变量,并实现各种报警和网络远程读写功能。
GRM530解析值班人员发过来的手机短信,执行控制,查询,通过通讯口读写PLC寄存器。
1.1 配置通讯端口
在工程管理器左侧,在相应的通讯端口上点击右键,选择“编辑端口”,弹出下图所示“通讯端口编辑器”窗口。选择主机通讯协议,设置端口参数。下图以MODBUS协议为例,其他协议也是类似用法!
协议参数
★读优化:对于不连续地址的数据读取,是否采取打包读。选择YES,则系统使用打包读命令,一次性完成多个地址的读取。
★ 读优化间隔:读优化时,若地址之间小于此间隔,则会打包到一起,使用多读命令一次读取。
★ 最大包长:一次通讯允许的最多变量的长度,单位为字。如上图所示,表示一次最多允许读取60个字的变量,即120个字节。
★字节顺序:调整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:表示GRM530直接按收到的字节顺序解码。
以上数据解码0X000C162E ,即十进制整数 792110。
字节顺序设置为2143:表示双字元件高低字不颠倒,但字内高低字节颠倒。
以上数据解码0X0C002E16, 即十进制整数201338390。
字节顺序设置为3412:表示双字元件高低字颠倒,但字内高低字节不颠倒。
以上数据解码0X162E000C,即十进制整数372113420。
字节顺序设置为4321:表示双字元件内4个字节全部颠倒。
以上数据解码0X2E160C00,即十进制整数773196800。
端口参数
★ 超时时间:GRM530向设备发出命令后等待设备回应的时间,若超出超时时间,设备没有回应,则视为本次通讯失败。
★ 失败重试次数:第一次通讯失败后,允许重试的次数。超过此次数,则认为通讯故障($COMERROR=1)。
★ 通讯延时:GRM530向设备发出下一次通讯之前特地加入的延迟时间,主要是因为某些从机反应比较慢。一般使用协议默认值即可。
某些简单的MODBUS仪表,反应速度比较慢,可以加大延迟时间到1秒或者2S。
★ 尝试恢复间隔:在运行期间,如果有一台设备如PLC发生故障,则GRM530能够自动诊断,并停止采集与该设备相关的数据,但会每隔尝试恢复间隔去重新与该设备的通讯。
通讯过程举例:
通讯正常情况下:
如上图重试2次收不到该从机数据后,认为该从机设备通讯故障,$COMERROR=1,以后会跳过该从站的通讯,和没有故障的其他从站通讯,直到经过尝试恢复间隔后,按上图过程重试出错的从站。