平台数据显示不正常解决方法


1、报警记录里面的故障代码是什么意思?

常见的故障代码有10从站设备返回乱码,11 从站设备读取超时。
GM/WM系列:
当报返回乱码时,很大概率是由于使用串口通讯时设置的通讯参数设置有问题,同时需要检查接线。建议将平台网关配置成和下位机相同的通讯参数。需要判断是否存在干扰问题,可以换一条屏蔽线试试看
当报读取超时时,需要检查接线、有些下位机需要做MODBUS通讯程序。同时需要检查MODBUS参数配置。
EG系列:
当采集数据出现问题时,建议先将驱动里的【分块采集方式】改成【按照连续地址分块】。然后再检查接线、干扰等方面的问题。

2、变量数据实时采集正常,但进行写入时不正常,如何解决?

1、确认读写数据的地址是否正确。
2、确认下位机设备支持的写功能码(05,06,16)。
3、确认下位机设备(单片机、仪器仪表或PLC)对读写是否有限制。有些设备的某些地址只支持读取,不支持写入。
4、写入时如果平台提示写入正常,但是被实际采集到的数据不变化,此类问题常见于PLC。一般都是PLC程序刷新寄存器时将此地址数据覆盖了,建议更换一个程序中没有使用到的地址或者做一个手动控制程序。
5、检查网关的固件版本,是否最新版的,如果不是最新的固件版本,建议升级到最新固件版本。

3、前台实时数据不正常,读写数据正常

GM/WM系列:
1、modbus配置中的实时数据定时采集表是否配置。此系列产品是通过modbus通讯的,这个表就是用于告诉网关我需要自动采集的是哪些数据。如果此处不进行配置,实时数据是不会自动采集的。
2、modbus表中是不是包含实时数据中所有的变量地址。当出现一部分实时数据有数据时需要检查表中每条采集列表的数据长度,如果长度不够则不会自动采集。见本文第4个问题解方案。
3、modbus中的每条通道是否包含了根本读不到,或者下位机中不存在的地址。以上方式不能解决问题时,需要检查此项,方法就是把数据长度变短,一点一点的采集来定位是哪个寄存器地址有问题。
注意:台达PLC每次读取做多读取100个地址的变量,超出的地址不能在一个通道内读取,必须另建通道。这是台达PLC自己的限制。
EG系列:
表现为数据测试有数据,前台没有数据。同时前台报设备读取超时。此问题常见于一些仪器仪表。
解决方法:在EG设备管理步骤②中将【分块采集方式】修改为【1---按连续地址分块】
    注意:虽然此系列产品没有通道的限制,但是对于台达PLC来说,不论平台使用【连续地址】或者【最大长度】,均不能自动分辨是不是已经有了100个连续变量。所以在此建议客户在使用GE设备连接台达PLC时大概90个连续地址之后空一个地址在配合【连续地址】进行使用,手动让EG系列设备做出分段。

4、实时数据中,有些实时数据可以采集到的,有些采集不到如何处理?

①检查【后台管理】-【模块管理】-【远程配置】-【Modbus配置】-【读取】-【实时数据定时采集列表】里面数据起始地址和数据长度有没有覆盖到采集不到的数据地址。 如果有,建议修改长度。
②检查【后台管理】-【模块管理】-【远程配置】-【Modbus配置】-【读取】-【实时数据定时采集列表】里面有没有包含非法地址,常见于仪器仪表没有的地址,被包含到通道里。如果有,建议增加通道。
③检查【后台管理】-【模块管理】-【远程配置】-【Modbus配置】-【读取】-【实时数据定时采集列表】里面03功能码的数据长度有没有超过西门子PLC程序块中设置的读取长度,比如SMART200PLC指令块MBS_Connet_0里MaxHold设置的值,或者1200/1500PLC指令块MB_SERVER里MB_HOLD_REG设置的WORD后面的值。

5、EG系列设备在数据测试时可以有数据,但是前台数据没有如何处理?

这种问题常见于一些仪器仪表。
如果出现类似问题,需要去对应仪表的驱动中将【高级配置】中的【分块采集方式】修改为
【1——按连续地址分块】。大部分问题就可以解决。

6、CLC-16R的0-20mA输入不准的如何解决?

1、0-20mA兼容4-20mA。
2、0-20mA采集的是下位机设备的电流值,并不是实际值。举例:0-20mA可以对应0-100,也是可以对应0-200的,但是不论对应多少,电流始终是0-20mA。
3、CLC-16R出厂测试程序中,0-20mA设定的上下限是0-2000,测试过程中输入10mA,CLC中显示的是989左右(实际上2150测试出来的电流比较准确)。
4、另外,由于采集的是电流值,对应实际值是有换算系数或者公式的,但是模拟量数据不是绝对线性的关系,换算前或换算后都会存在误差。
如果想要CLC中展示实际值,有如下方法:
调整方案一、手动调整程序上下限。
           优点:方法比较直接,适用于数据变化范围不大的仪表。
           缺点:只是对应某一个值可能比较准确,其他位置偏差可能会比较大。
调整方案二、根据实际值做公式处理,对4-20mA等模拟量测量值进行工程转换 (0-20mA适用)在平台上做公式。
举列说明:4-20mA模拟量测量模块,对应平台测量公式计算如下。
测量显示值=(20mA对应测量值-4mA对应测量值)*(X-4mA对应数字量)/(20mA对应数字量-4mA对应数字量)+4mA对应值测量值
如: 温度 4-20MA 测量0-100℃ ,即 0℃对应数字量4000 ,100℃对应数字量20000。
那么:温度显示值=(100-0)*(X-4000)/(20000-4000)+0=100*(X-4000)/16000
最终公式:(X-4000)/160
将“(X-4000)/160”输入到公式输入框中,如下图,这样平台实时数据展示时显示的值即为转化后的温度值。
当从站采集到的数据为12000(代表12mA)时,显示数据 50℃。
优点:所有的数据都是一一对应的线性关系。
缺点:需要通过数学公式计算得出相应的公式。
同时可以根据实际采集的数据点(至少2个点)利用二元一次方程组来计算,公式为Y=AX+B。
调整方案三、可以将方案二中算出来的的公式在CLC中进行加减乘除等运算编程,运算结果即实际值。
优点:CLC中得到的数据可以再次进行使用或公式计算得出其他数据(平台算出来的数据只能用于展示和平台数据计算,不会存到CLC中)。
缺点:需要一定的编程基础。

7、EG系列设备使用modbus协议和下位机通讯时,发现数据采集间隔和设置相差很多,是什么原因,如何解决?

硬件方面:
1、可能是因为干扰、信号衰减等原因导致传输数据丢包。
     如果是串口干扰,需要将通讯线和动力线分开布线,同时可以更换双绞线或在远端串联一个120Ω的电阻。以降低干扰的影响。也可以从网上买隔离通讯转换器。
      如果是串口信号衰减(例如实际通讯接线线比较长)可以选择使用网口通讯、调整设备距离、或者使用隔离通讯转换器。
      可以适当增大串口传输速率,例如将9600改成19200、38400等更高频率。但是需要注意的是,频率越高,有效距离越短。
  2、 此类问题网口出现概率较低。
       如果出现此类问题,可以接交换机试试看。
软件配置方面:
1、由于平台默认的分块采集模式是“按最大长度分块”,在此分块中可能存在某些实际不存在的点,导致数据采集失败,会按照“通讯故障延时”设置的时间有一定的延时。
    解决方案:修改为“按连续地址分块”,会提高采集效率。
2、针对于大多数PLC,由于程序中设置的寄存器地址不连续导致的分块,也会导致数据采集有一定的延时。例如D200、D201、D300,这3个地址,使用连续地址时会自动分为2段,最大长度则只会分1段。网关下发指令是有间隔的,数据解析也是有间隔的,如果这样的条目比较多,会造成数据采集不及时的现象。
      同时,如果中间有个点不存在(例如D220)使用最大长度会出现通讯异常。
     解决方案:尽量在PLC程序中将需要进行采集的数据点做成连续的。
3、针对于台达PLC,这个牌子的PLC经过modbus通讯时限制了最大长度为70,EG20在使用最大长度时会出现通讯异常,建议手动将地址断开(手动分段),并使用“连续地址分块”。EG10不会出现此类问题,但是会降低采集速率。
帮助中心 帮助中心
4 个月前
486

扫描下方二维码手机阅读文章