前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

欧姆龙CJ2M PLC使用SCU模块与温控器实现协议宏通讯

qiguaw 2025-03-29 21:23:45 资源文章 14 ℃ 0 评论

欧姆龙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”数据跟踪,点击图标:

进行一次跟踪,点击图标:

上载跟踪数据,可在数据跟踪表中查看通信数据和报错代码。


#电工交流圈##PLC##423头条知识节#

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表