当前位置: 主页 > PLC控制

PLC200自由通信

我有一台外设,是RS232接口,需要同PLC200通信,我将端口0用作自由端口通信,通过RS232转RS485连接,外设RS232通信参数:115200bps、1位停止位、8位数据位、1位偶校验。当PLC向外设发送16#03后,外设才能向PLC发送ASCII,格式是{XXX.XXX}.我按200PLC使用手册编写了程序但是怎么都不能通信,请教各位老师给我指点指点,谢谢
以下是程序
主程序
LDSMO.1
MOVB16#59,SMB30端口0初始化115200bps
MOVB16#E0,SMB87接受控制
MOVB16#7B,SMB88消息字符的开始
MOVB16#7D,SMB89消息字符的结束
MOVB20,SMB94接受最大字符
MOVB5,VB10发送最大字符
MOVB16#03VB11发送字符
ATCHINT_0:INT0,9中断连接发送完成中断事件
ATCHINT_2:INT2,23中断连接接受完成中断事件
ENI开放中断
XMTVB10,0发送命令端口0
中断0程序
LDSM0.0
MOVB20,SMB34中断时间
ATCHINT_1:INT1,10
CRETI
中断1程序
LDSM0.0
DTCH10
RCVVB100,0接受命令端口
中断程序2
LDSM0.0
MOVB20,SNB34
ATCHINT_3:INT3,10
CRETI
中断3程序
LDSM0.0
DTCH10
XTMVB10,0
各位老师给我看看是哪里不对,老通信不了。

最佳答案

你需要个串口调试工具软件和USB转485转换器。
1.首先把电脑当成你的外设通过485方式与PLC直接通信,在串口调试工具里面把通信参数按你上面的要求来设置,首先看看PLC有没有把16#03数据发送出来,如果发送出来了,你的串口调试工具里面可以接收到数据的。
2.模拟外设把要发送的ASCII码数据通过调试工具发送给PLC,观察SMB86寄存器状态,检查PLC有没有收到?
3.PLC收到ASCII数据后还需要ATH指令转换才能进一步使用。
通过这几个步骤,通常可以知道问题在哪里,然后再去进一步解决相应问题,希望对你有帮助。

提问者对于答案的评价:
感谢给予无私的支持,现已经做好了,谢谢

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号