网站首页 > 资源文章 正文
欧姆龙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”数据跟踪,点击图标:
进行一次跟踪,点击图标:
上载跟踪数据,可在数据跟踪表中查看通信数据和报错代码。
猜你喜欢
- 2025-03-29 妩媚娇艳——Konstantin Razumov女性绘画作品
- 2025-03-29 Frederique Constant Worldtimer(constant和consistent的区别)
- 2025-03-29 Constant Contact利用SMS API技术成为美国首个支持短信营销的全渠道数字营销平台
- 2025-03-29 康斯登推出全新典雅系列瓷艺限量腕表
- 2025-03-29 高台跳水——英国选手夺得男子27米冠军
- 2025-03-29 Small constant小恒水饺(小恒水饺是现包的吗)
- 2025-03-29 新表|万元出头,男人不能错过的“三块表”
- 2025-03-29 康斯坦丁雅科夫列维奇克里齐茨KonstantinYakovlevichKryzhitsky
- 2025-03-29 Lambda表达式介绍和底层实现(lambda表达式详解)
- 2025-03-29 官方:加尔卡执教西班牙人(卡尔美西班牙人)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)