BCD读取错误怎么解决
刘玉蓉
发布于2014-11-04 17:56
51
0
标签:
在读取BCD时,数据在变化的过程中有时超出了范围,实际上没超,只是PLC读取时可能采集不同步造成的,怎么解决这种问题呢?
我的BCD是外部通过光藕过来的8421码输入,而用PLC数字量模块采集输入的。采集过程中BCD的值一定是要变化的,这样才能知道变化过程中BCD的值到多少了。怎么解决因这种不同步采集出现的问题呢。也就是说可能PIW 中的某个位可能变化得快一点,另一个位变化稍慢一点,这样BCD值就超出范围了。造成了问题。
有没办法解决这种不同步的问题呢,如果这个问题不解决,就算用WORD转INT的方式来计算,不用BCD,也会出问题,因为数据不准确
可以用OB121来避免CPU停机吗?
佳答案
你采用BCD码读取数据时,确实会出现上述现象。即BCD码cia用8421编码方式,每个数据用4位二进制数据来表示,而数据大为9,即二进制显示大为1001,如果此时第2或3突然出现为1现象时,就会显示超出范围的现象发生。
1.有没办法解决这种不同步的问题呢,如果这个问题不解决,就算用WORD转INT的方式来计算,不用BCD,也会出问题,因为数据不准确
你将数据转为WORD或INT并不能解决上述问题,问题的根源在PLC的信号采集上,建议你将上述涉及到BCD码读取的所有输入信号都放置到1个开入模板上,这样PLC读取时会尽量将所有数据一次读取并处理,否则会出现上述现象。