网站首页 > 编程文章 正文
欧姆龙CJ2M PLC使用SCU模块与温控器实现协议宏通讯
协议宏,欧姆龙把它定位为更高级(比无协议通信)的自由协议。
协议宏是一种通信协议工具包,用于发送符合具有串行通信端口的通用外部设备的自有报文内容。它适用于欧姆龙PLC与第三设备之间的通信,根据第三方设备的协议,如Modbus RTU来编写协议报文,进行1:1~N串行数据通信。
协议宏通信要用到欧姆龙CX-One软件包中的CX-Protocol软件和支持协议宏通信的串行通信SCU模块,用PMCR指令触发通信序列的执行。以上软件、硬件、指令是协议宏通信三要素。下面来学习一下协议宏通信的操作流程。
一、硬件设置及接线
以CJ1W-SCU41-V1模块连接E5EC温控器,通过协议宏通信发送Modbus命令读取温控器当前温度值,写入温控器设定值为例,首先要设定模块的单元号,这与模块所占用的通道号计算有关。模块的起始通道号n=1500+25*单元号,占用10个通道,如单元号为2,起始地址就是:1500+25*2=1550,占用1550~1559共10个通道。
CJ1W-SCU41-V1模块的端口1为RS-422A/485端口,端口2为RS-232C端口,一般使用RS-485端口二线式接线的情况较多,以此为例接线,则端口1的1-SDA、2-SDB(或6-RDA、8-RDB)脚分别接第三方设备,如温控器的A(-)、B(+),FG接电缆屏蔽层(模块侧单接)。
二、设置主从站通信参数
打开CX-Programmer软件,在IO配置表中打开SCU模块设定参数:
设置“Port1 Settings”端口1参数,端口设置:“User settings”用户设置;通信方式:“Protocol macro”协议宏;数据长度:8位;停止位:1位;奇偶校验:“Even”偶校验;波特率:9600bps。将参数下载到模块单元中,并重启让参数生效。
温控器的参数设置为:协议选择:MODBUS;站号:1;数据长度:8位;停止位:1位;奇偶校验:偶校验;波特率:9600bps。通信参数与PLC一致。
三、在CX-Protocol软件中写入发、收数据
1、在PLC的IO表中,右击SCU单元,按下图中所示,启动“CX-Protocol”软件,也可在桌面或开始菜单直接启动。
2、新建工程,选择PLC类型、通信网络类型。
3、在Projects(项目)列表中,右击“New Protocol list(新协议列表)”,创建一个CS/CJ PLC Protocol协议。
4、点击“New Protocol list(新协议列表)”前面的“+”号,右击“New Protocol (新协议)”,创建一个新序列,这个序列号是指令要调用的。
5、右击“New Sequence(新序列)”,创建步。
6、右击“Send Message List(发送消息列表)”,创建发送信息。命名信息为“Send1”。重复以上,再创建发送信息,命名信息为“Send2”。
7、右击“Receive Message List(接收消息列表)”,创建接收信息。命名信息为“Rcv1”。重复以上,再创建发送信息,命名信息为“Rcv2”。
8、在发送信息“Send1”中点击右边“Data”的向下箭头,进入信息编辑器窗口。
9、点击“Message Data(信息数据)”栏中的“Edit(编辑)”、“Insert(插入)”,分别编辑和插入十六进制常数数据“01(从站地址)”、“03(读功能码)”、“0000(开始地址)”、“0002(元素数)”。
10、点击“Check Code(校验码)”栏中的“Edit(编辑)”,选择校验码的类型为“CRC-16”,“Defaul”为65535,勾选“Reverse Order”,确认点“OK”,返回点击“Insert(插入)”,再确认点“OK”。
11、在接收信息“Rvc1”中点击右边“Data”的向下箭头,进入信息编辑器窗口。点击“Message Data(信息数据)”栏中的“Edit(编辑)”、“Insert(插入)”,分别编辑和插入“Constant Hex(十六进制常数)”、数据“01(站号)”、“03(读寄存器功能码)”、“04(字节数)”和“Variable(响应变量)”。
这个变量是温控器的PV值接收数据,类型为普通变量,点击“Variable”按钮,编辑变量文本信息:写入模式,通道为DM区起始地址为100,确认点击“OK”。
12、点击“Length”按钮,编辑变量的长度为“0000N+0004”
,确认点击“OK”,然后插入到信息数据中。
13、同第10步,插入校验码数据,确认点击“OK”。
14、同理,编辑“Send2”和“Rvc2”的数据,意为写入温控器SV值的发送与接收数据。“Send2”的数据信息为“01(站号)+10(写多个寄存器功能码)+0106(开始地址)+0002(元素数)+04(字节数)+0000012C(写入温度值30.0度)+(C)”;“Rvc2”的数据信息为“01(站号)+10(写多个寄存器功能码)+04(字节数)+0002(元素数)+(C)”。
15、编写完成后,在“New Sequence”的Step步00中,分别设定“Command”为“Send & Receive”、“Send Message”为“send1”、“Recv Message”为“Rcv1”。
16、同第5步,新建一个“Step 01”,然后同第15步,分别设定“Command”为“Send & Receive”、“Send Message”为“send2”、“Recv Message”为“Rcv2”。
把第00步中的“Next”项由“End”设置为“Next”(继续执行下一步)。
17、点击“New Protocol”,设定如下图右上角所示的三个通信响应时间(接收等待时间、接收完成时间、发送间隔时间),如设定为1*10ms,即“0.01s”。
四、写入通信程序
在CX-Programmer软件中编写程序,并下载到PLC中。
因n=1550+25*2=1550,端口1协议宏执行标志位为CIO(n+9).15;端口2协议宏执行标志位为CIO(n+19).15。1559.15位为ON时表示端口1正在执行协议宏通信。
#0112是控制字,0为内部逻辑通信端口号,对应A区的标志位为A202.00,第1个1是串行端口号,第二个1与2是目的地单元地址,即单元号+10(十六进制)。
五、连线测试
1、回到CX-Protocol软件中,点击“PLC”在线连接到PLC。
2、在“New Protocol List”列表页,设定“Target(目标)”为模块的单元号,如连线则会显示已连线的单元号。
3、点击图标:
,进行协议宏“Compile”(编译)和“Download”(下载)。
4、在CX-Programmer软件中切换到监视模式,改变温控器PV值,测试温度采集通道D100\D101中的值是否变化。
5、在CX-Protocol软件中,项目PLC的单元列表中,选择要跟踪的SCU模块,然后选择“Trace1”数据跟踪,点击图标:
进行一次跟踪,点击图标:
上载跟踪数据,可在数据跟踪表中查看通信数据和报错代码。
- 上一篇: CAN总线通讯原理、报文信号解析与测量方法讲解
- 下一篇: 物联网设备的固件远程升级方案以及软件代码
猜你喜欢
- 2025-03-19 使用拷贝机如何确认数据正确?(使用拷贝机如何确认数据正确性)
- 2025-03-19 从今天起,你就是CAN专家!(从今天起你就是我的darling)
- 2025-03-19 8 校验码(校验码百科)
- 2025-03-19 变频器的Modbus通讯控制(一)(变频器modbus地址计算)
- 2025-03-19 正点原子STM32F4/F7水星开发板资料连载第三十四章 CAN 通讯实验
- 2025-03-19 物联网设备的固件远程升级方案以及软件代码
- 2025-03-19 CAN总线通讯原理、报文信号解析与测量方法讲解
- 2025-03-19 CRC-16-modbus循环校验方法(modbus crc校验错误怎么处理)
你 发表评论:
欢迎- 最近发表
-
- 90岁老人科目三一把过火爆网络!考驾照、爱美甲……这群“90后”比年轻人潮
- DNF:遗忘之地任务流程,适用于新手起小号,装备修理白漂
- dnf手游:“首款流拍宝珠”,6位玩家眼睁睁看着500万泰拉丢失!
- dnf手游:小熊卡正式升级!可附魔到工会勋章,千万别卖!
- dnf手游:首张“涨抗魔”粉卡火了!以前3万没人要现在准备断货!
- dnf手游:团本币增加!3月26号打团有坑提前避开,浪费门票?
- dnf手游:涨价20倍!曾经没人要的,如今已是妥妥的T0材料!
- dnf手游:“官方鼓励回归”火了,白送玩家+20装备和王子卡等!
- dnf手游:无根之源千万别用!竞拍系统一定要抢否则错过崛起机会
- dnf手游:DNF手游各职业技能加点攻略、装备推荐!小白一看就会
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)