NET400 系列智能控制器说明书(四)

五. NET400 485/232 通讯设备应用
NET400 包含最多 4 RS485 端口和一个 RS232 接口,内置多种主、从通讯协议,可连接多种设备,最大可支持多达 2000 点的通讯变量。 NET400 支持的设备包括:人机界面(HMI)、可编程控制器(PLC)、 智能网关、板卡、智能仪表、智能传感器,变频器等等。
NET400 支持的通讯协议及协议的数据类型介绍可以参考通讯协议手册( GrmDev_Driver.pdf),在GRMDev6 开发环境的帮助菜单中可以打开。
NET400 作为主机时,通常和 PLC 或者采集网关,变频器等连接,主动采集 PLC 的数据。


NET400 做 485/232 通讯主机的配置
NET400 作为主机时,使用方法如下:
1) 使用 GRMDev6 开发工程,根据链接设备的属性配置通讯端口。
2) 在通讯端口下,建立通讯设备。
3) 在数据词典中,将变量关联到相关通讯设备的 PLC 寄存器地址。
4) 将工程下载到 NET400


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


image.png

协议参数
读优化:对于不连续地址的数据读取,是否采取打包读。选择 YES,则系统使用打包读命令,一次性完成多个地址的读取。
读优化间隔:读优化时,若地址之间小于此间隔,则会打包到一起,使用多读命令一次读取。
最大包长:一次通讯允许的最多变量的长度,单位为字。 如上图所示,表示一次最多允许读取 60 个字的变量,即 120 个字节。
字节顺序:调整 32 位整数或 32 位浮点数的解码顺序。对于 Modicon PLC 及支持标准 MODBUS ASCIIPLC 及控制器等设备, 请设置为“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:表示 NET400 直接按收到的字节顺序解码。以上数据解码 0X000C162E ,即十进制整数 792110
字节顺序设置为
2143:表示双字元件高低字不颠倒,但字内高低字节颠倒。以上数据解码 0X0C002E16, 即十进制整数 201338390
字节顺序设置为
3412:表示双字元件高低字颠倒,但字内高低字节不颠倒。以上数据解码 0X162E000C, 即十进制整数 372113420
字节顺序设置为
4321:表示双字元件内 4 个字节全部颠倒。以上数据解码 0X2E160C00, 即十进制整数 773196800


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


image.png

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

image.png

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

1.2 添加通讯设备
设备是指带有通讯口的 PLC 或者各类控制板,采集卡,变频器等。在工程管理器中, 相应的通讯端口上点击右键, 选择新建设备

image.png

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

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

image.png

IO 设备:选择工程中已定义的设备,如上图选择的定义的设备“PLC 从站 1”。
寄存器类型:与连接的从机设备类型有关,不同设备选择不同的寄存器。
只写不读: NET400 不读取变量对应的寄存器,只能写该寄存器。某些 MODBUS 设备并未完整实现 MODBUS 协议,对某些寄存器的读不响应,这时请勾上此选项。
其他协议和其他任何情况请不要勾选。
IO 数据类型: IO 数据类型必须和从机设备中原始数据的实际类型一致。变量类型一般应和 IO 数据类型选为一样,除非需要类型转换。
例如:从机
PLC 内部的寄存器是浮点数形式存储,温度为 25.3 度, IO 数据类型必须选为浮点数。
若希望在
NET400 上只看到整数部分,可以将变量类型设置为整数,这样在 NET400 上看到的数据就是 25 度。
地址: PLC 中寄存器的地址。
线性转换:线性转换是将采集到的 IO 设备中的值(即原始值)与工程中实际应用值(即工程值)按照固定的比例系数进行转换,转换关系如图所示。
自定义字节顺序:仅对 MODBUS 协议有效,可指定变量的字节顺序,如变量不指定,则和端口设置的字节顺序一致。
image.png

举例: 有一个 IO 设备为电压仪表,在实际电压为 0 时产生 0 值,在满量程 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
NET400 作为主机时,一个串口下可以连接多个相同协议的 PLC,将 485 AB 并联在一起即可.下图以西门子 200 的接线为例。


image.png

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


1.5 设备通讯故障判断和诊断
判断通讯故障的方法:
1:通过数码管显示查看故障代码,如果对应串口有故障,会显示故障代码
2: 通过 GRMDEV 实时查看变量,如果变量数值显示--,表明该变量通讯故障。 如果系统变量$COMERROR 1 表示该 COM 口通讯有故障,
3: 通过 GrmLanWebServer 实时查看变量,如果变量数值显示--,表明该变量通讯故障。 如果系统变量$COMERROR 1 表示该 COM 口通讯有故障, 4:通过串口对应的通讯指示灯(R,T),通讯正常应该为 R ,T 均匀交替闪烁


1.6 485 通讯故障排查方法

image.png

1.7 485 通讯的其他异常
1)未出现前面的通讯故障,但是修改不了某个数据。
答:通常是由于
PLC 也在修改此数据。这样导致 NET400 发出了写,但是数据又被 PLC 改成其他值了。或者检查一下该数据的寄存器地址,是否正确, PLC 中该寄存器是否允许通过通讯修改?
2)未出现前面的通讯故障,但是 NET400 上的数据和 PLC 中的数值不一致。
答:通常是由于数据类型原因,在设置变量属性时,
IO 数据类型必须和 PLC 中原始数据的实际类型一致。如果使用了线性转换,请检查线性转换的配置是否正确。


1.8 设备特殊寄存器
NET400 的一个 485 通讯端口下,同时挂有多个从站时,特殊寄存器可以用来识别是哪个从站通讯故障,或者单独禁用某个从站!
注意:只有当
NET400 某个 485 通讯端口下全部从站都通讯故障时, $COMERROR 变量才会为 1.

image.png

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

image.png










推荐

  • QQ空间

  • 新浪微博

  • 人人网

  • 豆瓣

收起

取消
  • 首页
  • 电话
  • 留言