欧姆龙PLC与三菱Q系列PLC协议宏通信

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

欧姆龙PLC与三菱Q系列PLC协议宏通信
目录
1 三菱Q系列PLC通信协议 (1)
1.1 MC协议概述 (1)
1.2 QnA兼容3C帧通信格式 (2)
1.2.1 数据通信的基本格式 (3)
1.2.2 QnA兼容3C帧格式,用格式1进行通信时 (3)
1.2.3 QnA兼容3C帧格式,用格式2进行通信时 (5)
1.2.4 QnA兼容3C帧格式,用格式3进行通信时 (7)
1.2.5 QnA兼容3C帧格式,用格式4进行通信时 (9)
1.2.6 帧格式中各个项目的说明 (11)
1.2.7 命令及响应字符部分说明 (13)
2 欧姆龙协议宏与三菱Q系列PLC协议宏通信实验 (18)
2.1 实验准备 (18)
2.2 通信电缆接线 (18)
2.3 PLC通信参数设置 (20)
2.3.1 欧姆龙SCU模块通信参数设置 (20)
2.3.2 三菱C24通信模块通信参数设置 (20)
2.4 串口调试工具测试 (24)
2.5 协议宏程序编写 (25)
2.6 监视通信状态——Trace功能 (30)
1 三菱Q系列PLC通信协议
1.1 MC协议概述
三菱的Q系列PLC采用列MELSEC通讯协议,即MC协议。

所谓MC通讯协议就是对方设备通过Q系列C24或者Q 系列E71来进行PLC CPU软元件数据和程序的读出/写入的Q系列PLC用的通讯方式的名称。

MC协议采用帧的形式进行通讯,它包括以下几种帧格式:
串行通信模块C24模块:
A兼容1C帧,包括1-4种格式
QnA兼容2C帧,包括1-4种格式;
QnA兼容3C帧,包括1-4种格式;
QnA兼容4C帧,包括1-5种格式;
说明:格式5,用于采用二进制代码的通信
如果以格式1为基准来考虑采用ASCII代码的4种通信格式就有如下不同:
格式2:各文件上附加了编号的格式;
格式3:用STX ETX 包围各文件的格式;
格式4:各文件上附加了CR LF 的格式;
详情请参考QnA兼容3C帧格式1~格式3的说明。

以太网通信模块E71:
A兼容1E帧;
QnA兼容3E帧。

Q系列C24模块串行通信模块时可以使用QnA兼容2C/3C/4C帧和A兼容1C帧,Q系列E71模块可以使用QnA兼容3E帧和A兼容1E帧。

本工程主要介绍Q系列C24模块使用QnA兼容3C帧格式3通信的实例。

各种数据通信帧的功能如下:
1、QnA兼容3C帧、QnA兼容4C帧、QnA兼容3E帧:
①主要用于从对方设备访问Q/QnACPU的全部软元件和全部文件为目的帧;
②也能够访问A系列PLC CPU 的软元件。

2、QnA兼容2C帧:
①可以访问安装有Q系列C24的站的QCPU上位站和连接有多分支的Q/QnACPU 站的软元件存储器;
②与QnA 兼容3E/3C/4C 帧相比较文件形式简单;
③因为传送数据变少在对方设备侧进行的传输文件处理变得容易能够缩短文件的传送时间。

3、A兼容1C帧A兼容1E帧:
①与使用A系列的计算机链接模块或Ethernet接口模块访问PLC时的文件构成相同;
②可以利用编制的A 系列PLC 用的对方设备侧数据通讯软件用相同的帧访问多分支连接和网络连
接的Q/QnACPU 和Q/QnACPU以外的PLC CPU。

MC协议进行数据通讯时的数据通信帧的命名规则如下:
数据通讯帧名用于表示与原先生产的模块的命令兼容性的对象PLC CPU、对应的原先生产的模块的帧和对象模块
xxx 兼容 n *帧,例如:QnA兼容3C帧、QnA兼容3E帧。

①xxx 表示与原先生产的模块的命令兼容性的对象PLC CPU
A:A系列PLC CPU;
QnA:QnA系列PLC CPU。

