无协议通信
做成:丁涛
日期:2015.3.23
实验目的:
CJ2M通过RS-485端口连接E5ER温控器,通过Compoway/F实现读PV值,写SV值。
①使用无协议实现
②使用串口网关实现(FB)
实验器材:电脑、CJ2M PLC、CP1W-CIF11、E5ER温控器、电缆线
实验内容:
➢无协议通信
一、硬件接线
1.将CP1W-CIF11选件板装在CJ2M CPU选件槽内,CIF11上的DIP开关设定4为OFF,
其余ON。
2.CIF11 RDA-接E5ER RS-
CIF11 RDB+ 接E5ER RS+
3.温控器和PLC分别供电。
二、温控器设置
三、通讯数据
(一)无协议通信
pway/F协议
命令格式
响应格式
1)从变量区读取
读取PV值的命令为:
ASCII码:STX 01 00 0 01 01 C0 0000 00 0001 ETX BCC
16进制:02 3031 3030 30 3031 3031 4330 30303030 3030 30303031 03 40 (24
个字节)
2)写入变量区
写入SV值的命令为:
ASCII码:STX 01 00 0 01 02 C1 0003 00 0001 XXXX XXXX ETX
BCC
16进制:02 3031 3030 30 3031 3032 4331 30303033 3030 30303031 XXXXXXXX
XXXXXXXX 03 XX(32个字节)
2.设置、编程及内存监控
用于无协议通信的指令,TXD/RXD(仅通过CPU 上串口或串行通信板上的串口发送数据)和TXDU/TXDU(通过安装CJ 系列串行通信单元(单元Ver.1.2 以上)的串口发送数据时的专用指令)
现用CJ2M自带的选件板槽,所以使用TXD/RXD指令。
1)读PV值
●PLC设定
通信设置:
波特率9600
格式7,2,E
模式RS-232C。
不需要起始码,禁止起始码。
固定缓存区大小,结束码选择接收字节25个。
在线后切换到编程模式,将通信设置传给PLC。
◆程序
当触发W0.00,每秒都发送一次命令,命令写在D0开始24个字节中。
A392.06为接收结束标志,当接收指定字节数时为ON。接收在从D100开始的25个字节中。
当前PV值为24.0℃(如有小数点,数据放大10倍。)
2)写SV值
◆PLC设定
通信设置:
波特率9600
格式7,2,E
模式RS-232C
不需要起始码,禁止起始码。
固定缓存区大小,结束码选择接收字节17个。
在线后切换到编程模式,将通信设置传给PLC。
◆程序
当触发W0.01,发送一次命令,命令写在D50开始24个字节中。
设置值为50摄氏度。因E5ER显示精度为小数点后一位,所以写入数据为500,转
换成ASCII码为01F4,转成16进制为30314634。
A392.06为接收结束标志,当接收指定字节数时为ON。接收在从D150开始的17
个字节中。
➢串口网关FB通信
1.PLC设置
将通信设置设成:
串口网关
波特率9600
格式7,2,E。
2.创建FB
利用CX-P中自带的FBL,创建2个FB。
现用串行通信的方式读写E5ER温控器的数据。
FBL路径:
_E5xx202_ReadPV用来读取PV值,_E5xx403_WriteSP用来写SV值。
3.编程
1)读PV
右键_E5xx202_ReadPV功能块,选择功能块库参考,根据参考内的信息将_E5xx202_ReadPV调用到主程序中。
输入变量:
EN:功能块启用条件,使用W0.00。
UnitSelect:单元选择,使用CJ2M自带CPU,所以写#FFFF。
Serial Port No.:串口号,CPU上只有一个端口,写&1。
Controller unit No.:温控器台数,1台写&1。
Channel No.:温控器接测温体的通道号,现接在1号通道,写&1。
输出变量:
ENO:FB运行正常
Busy Flag:忙碌标志位,当此FB执行完成就自动变为OFF。使用位地址W100.00。Normal End:正常结束,当FB执行正常结束时,置ON一个周期,使用位地址W100.01。
Error End:当FB执行出现错误时,置ON一个周期,使用位地址W100.02。Process Value:当前值,放在连续的2个通道中。使用通道D100。
写好启动条件后,按“新功能块调用”快捷按钮,写入功能块实例名“读PV”,选择功能块定义“_E5xx202_ReadPV”。
2)写SV
右键_E5xx403_WriteSP功能块,选择功能块库参考,根据参考内的信息将_E5xx403_WriteSP调用到主程序中。
输入变量:
EN:功能块启用条件,使用W1.00。
UnitSelect:单元选择,使用CJ2M自带CPU,所以写#FFFF。
Serial Port No.:串口号,CPU上只有一个端口,写&1。
Controller unit No.:温控器台数,1台写&1。
Channel No.:温控器接测温体的通道号,现接在1号通道,写&1。
Set point:设定值,设定50℃,写&500。
输出变量:
ENO:FB运行正常
Busy Flag:忙碌标志位,当此FB执行完成就自动变为OFF。使用位地址W200.00。