快速链接到欧姆龙其他国家/地区的网站。close

欧姆龙全球

首页  >  产品资讯  >  产品共通信息

Q:CJ1M无协议调试报告

A:

       调试设备:CJ1M-CPU22 一台;CPM2A-20CDR  二台;研华 RS232 转 RS422 适配器(型号是:ATC-101)三台
 

       通讯要求:CJ1M 使用无协议方式向 2 台 CPM2A 发送 HOST LINK 命令,同时将反馈信息存储在 PLC 内的 WR 区。用户已编好通讯程序,但出现接受数据跳变的现象。要求修改用户的程序,用于消除接受数据跳变的现象。

 

       分析:

 

       用户原通讯程序如下

 

       首先改用户使用移位指令,将 WR1 的内部 16 个位进行轮流置 ON,将轮询的时间设为 0.02s,以此控制6条TXD和RXD指令。使主站CJ1M轮流向2个从站CPM2A发送读或写的HOST  LINK 命令。
 

       其无协议通讯程序如下



 

        共 6 组与之类似的发送和接受命令
       该用户程序内还包括其它的通讯格式转换程序。
       经分析后发现,用户程序的跳变的原因,可能有 2 个:
       1.如上面梯形图所示,在 6 条 TXD 和 RXD 轮流发送时所使用的触发位的时间间隔是 0.02S,速度太快,所以导致 RXD 接受到的是前一条 TXD 所发出命令的响应。故将发送脉冲的频率降为 0.1S 脉冲。
 

       2.首先,分析一下 AR39205 和 AR39206 这 2 个标志位的作用。AR39205 的作用:该标志位在 PLC 上电时自动为 ON,也就是在 PLC 的 RS232C 端口在无协议方式下,不发送数据时 ON。一旦 PLC 的 RS232 口开始发送数据,则 AR39205 从 ON变为 OFF,TXD 指令开始执行。在 PLC 的 RS232 口发送完数据时,AR39205 由 OFF 重新变为 ON。
 

       AR39206 的作用:该标志位在 PLC 上电时自动为 OFF,外部数据发送到 PLC 的串口缓冲区内,根据用户在无协议方式下的设定条件,来变为 ON。在本试验中,用户在无协议方式下设定为:结束码:0D。也就是,当 PLC 的串口缓冲区收到 0D 这个结束码时,AR39206 由OFF 变为 ON。当 RXD 指令执行时,将缓冲区的内容写入 PLC 的接受区,此时 AR39206重新由 ON 变为 OFF。
 

       3.根据下面程序,可用时序的方法加以分析


 

         (1).W1.00 变为 ON 是 20ms,而 TXD 发送一次数据的时间可能只有几个 ms,因此 AR39205在这段时间内发生了好几次跳变,则 TXD 指令执行了好几次,发送了好几次数据,对应的反馈数据也接受了好几次,造成 RXD 指令接受了多次的反馈数据。
 

         (2).从 W1.00 为 OFF 到 W1.02 为 ON 的瞬间,此时 AR39206 还为 ON,因此下一个 RXD接受到了前一个 TXD 发送后反馈回来的数据,而在下一个扫描周期,RXD 收到了与之对应的 TXD 的反馈数据。2 组数据交替,因此产生数据跳变。
 

       4.用户在程序中发送 TXD 指令时,前面加了标志位 AR39205。而 AR39205 的作用是一旦TXD 发送完以后,就自动由 OFF 变为 ON.则在启动位为 ON 的 20ms 以内,TXD 指令实际上已发送了多次,导致下一个启动位的 RXD 指令接受到的是前一个 TXD 多次发送的值,所以出现数据跳变。因此将程序中所有的 TXD 前所串的 AR39205 标志位都删除。
 

       调试结果:将用户程序修改后,传人 PLC 中,通讯一切正常。RXD 接受到的 2 个节点的反馈数据没有跳变,可实现 PLC 间的正常通讯。

以上回答是否解决了您的问题?

问题反馈

为了提供更优质的服务,请对我们提出意见和建议

提交

服务支持

APP下载

在线客服

邮件订阅

TOP