欧姆龙 PLC 与三菱 Q 系列 PLC 协议宏通信
目录
1 三菱 Q 系列 PLC 通信协议 ............................................................................................................................1
MC 协议概述 .............................................................................................................................................1
QnA 兼容 3C 帧通信格式 .........................................................................................................................2
数据通信的基本格式.........................................................................................................................3
QnA 兼容 3C 帧格式,用格式 1 进行通信时 ..................................................................................3
QnA 兼容 3C 帧格式,用格式 2 进行通信时 ..................................................................................5
QnA 兼容 3C 帧格式,用格式 3 进行通信时 ..................................................................................7
QnA 兼容 3C 帧格式,用格式 4 进行通信时 ..................................................................................9
帧格式中各个项目的说明...............................................................................................................11
命令及响应字符部分说明...............................................................................................................13
2 欧姆龙协议宏与三菱 Q 系列 PLC 协议宏通信实验 ..................................................................................18
实验准备..................................................................................................................................................18
通信电缆接线..........................................................................................................................................18
PLC 通信参数设置 ..................................................................................................................................20
欧姆龙 SCU 模块通信参数设置.....................................................................................................20
三菱 C24 通信模块通信参数设置 ..................................................................................................20
串口调试工具测试..................................................................................................................................24
协议宏程序编写......................................................................................................................................25
监视通信状态——Trace 功能 ...............................................................................................................30
1 三菱 Q 系列 PLC 通信协议
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。
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~格式4,用于采用ASCII代码的通信
格式5,用于采用二进制代码的通信
如果以格式1为基准来考虑采用ASCII代码的4种通信格式就有如下不同:
格式2:各文件上附加了编号的格式;
格式3:用STX ETX 包围各文件的格式;
格式4:各文件上附加了CR LF 的格式;
(参考《Q系列MELSEC通信协议参考手册》,P66~74)
下面对QnA兼容3C帧格式使用格式1、格式3通信协议进行说明,其他兼容帧格式请参考《Q系列MELSEC
通信协议参考手册》。
QnA 兼容 3C 帧格式,用格式 1 进行通信时
1、对方设备读出上位站PLC CPU 的数据时
2、对方设备向上位站PLC CPU 写入数据时
QnA 兼容 3C 帧格式,用格式 2 进行通信时
1、对方设备读出上位站PLC CPU 的数据时
2、对方设备向上位站PLC CPU 写入数据时
QnA 兼容 3C 帧格式,用格式 3 进行通信时
1、对方设备读出上位站PLC CPU 的数据时
注意:起始码STX并不在和校验的范围。
2、对方设备向上位站PLC CPU 写入数据时
QnA 兼容 3C 帧格式,用格式 4 进行通信时
1、对方设备读出上位站PLC CPU 的数据时
2、对方设备向上位站PLC CPU 写入数据时
帧格式中各个项目的说明
帧识别编号
所谓帧识别编号是指用于识别收发信文件是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 通信协议参考手册》 QnA 兼容3E/3C/4C帧用命令和功能
一览表,P102~108
和数校验代码
1、和数校验代码是指表示把成为文件中的和数校验对象范围的数据作为二进制数据进行加法运算的结
果和的最低位1个字节8位的数值的代码;
2、用GX Developer 进行的传送规格设置中如果和数校验的有无设置为有则就需要附加和数校验代码。
例:用QnA兼容3C帧格式1读出数据时
和校验实例
出错代码
所谓出错代码是对方设备用于识别PLC CPU 侧对于对方设备发出的请求的处理是否异常结束的代码。
命令及响应字符部分说明
1、用ASCII代码进行通信时的字符部分的数据
读出时
写入时
2、二进制代码时的数据部分的数据
读出时
写入时
其中“*”部分请参考、章节关于格式1及格式3帧格式说明
3、字符各部分说明
子命令
子命令是用于指定读出/写入的单位指定的软元件种类和读出数据的条件等的数据。
a 用ASCII代码进行数据通信时,把0000H(0)或下述数值变换为4位数的ASCII代码十六进制数后使用从
高位数0起发送。
b 用二进制代码进行数据通信时使用0000H 或下述2个字节的数值发送。
c 子命令的指定内容如下所示:
d 下列情况下子命令变为0000H/0001H
选择无监视条件指定和无软元件存储器扩展指定时;
使用不能选择监视条件指定和软元件存储器扩展指定的命令时。
软元件代码
用于识别读出/写入数据的软元件存储器的数据。
可以访问的软元件一览表(Q/QnACPU)
起始软元件软元件
是用于指定读出/写入数据的软元件存储器的编号数据在指定连续软元件存储器时指定软元件范围的起
始编号。
软元件点数
是在执行各命令时用于指定进行读出/写入的点数的数据。
指定软元件点数的数据
是表示向指定软元件存储器写入的数据内容或者从指定软元件存储器读出的数据内容的数据数据的排
列因处理单位字/字节而不同。
位访问点数
是用于指定以位为单位进行访问的点数的数据。
设置/复位
是用于指定向位软元件写入数据的数据用下列数值指定。
2 欧姆龙协议宏与三菱 Q 系列 PLC 协议宏通信实验
实验准备
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 版操作手册(样本编号W344-CN5-12)
Q 系列MELSEC 通信协议参考手册(型号MC-PROTOCOL-R-CH,SH(NA)-080414C-A)
Q系列串行通信模块用户手册(SH(NA)-080238C-B(0611)STC)
通信电缆接线
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串口连接线
PLC 通信参数设置
欧姆龙 SCU 模块通信参数设置
欧姆龙 SCU 串口通信模块通信可通过 CX-Programmer 或者 CX-Protocol 软件进行设置,考虑使用协议宏进
行通信,本例在 CX-Protocol 软件进行设置。设置窗口如下:
欧姆龙 SCU 模块通信参数设置
三菱 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。
串口调试工具测试
通信电缆连接及通信参数设置完成后,使用串口调试工具进行通信数据帧的测试。这里以读取三菱
D100~D104 共 5 个软元件值为例,使用 QnA 兼容 3C 帧格式,使用格式 3(参考三菱 Q 系列 PLC 通信协议
说明部分)。
发送命令:STX F9 00 00 FF 00 0401 0000 D* 00100 0005 EXT 37
起始
STX
识别
码
站编
号
网络
编号
PLC
编号
上位机
编号
命令
子命
令
软元件
代码 软元件
软元件
长度
ETX
校验
码
STX F9 00 00 FF 00 0401 0000 D* 000100 0005 ETX 07
其中 07 为识别码到 ETX 的和校验码(注意不包括 STX)。
响应代码:STX F9 00 00 FF 00 QACK 1111 2222 3333 4444 5555 ETX 4A
STX
识别
码
站编
号
网络
编号
PLC
编号
上位机
编号
结束
代码
D100 D101 D102 D103 D104 ETX
和校
验
STX F9 00 00 FF 00
QAC
K
1111 2222 3333 4444 5555 ETX 4A
协议宏程序编写
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 允许标志位:~
SCU 端口协议宏执行标志位
Port1:(n+9).15
Port2:(n+19).15
n = 1500 + 25 x unit number
监视通信状态——Trace 功能
完成以上设置及编程,下载完毕后,执行 PMCR 指令,通过 CX-Protocol Trace 功能监视通信状态。
Trace 监视结果如下: