现象描述:公司产品485主设备带从设备通信,电磁兼容四级后,通讯正常,AI设备读取模拟量一直不变
现象分析:通过抓报文,模拟量设备数据读取数据不变,通讯正常说明设备没有死机,运行正常,后来猜测设备AI读取的逻辑被打乱,加入调试信息,当时序不对,就把AI的值设置为一个固定值,再次实验,问题依旧,时序正常,把设备重新上电后可以恢复正常,说明不是硬件被永久性打坏
既然重启好用,就在代码里买次读取完ai值后,把ai重新初始化一下,结果问题解决,难道是电磁兼容将引脚的寄存器给打坏了?于是把所有引脚寄存器初始化完毕之后,保存起来,每隔一段时间重新对寄存器赋值,重新实验,问题解决
为了防止寄存器不断赋值会不会有影响,在引脚接入示波器实验,不会对引脚的输出造成影响,自此,问题圆满解决