在做项目或者设备时,我们常常需要对系统网络中设备的通讯状态做诊断,以便用户快速的了解当前网络中设备的状态。下面我们简单介绍一下AB EtherNet IP 网络中,设备及其端口的通讯状态诊断方法。
测试软硬件平台
软件平台:Studio 5000 V33
硬件:1769-L18ERM-BB1B\1769-L36ERM\1734-AENTR
读取以太网设备的通讯状态
在Studio 5000中新建一个工程,按照实际硬件组态好1769-L36ERM的CPU,在Ethernet网络上组态1734-AENTR的point IO和1769-L18ERM的CPU:
在MainProgram中写以下程序:
1734-AENTR的网络状态读取:调用GSV指令,Class Name:Module,InstanceName:选择Ethernet网络中的1734-AENTR设备,Attribute Name:EntryStatus,Destin:新建的Int型标签LinkStatus;
1769-L18ERM的网络状态读取:调用GSV指令,Class Name:Module,InstanceName:选择Ethernet网络中的1769-L18ERMCPU,Attribute Name:EntryStatus,Destin:新建的Int型标签LinkStatus2;
将程序下载到CPU中在线监视,我们可以看到网络状态正常时,读取到的LinkStatus值为16384(16#4000);
我们将网线拔掉,可以看到读到的LinkStatus值为4096,通过对GSV指令读过来的值进行比较,我们就能判断出当前EtherNet网络上以太网设备的通信网络状态。
以上方法对网络上的变频器等以太网IO设备同样适用。
附:GSV Module属性中EntryStatus的说明
—
读取模块的以太网端口状态在程序中添加两条MSG指令,并创建对应的状态标签,如下:
MSG_L18_1为读取CPU端口1的状态,配置如下:
MSG_L18_2为读取CPU端口2的状态,配置如下:
通讯路径按如下配置:
如上所述,对于以太网模块或设备,第一个以太网通讯口的Instance设为1,第二个以太网通讯口的Instance设为2,第三个以太网通讯口的Instance设为3,其它配置参照上方。通讯路径的设置最好如上所示,点Browse去选到对应的以太网设备。
将程序下载到PLC中并运行,我们可以看到LinkStatus里0位的值:
将PLC网口的网线拔掉,此时可以看到两个LinkStatus的0位值都为0:
以上方法可用于1756-ENBT、1756-EN2T、1756-EN2TR、1756-EN3TR、1734-AENT、1734-AENTR、1794-AENTR、1783-ETAP、1769CPU、5069CPU、1756-L8X CPU等设备。
有需要详细资料的朋友可以后台联系索取。