主营:欧姆龙,三菱,安川,Pro-face

首页 > 问题解答 > 欧姆龙 > CJ1M无协议调试报告

类别 全部 欧姆龙 三菱 Pro-face 安川

CJ1M无协议调试报告

658**@**com 2022/3/25 18:23:38 发布

CJ1M无协议调试报告

回复人: 154**@**com 2022/3/25 18:27:33

调试设备: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 间的正常通讯。

| | | |

类似问题

相关产品

专注服务于工控领域 7×8小时售后支持

全方位的技术支持 因为专注所以专业