②n 对应的原先生产的模块的帧:n=1,2,3,4
1:对应于A系列计算机链接模块和Ethernet接口模块所支持的命令通讯帧;
2:对应于QnA 系列串行通讯模块所支持的QnA简易帧;
3:对应于QnA系列串行通讯模块所支持的QnA帧,QnA系列Ethernet接口模块所支持的通讯帧;
4:对应于QnA系列串行通讯模块所支持的QnA扩展帧。

③* 代表用该相应帧能够进行数据通讯的本手册的对象模块
C:Q系列C24;
E:Q系列E71。

1.2 QnA兼容3C帧通信格式
三菱Q系列PLC与外部设备进行数据交换,且三菱Q系列PLC作为从站,例如与上位机、其他厂家PLC 进行数据交换,一般使用QnA兼容3C帧进行通信。

1 对方设备从PLC读数据时
1)A 部分表示从对方设备向PLC CPU传送
2)B 部分表示从PLC CPU向对方设备传送
3)编制对方设备的程序时要使得各数据按从左向右的顺序传送
(例A 部分时使得数据按从ENQ向右的顺序发送)
2 从对方设备向PLC写入数据时
1)C 部分表示从对方设备向PLC CPU 传送
2)B 部分表示从PLC CPU 向对方设备传送
3)编制对方设备的程序时各数据按从左向右的顺序传送
(例C 部分时使数据按从ENQ 向右的顺序发送)
1.2.1 数据通信的基本格式
注:格式1~格式4,用于采用ASCII代码的通信
格式5,用于采用二进制代码的通信
如果以格式1为基准来考虑采用ASCII代码的4种通信格式就有如下不同:
格式2:各文件上附加了编号的格式;
格式3:用STX ETX 包围各文件的格式;
格式4:各文件上附加了CR LF 的格式;
(参考《Q系列MELSEC通信协议参考手册》3.1.4,P66~74)
下面对QnA兼容3C帧格式使用格式1、格式3通信协议进行说明,其他兼容帧格式请参考《Q系列MELSEC 通信协议参考手册》。

1.2.2 QnA兼容3C帧格式,用格式1进行通信时
1、对方设备读出上位站PLC CPU 的数据时
2、对方设备向上位站PLC CPU 写入数据时
1.2.3 QnA兼容3C帧格式,用格式2进行通信时
1、对方设备读出上位站PLC CPU 的数据时
2、对方设备向上位站PLC CPU 写入数据时
1.2.4 QnA兼容3C帧格式,用格式3进行通信时
1、对方设备读出上位站PLC CPU 的数据时
注意:起始码STX并不在和校验的范围。

2、对方设备向上位站PLC CPU 写入数据时
1.2.5 QnA兼容3C帧格式,用格式4进行通信时
1、对方设备读出上位站PLC CPU 的数据时
2、对方设备向上位站PLC CPU 写入数据时
1.2.6 帧格式中各个项目的说明
帧识别编号
所谓帧识别编号是指用于识别收发信文件是QnA 兼容3C帧还是QnA兼容4C帧的编号。

数据通信时指定的帧识别编号如下表所示:
站编号
C24单元的站地址,指定对方设备访问哪一个Q系列C24,通过GX Developer设置的Q系列C24 的站编号。

范围:00H~1FH(0~31),请注意通信数据格式:ASCII时,2个的ASCII字符(2个字节);二进制时,1个字节的十六进制。

网络编号、PLC编号
网络编号、PLC编号
说明:1、只有网络编号为00H时才能指定PLC编号FFH;
2、经由MELSECNET/H 远程I/O站安装着的Q系列C24/E71访问其他站时网络编号FEH被忽略网络编号被
指定为FEH 时访问用MELSECNET/H 远程I/O站的PLC 编号指定的其他站;
3、通信数据格式:ASCII时,2个的ASCII字符(2个字节);二进制时,1个字节的十六进制。

上位站编号
1、用ASCII 代码进行数据通信时使用“00”进行发送;
2、用二进制代码进行数据通信时使用1个字节数值00H进行发送。

命令(子命令)
是指定从对方设备对访问对象PLC进行读出写入等哪种内容的访问的命令。

