无协议通信 温控器.docx
《无协议通信 温控器.docx》由会员分享,可在线阅读,更多相关《无协议通信 温控器.docx(12页珍藏版)》请在冰豆网上搜索。
无协议通信温控器
无协议通信
做成:
丁涛
日期:
2015.3.23
实验目的:
CJ2M通过RS-485端口连接E5ER温控器,通过Compoway/F实现读PV值,写SV值。
①使用无协议实现
②使用串口网关实现(FB)
实验器材:
电脑、CJ2MPLC、CP1W-CIF11、E5ER温控器、电缆线
实验内容:
Ø无协议通信
一、硬件接线
1.将CP1W-CIF11选件板装在CJ2MCPU选件槽内,CIF11上的DIP开关设定4为OFF,其余ON。
2.CIF11RDA-接E5ERRS-
CIF11RDB+接E5ERRS+
3.温控器和PLC分别供电。
二、温控器设置
三、通讯数据
(一)无协议通信
1.Compway/F协议
命令格式
响应格式
1)从变量区读取
读取PV值的命令为:
ASCII码:
STX010000101C00000000001ETXBCC
16进制:
023031303030303130314330303030303030303030310340(24个字节)
2)写入变量区
写入SV值的命令为:
ASCII码:
STX010000102C10003000001XXXXXXXXETXBCC
16进制:
02303130303030313032433130303033303030303031XXXXXXXXXXXXXXXX03XX(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。
SerialPortNo.:
串口号,CPU上只有一个端口,写&1。
ControllerunitNo.:
温控器台数,1台写&1。
ChannelNo.:
温控器接测温体的通道号,现接在1号通道,写&1。
输出变量:
ENO:
FB运行正常
BusyFlag:
忙碌标志位,当此FB执行完成就自动变为OFF。
使用位地址W100.00。
NormalEnd:
正常结束,当FB执行正常结束时,置ON一个周期,使用位地址W100.01。
ErrorEnd:
当FB执行出现错误时,置ON一个周期,使用位地址W100.02。
ProcessValue:
当前值,放在连续的2个通道中。
使用通道D100。
写好启动条件后,按“新功能块调用”快捷按钮,写入功能块实例名“读PV”,选择功能块定义“_E5xx202_ReadPV”。
2)写SV
右键_E5xx403_WriteSP功能块,选择功能块库参考,根据参考内的信息将_E5xx403_WriteSP调用到主程序中。
输入变量:
EN:
功能块启用条件,使用W1.00。
UnitSelect:
单元选择,使用CJ2M自带CPU,所以写#FFFF。
SerialPortNo.:
串口号,CPU上只有一个端口,写&1。
ControllerunitNo.:
温控器台数,1台写&1。
ChannelNo.:
温控器接测温体的通道号,现接在1号通道,写&1。
Setpoint:
设定值,设定50℃,写&500。
输出变量:
ENO:
FB运行正常
BusyFlag:
忙碌标志位,当此FB执行完成就自动变为OFF。
使用位地址W200.00。
NormalEnd:
正常结束,当FB执行正常结束时,置ON一个周期,使用位地址W200.01。
ErrorEnd:
当FB执行出现错误时,置ON一个周期,使用位地址W200.02。
写好启动条件后,按“新功能块调用”快捷按钮,写入功能块实例名“写SV”,选择功能块定义“_E5xx403_WriteSP”。
4.调试
当W0.00置ON时,D100通道中数值为&230,即23℃。
当W0.01置ON时,温控器上SV值变为50℃。