我用S7 226的PORT1口采集JJ系列电子天平的数据,每次需要向天平发送16进制的命令"1B70",天平才能回给PLC一次数据。于是,我用定时中断采集数据,每隔200ms PLC发一次采集命令,天平立即回一次数据。现在的问题是:电子天平是RS232接口,PLC是485接口,电子天平收到命令帧后,立即回复数据给PLC,使PPI电缆来不及切换,导致约2.5%的误码率。高手有什么办法?
如果选择主动发送数据的电子天平是否可以解决误码的问题,或者选择带RS232口的PLC是否也能解决该问题?望高手不吝赐教。
问题补充:
谢谢大家的支持,一叶随风建议增加232-485协议转换器,请问这和西门子PPI电缆上自带的RS485-232转换器有区别吗?西门子建议485端的PLC发送数据后,232设备必须延迟2ms才能向PLC进行回应(波特率9600下PPI电缆从发送模式切换到接收模式的最小转换时间是2ms)。下面说明一下通讯协议:
PLC(485端)的波特率9600,电子秤(232端)波特率9600,数据格式如下:
20 20 20 31 32 36 34 2E 30 20 20 20 0D 0A
对应的ASCII码为:
SP SP SP 1 2 6 3 . 0 SP SP SP 回车 换行(SP是空格)
当电子秤收到命令1B70H后,即返回上述字符串,一共14字节。
由于电子秤收到命令后无延时地返回上述字符串,导致PLC接收到的数据绝大多数时候是14字节的正确值,但有约2.5%的数据不是14字节,这2.5%的数据长度是随机的,当然总是小于14的,就导致有时接收到的数据出错。
tyme需要的天子天平通讯延时无法提供,不好意思。由于电子秤是向常熟的厂家采购的,它们一般用在全双工的232通讯上,因此没有设置通讯延时,不知我们提出设置通讯延时的要求,厂家是否会同意。
一会我将我的PLC程序贴上来供大家分析。
最佳答案
以我的经验,485作为办双工通讯,收发之间必定要有一定的时间间隔,无论是自由口模式抑或PPI协议。这点在编写PC-PLC通讯程序时表现非常显著。因此只有与天平生产厂家协商,修改天平的通讯程序,别无它法。
提问者对于答案的评价:
感谢你的支持。我会向天平厂家咨询,看看能够让厂家增加天平通讯延迟。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc356762.html