软元件成批读写命令码
其他详细命令码可参考《Q系列MELSEC 通信协议参考手册》-3.2 QnA 兼容3E/3C/4C帧用命令和功能一览表,P102~108
和数校验代码
1、和数校验代码是指表示把成为文件中的和数校验对象范围的数据作为二进制数据进行加法运算的结果和的最低位1个字节8位的数值的代码;
2、用GX Developer 进行的传送规格设置中如果和数校验的有无设置为有则就需要附加和数校验代码。

例:用QnA兼容3C帧格式1读出数据时
和校验实例
出错代码
所谓出错代码是对方设备用于识别PLC CPU 侧对于对方设备发出的请求的处理是否异常结束的代码。

1.2.7 命令及响应字符部分说明
1、用ASCII代码进行通信时的字符部分的数据
读出时
写入时
2、二进制代码时的数据部分的数据
读出时
写入时
其中“*”部分请参考3.2、3.3章节关于格式1及格式3帧格式说明3、字符各部分说明
子命令
子命令是用于指定读出/写入的单位指定的软元件种类和读出数据的条件等的数据。

a 用ASCII代码进行数据通信时,把0000H(0)或下述数值变换为4位数的ASCII代码十六进制数后使用从高位数0起发送。

b 用二进制代码进行数据通信时使用0000H 或下述2个字节的数值发送。

c 子命令的指定内容如下所示:
d 下列情况下子命令变为0000H/0001H
选择无监视条件指定和无软元件存储器扩展指定时;
使用不能选择监视条件指定和软元件存储器扩展指定的命令时。

软元件代码
用于识别读出/写入数据的软元件存储器的数据。

可以访问的软元件一览表(Q/QnACPU)
起始软元件软元件
是用于指定读出/写入数据的软元件存储器的编号数据在指定连续软元件存储器时指定软元件范围的起始编号。

软元件点数
是在执行各命令时用于指定进行读出/写入的点数的数据。

指定软元件点数的数据
是表示向指定软元件存储器写入的数据内容或者从指定软元件存储器读出的数据内容的数据数据的排列因处理单位字/字节而不同。

位访问点数
是用于指定以位为单位进行访问的点数的数据。

设置/复位
是用于指定向位软元件写入数据的数据用下列数值指定。

2 欧姆龙协议宏与三菱Q系列PLC协议宏通信实验
2.1 实验准备
1、硬件设备
欧姆龙PLC系统:电源PA205R、控制器CJ2M-CPU35、串行通信模块CJ1W-SCU41-V1、端板三菱PLC系统:电源Q61p、控制器Q06HCPU、串行通信模块QJ71C24N-R2、基板Q312B 其他:USB电缆、网线等
2、软件
欧姆龙:PLC编程软件:CX-Programmer;协议宏编程软件:CX-Protocol
三菱:PLC编程软件:GX-Developer
其他:串口调试工具、SUM校验工具Check SUM
3、参考资料
SYSMAC CX-Protocol 1.9 版操作手册(样本编号W344-CN5-12)
Q 系列MELSEC 通信协议参考手册(型号MC-PROTOCOL-R-CH,SH(NA)-080414C-A)
Q系列串行通信模块用户手册(SH(NA)-080238C-B(0611)STC)
2.2 通信电缆接线
1、欧姆龙串行通信模块CJ1W-SCU21-V1端口2 RS232端口引脚定义:
欧姆龙SCU模块RS232端口引脚定义
2、三菱串行通信模块QJ71C24N-R2端口1 RS232引脚定义:
三菱C24串行通信模块RS232端口引脚定义
3、欧姆龙RS232端口与三菱Q系列C24串行通信模块RS232端口连接接线如下:
欧姆龙SCU模块RS232与三菱C24模块RS232串口连接线
4、为了方便测试发送的协议是否正确,在测试时先使用串口调试工具发送指定的协议命令,确保通信格式正确后再进行测试。

计算机RS232串口与三菱C24模块RS232串口连接接线如下:
PC机与三菱C24串口连接线
2.3 PLC通信参数设置
2.3.1 欧姆龙SCU模块通信参数设置
欧姆龙SCU串口通信模块通信可通过CX-Programmer或者CX-Protocol软件进行设置,考虑使用协议宏进行通信,本例在CX-Protocol软件进行设置。

