【欧姆龙案例】CP1系列做无协议通讯

实验设备:电脑一台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。

来源:技成——杨存世

客官!在看一下呗~
(0)

相关推荐