[欧姆龙] CP1系列做无协议通讯

[复制链接]
查看195 | 回复0 | 2024-5-22 07:23:16 | 显示全部楼层 |阅读模式
实验设备:电脑一台WindowXP系统,CX-Programmer Ver9.4,USB电缆,CP1H-XA40DR-A一台,CP1E-N30SDR-D一台,XW2Z-200S-V,CP1W-CIF01一个。COMMIX软件。
实验目的:用无协议通讯,交换电脑和PLC之间的数据。
实验步骤:01 系统概述,硬件搭建和接线

①用USB电缆将电脑与PLC相连。


图1-1
②用三芯线将PLC和电脑相连。



图1-2
02软件设置①设置COMMIX软件:



图1-3


②打开CX-Programmer软件,点击新建,弹出以下窗口,设备类型选择CP1E。



图1-4
选择N30型。



图1-5


③双击设置,按如下设置:


图1-6


03编程说明①TXD指令:



图1-7
图1-8


无协议的时候,4~7位设置为0。


②程序如下:


图1-9


其中A392.05是内置232口发送准备标志位,A392.05为ON则可以发送无协议命令。
当CPU型号不是带S的,而是可以扩展通讯口的型号是,此时可以将A392.13作为扩展口的发送准备标志位。


04实验现象:①当触发W0.00时,可以看到Commix软件中填入相应数值:


图1-10



图1-11


05编程说明:①RXD指令:



图1-12



图1-13


②程序如下:


图1-14


A393作为缓存区,A392.06是接收完成标志位。


06实验现象:当Commix软件向电脑发送数据,可以看到缓存区的数值是接收数据个数,A392.06是1。


图1-15


图1-16
触发W0.01,可以看到接收地址中得到相应的接收数值:


图1-17


当将PLC换成CP1H时,设置如下:


图1-18


可以看到Commix软件发送的字节数是6个字节,大于设置中的接收字节,当缓存区数据A393个数等于设置中的接收字节数时,A392.06置1。表示接收完成。


图1-19
图1-20


程序中将接收字节设为4个,触发W0.01,接收数据,可以看到程序先接受了4个字节。程序用的是CP1H的串口1,缓存区A394变为2.



图1-21


触发一次W0.00,可以看到剩下的两个字节被接收了,此时缓存区变为0。


图1-22


实验总结:
1. CP1H和CP1E做无协议,当发送字节数大于RXD接收字节数时,执行程序的结果是不一样的。CP1H会将数据存在缓存区,比如发送6个数据,RXD接收数据是4个,那么先接收4个,再触发RXD指令会再接收2个字节。而CP1E在接收的时候就将缓存区清零了。
2. 错误代码在A528里面查看。
3. A526是重启端口。
4. 当缓存区数据A393个数等于设置中的接收字节数时,A392.06置1。





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则