设置窗口如下:
欧姆龙SCU模块通信参数设置
2.3.2 三菱C24通信模块通信参数设置
三菱C24通信模块(本例QJ71C24N-R2)通信参数设置可通过GX-Developer软件进行设置:
打开GX-Developer→参数→PLC参数→I/O分配,选择通信模块所在的插槽,点击“选择设定”,进入通信参数设定界面。

选择智能模块类型及型号
设置通信格式、波特率、通信协议等参数。

三菱C24模块通信参数设置方式一
通信设置必须和主站设置保持一致
通信参数也可以通过开关设置进行,与通信参数设置窗口设置的内容其实是一一对应的。

通信开关设置(包括通信格式、通信速率、通信协议选择及站号设定)。

通信参数设置方式二
通信开关设置
开关1(CH1)及开关3(CH2)对应通信格式及通信速率:通信格式b7~b0,通信速率b15~b8。

通信格式设定:b7~b0
通信传输格式设置
通信速率设定b15~b8
波特率设置
通信协议设置:开关2(通道1),开关4(通道2)
通信协议设置
完成以上设置后,将修改后的设置下载到PLC。

2.4 串口调试工具测试
通信电缆连接及通信参数设置完成后,使用串口调试工具进行通信数据帧的测试。

这里以读取三菱D100~D104共5个软元件值为例,使用QnA兼容3C帧格式,使用格式3(参考三菱Q系列PLC通信协议说明部分)。

STX F9 00 00 FF 00 0401 0000 D* 00100 0005 EXT 37
2.5 协议宏程序编写
1、新建协议,选择CS/CJ模式,命名为三菱Q系列MC格式3
2、为新建协议设置目标单元,(本例SCU单元号为2)
3、编写发送命令及接收命令。

根据三菱Q系列MC协议格式3的命令格式,编写数据帧。

以读取三菱Q系列PLC软元件D2100~D2119共20个通道,存放在欧姆龙D2100开始的20个通道为例。

添加发送命令,命名为READ_D
发送命令:STX F9 00 00 FF 00 0401 0000 D* 002100 0014 ETX 和校验码
在欧姆龙协议宏编程时,一些特殊的ASCII字符不能直接输入,如STX、ETX等,需要以CODE的形式进行定义,起始码、结束码可以CODE格式进行定义。

欧姆龙协议宏软件内置了LRC、CRC、SUM等十多种校验工具,用户可根据实际情况进行选择使用。

三菱Q系列PLC MC协议和校验应选择SUM(1 Byte)ASCII类型,校验范围为第2次字节开始。

添加接收命令,命名为READ_D’
接收命令:STX F9 00 00 FF 00 QACK 响应内容 ETX 校验码
其中QACK是正常响应的结束代码。

响应内容这里以变量来表示,即定义接收内容的保存区。

需对变量类型、变量区域及接收长度进行定义。

由于读取的三菱Q系列PLC内容,反馈回来时先接收后面通道的数据再接收前面通道的数据,例如读取D1~D5的值,反馈回来的内容为D5 D4 D3 D2 D1,且接收的数据即是实际十六进制的数据,因此变量类型选择Variable HEX Reverse。

(同样,执行写命令1401时,对于变量类型也应设置此项)
设置变量区域,对变量的读写属性、变量数据区等参数进行设置。

读写类型是指CPU与SCU的关系来定义的,Read,CPU→SCU(CPU的值写入到SCU);Write,SCU→CPU (SCU的值写入到CPU)。

设置接收长度,由于接收过来的数据是ASCII格式的,1个字符占用1个字节,1个通道的值用4个字符表示,接收长度为20*4=80字节。

4、新建序列,同时在序列中添加步,然后在步中添加发送命令及接收命令。

5、在CX-Programmer中调用协议宏指令PMCR功能块,执行SCU通信单元已注册的通信序列。

PMCR指令简要说明
由协议宏指定接收或发送数据区,则PMCR指令中的发送字、接收字直接设定#0000。

通信端口0~7允许标志位:A202.00~A202.07
SCU端口协议宏执行标志位
Port1:(n+9).15
Port2:(n+19).15
n = 1500 + 25 x unit number
2.6 监视通信状态——Trace功能
完成以上设置及编程,下载完毕后,执行PMCR指令,通过CX-Protocol Trace功能监视通信状态。

Trace监视结果如下:。

相关文档
最新文档