欧姆龙PLC与三菱Q系列PLC协议宏通信格式.docx
《欧姆龙PLC与三菱Q系列PLC协议宏通信格式.docx》由会员分享,可在线阅读,更多相关《欧姆龙PLC与三菱Q系列PLC协议宏通信格式.docx(33页珍藏版)》请在冰豆网上搜索。
欧姆龙PLC与三菱Q系列PLC协议宏通信格式
欧姆龙PLC与三菱Q系列(xìliè)PLC协议(xiéyì)宏通信(tōngxìn)
目录(mùlù)
1三菱Q系列(xìliè)PLC通信协议
1.1MC协议(xiéyì)概述
三菱的Q系列(xìliè)PLC采用列MELSEC通讯(tōngxùn)协议,即MC协议。
所谓MC通讯协议就是对方设备通过Q系列C24或者(huòzhě)Q系列E71来进行PLCCPU软元件数据和程序的读出/写入的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:
用STXETX包围各文件的格式;
格式4:
各文件上附加了CRLF的格式;
详情请参考QnA兼容3C帧格式1~格式3的说明。
以太网通信模块E71:
A兼容1E帧;
QnA兼容3E帧。
Q系列C24模块串行通信模块时可以(kěyǐ)使用QnA兼容2C/3C/4C帧和A兼容1C帧,Q系列(xìliè)E71模块可以使用QnA兼容3E帧和A兼容1E帧。
本工程(gōngchéng)主要介绍Q系列C24模块使用QnA兼容3C帧格式(géshi)3通信(tōngxìn)的实例。
各种数据通信帧的功能如下:
1、QnA兼容3C帧、QnA兼容4C帧、QnA兼容3E帧:
①主要用于从对方设备访问Q/QnACPU的全部软元件和全部文件为目的帧;
②也能够访问A系列PLCCPU的软元件。
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以外的PLCCPU。
MC协议进行数据通讯时的数据通信帧的命名规那么如下:
数据通讯帧名用于表示与原先生产的模块的命令兼容性的对象PLCCPU、对应的原先生产的模块的帧和对象模块
xxx兼容n*帧,例如:
QnA兼容3C帧、QnA兼容3E帧。
①xxx表示与原先生产的模块的命令兼容性的对象PLCCPU
A:
A系列PLCCPU;
QnA:
QnA系列PLCCPU。
②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.2QnA兼容3C帧通信格式
三菱Q系列PLC与外部设备进行数据交换,且三菱Q系列PLC作为从站,例如与上位机、其他厂家PLC进行数据交换,一般使用QnA兼容3C帧进行通信。
1对方设备从PLC读数据时
1〕A局部(bùfen)表示(biǎoshì)从对方(duìfāng)设备向PLCCPU传送(chuánsònɡ)
2〕B局部(bùfen)表示从PLCCPU向对方设备传送
3〕编制对方设备的程序时要使得各数据按从左向右的顺序传送
〔例A局部时使得数据按从ENQ向右的顺序发送〕
2从对方设备向PLC写入数据时
1〕C局部表示从对方设备向PLCCPU传送
2〕B局部表示从PLCCPU向对方设备传送
3〕编制对方设备的程序时各数据按从左向右的顺序传送
〔例C局部时使数据按从ENQ向右的顺序发送〕
1.2.1数据通信的根本格式
注:
格式1~格式4,用于采用ASCII代码的通信
格式5,用于采用二进制代码的通信
如果以格式1为基准来考虑采用ASCII代码的4种通信格式就有如下不同:
格式2:
各文件上附加了编号的格式;
格式3:
用STXETX包围各文件的格式;
格式4:
各文件上附加了CRLF的格式;
〔参考?
Q系列MELSEC通信协议参考手册?
3.1.4,P66~74〕
下面对QnA兼容3C帧格式使用格式1、格式3通信协议进行说明,其他兼容帧格式请参考?
Q系列MELSEC通信协议参考手册?
。
1.2.2QnA兼容(jiānrónɡ)3C帧格式(géshi),用格式(géshi)1进行(jìnxíng)通信(tōngxìn)时
1、对方设备读出上位站PLCCPU的数据时
2、对方设备向上位站PLCCPU写入数据时
1.2.3QnA兼容(jiānrónɡ)3C帧格式(géshi),用格式(géshi)2进行(jìnxíng)通信(tōngxìn)时
1、对方设备读出上位站PLCCPU的数据时
2、对方(duìfāng)设备向上位站PLCCPU写入数据时
1.2.4QnA兼容(jiānrónɡ)3C帧格式(géshi),用格式(géshi)3进行(jìnxíng)通信(tōngxìn)时
1、对方设备读出上位站PLCCPU的数据时
注意:
起始(qǐshǐ)码STX并不在和校验的范围。
2、对方设备(shèbèi)向上位站PLCCPU写入数据时
1.2.5QnA兼容(jiānrónɡ)3C帧格式(géshi),用格式(géshi)4进行(jìnxíng)通信(tōngxìn)时
1、对方设备读出上位站PLCCPU的数据时
2、对方设备(shèbèi)向上位站PLCCPU写入数据时
1.2.6帧格式中各个工程(xiàngmù)的说明
帧识别(shíbié)编号
所谓帧识别编号是指用于识别收发信文件(wénjiàn)是QnA兼容3C帧还是(háishi)QnA兼容(jiānrónɡ)4C帧的编号。
数据通信时指定的帧识别编号如下表所示:
站编号
C24单元的站地址,指定对方设备访问哪一个Q系列C24,通过GXDeveloper设置的Q系列C24的站编号。
范围:
00H~1FH〔0~31〕,请注意通信数据格式:
ASCII时,2个的ASCII字符〔2个字节〕;二进制时,1个字节的十六进制。
网络编号、PLC编号
网络(wǎngluò)编号、PLC编号
说明(shuōmíng):
1、只有网络(wǎngluò)编号为00H时才能指定PLC编号FFH;
2、经由(jīngyóu)MELSECNET/H远程I/O站安装着的Q系列C24/E71访问其他站时网络编号FEH被忽略网络编号被指定为FEH时访问用MELSECNET/H远程I/O站的PLC编号指定的其他站;
3、通信(tōngxìn)数据格式:
ASCII时,2个的ASCII字符〔2个字节〕;二进制时,1个字节的十六进制。
上位站编号
1、用ASCII代码进行数据通信时使用“00〞进行发送;
2、用二进制代码进行数据通信时使用1个字节数值00H进行发送。
命令〔子命令〕
是指定从对方设备对访问对象PLC进行读出写入等哪种内容的访问的命令。
软元件(yuánjiàn)成批读写命令码
其他详细命令(mìnglìng)码可参考?
Q系列(xìliè)MELSEC通信(tōngxìn)协议(xiéyì)参考手册?
-3.2QnA兼容3E/3C/4C帧用命令和功能一览表,P102~108
和数校验代码
1、和数校验代码是指表示把成为文件中的和数校验对象范围的数据作为二进制数据进行加法运算的结果和的最低位1个字节8位的数值的代码;
2、用GXDeveloper进行的传送规格设置中如果和数校验的有无设置为有那么就需要附加和数校验代码。
例:
用QnA兼容3C帧格式1读出数据时
和校验实例(shílì)
出错(chūcuò)代码
所谓出错代码是对方(duìfāng)设备用于识别PLCCPU侧对于对方设备发出的请求的处理是否异常结束的代码。
1.2.7命令(mìnglìng)及响应字符局部说明
1、用ASCII代码(dàimǎ)进行通信时的字符局部的数据
读出时
写入时
2、二进制代码时的数据局部的数据
读出时
写入时
其中“*〞局部请参考(cānkǎo)3.2、3.3章节关于格式1及格式3帧格式说明
3、字符各局部(bùfen)说明
子命令(mìnglìng)
子命令(mìnglìng)是用于指定读出/写入的单位指定的软元件种类(zhǒnglèi)和读出数据的条件等的数据。
a用ASCII代码进行数据通信时,把0000H(0)或下述数值变换为4位数的ASCII代码十六进制数后使用从高位数0起发送。
b用二进制代码进行数据通信时使用0000H或下述2个字节的数值发送。
c子命令的指定内容如下所示:
d以下(xiàliè)情况下子命令变为0000H/0001H
选择无监视(jiānshì)条件指定和无软元件存储器扩展指定时;
使用不能选择监视(jiānshì)条件指定和软元件存储器扩展指定的命令时。
软元件(yuánjiàn)代码
用于识别(shíbié)读出/写入数据的软元件存储器的数据。
可以访问的软元件一览表〔Q/QnACPU〕
起始软元件软元件
是用于指定读出/写入数据的软元件存储器的编号(biānhào)数据在指定连续软元件存储器时指定软元件范围的起始编号。
软元件(yuánjiàn)点数
是在执行各命令(mìnglìng)时用于指定进行读出/写入的点数的数据。
指定(zhǐdìng)软元件点数的数据
是表示向指定(zhǐdìng)软元件存储器写入的数据内容或者从指定软元件存储器读出的数据内容的数据数据的排列因处理单位字/字节而不同。
位访问点数
是用于指定以位为单位进行访问的点数的数据。
设置/复位
是用于指定向位软元件写入数据的数据用以下数值指定。
2欧姆龙协议(xiéyì)宏与三菱Q系列(xìliè)PLC协议宏通信(tōngxìn)实验
2.1实验(shíyàn)准备
1、硬件(yìnɡjiàn)设备
欧姆龙PLC系统:
电源PA205R、控制器CJ2M-CPU35、串行通信模块CJ1W-SCU41-V1、端板
三菱PLC系统:
电源Q61p、控制器Q06HCPU、串行通信模块QJ71C24N-R2、基板Q312B
其他:
USB电缆、网线等
2、软件
欧姆龙:
PLC编程软件:
CX-Programmer;协议宏编程软件:
CX-Protocol
三菱:
PLC编程软件:
GX-Developer
其他:
串口调试工具、SUM校验工具CheckSUM
3、参考资料
SYSMACCX-Protocol1.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端口2RS232端口引脚定义:
欧姆龙SCU模块RS232端口引脚定义
2、三菱串行通信模块QJ71C24N-R2端口1RS232引脚定义:
三菱C24串行通信(tōngxìn)模块(mókuài)RS232端口引脚定义
3、欧姆龙RS232端口与三菱Q系列(xìliè)C24串行通信(tōngxìn)模块RS232端口连接(liánjiē)接线如下:
欧姆龙SCU模块RS232与三菱C24模块RS232串口连接线
4、为了方便测试发送的协议是否正确,在测试时先使用串口调试工具发送指定的协议命令,确保通信格式正确后再进行测试。
计算机RS232串口与三菱C24模块RS232串口连接接线如下:
PC机与三菱C24串口连接线
2.3PLC通信(tōngxìn)参数设置
2.3.1欧姆龙SCU模块(mókuài)通信参数设置
欧姆龙SCU串口通信模块(mókuài)通信可通过CX-Programmer或者(huòzhě)CX-Protocol软件(ruǎnjiàn)进行设置,考虑使用协议宏进行通信,本例在CX-Protocol软件进行设置。
设置窗口如下:
欧姆龙SCU模块通信参数设置
2.3.2三菱C24通信模块通信参数设置
三菱C24通信模块〔本例QJ71C24N-R2〕通信参数设置可通过GX-Developer软件进行设置:
翻开(dǎkāi)GX-Developer→参数(cānshù)→PLC参数(cānshù)→I/O分配(fēnpèi),选择通信(tōngxìn)模块所在的插槽,点击“选择设定〞,进入通信参数设定界面。
选择智能模块类型及型号
设置通信格式、波特率、通信协议等参数。
三菱C24模块(mókuài)通信参数设置方式(fāngshì)一
通信(tōngxìn)设置(shèzhì)必须和主站设置保持一致
通信参数也可以通过(tōngguò)开关设置进行,与通信参数设置窗口设置的内容其实是一一对应的。
通信开关设置〔包括通信格式、通信速率、通信协议选择及站号设定〕。
通信参数设置方式二
通信(tōngxìn)开关设置
开关(kāiguān)1〔CH1〕及开关3〔CH2〕对应通信(tōngxìn)格式及通信速率:
通信格式b7~b0,通信速率b15~b8。
通信格式(géshi)设定:
b7~b0
通信传输(chuánshū)格式设置
通信速率设定b15~b8
波特率设置
通信协议设置:
开关2〔通道1〕,开关4〔通道2〕
通信协议设置(shèzhì)
完成以上(yǐshàng)设置后,将修改后的设置下载到PLC。
2.4串口调试(diàoshì)工具测试
通信电缆连接(liánjiē)及通信参数设置完成后,使用串口调试工具(gōngjù)进行通信数据帧的测试。
这里以读取三菱D100~D104共5个软元件值为例,使用QnA兼容3C帧格式,使用格式3〔参考三菱Q系列PLC通信协议说明局部〕。
发送命令:
STXF90000FF0004010000D*001000005EXT37
STX
识别码
站编号
网络编号
PLC编号
上位机编号
命令
子命令
软元件代码
起始
软元件长度
ETX
校验码
软元件
STX
F9
00
00
FF
00
0401
0000
D*
000100
0005
ETX
07
其中07为识别码到ETX的和校验码〔注意不包括STX〕。
响应代码:
STXF90000FF00QACK11112222333344445555ETX4A
STX
识别码
站编号
网络编号
PLC编号
上位机编号
结束代码
D100
D101
D102
D103
D104
ETX
和校验
STX
F9
00
00
FF
00
QACK
1111
2222
3333
4444
5555
ETX
4A
2.5协议(xiéyì)宏程序编写
1、新建协议(xiéyì),选择(xuǎnzé)CS/CJ模式(móshì),命名(mìngmíng)为三菱Q系列MC格式3
2、为新建协议设置(shèzhì)目标单元,〔本例SCU单元(dānyuán)号为2〕
3、编写(biānxiě)发送命令(mìnglìng)及接收(jiēshōu)命令。
根据三菱Q系列MC协议格式3的命令格式,编写数据帧。
以读取三菱Q系列PLC软元件D2100~D2119共20个通道,存放在欧姆龙D2100开始的20个通道为例。
添加发送命令,命名为READ_D
发送命令:
STXF90000FF0004010000D*0021000014ETX和校验码
在欧姆龙协议(xiéyì)宏编程时,一些特殊的ASCII字符不能直接输入,如STX、ETX等,需要以CODE的形式(xíngshì)进行定义,起始码、结束码可以CODE格式进行(jìnxíng)定义。
欧姆龙协议(xiéyì)宏软件(ruǎnjiàn)内置了LRC、CRC、SUM等十多种校验工具,用户可根据实际情况进行选择使用。
三菱Q系列PLCMC协议和校验应选择SUM〔1Byte〕ASCII类型(lèixíng),校验范围为第2次字节开始。
添加接收(jiēshōu)命令,命名为READ_D’
接收(jiēshōu)命令:
STXF90000FF00QACK响应(xiǎngyìng)内容ETX校验码
其中(qízhōng)QACK是正常响应的结束代码。
响应内容这里以变量来表示,即定义接收内容的保存区。
需对变量类型、变量区域及接收长度进行定义。
由于(yóuyú)读取的三菱Q系列(xìliè)PLC内容(nèiróng),反应回来时先接收后面通道的数据再接收前面通道的数据,例如读取D1~D5的值,反应(fǎnkuì)回来的内容为D5D4D3D2D1,且接收的数据(shùjù)即是实际十六进制的数据,因此变量类型选择VariableHEXReverse。
〔同样,执行写命令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中调用(diàoyòng)协议(xiéyì)宏指令PMCR功能块,执行(zhíxíng)SCU通信(tōngxìn)单元已注册(zhùcè)的通信序列。
PMCR指令简要说明
由协议宏指定(zhǐdìng)接收或发送数据区,那么PMCR指令中的发送(fāsònɡ)字、接收字直接设定#0000。
通信(tōngxìn)端口0~7允许(yǔnxǔ)标志位:
A202.00~A202.07
SCU端口协议(xiéyì)宏执行标志位
Port1:
(n+9).15
Port2:
(n+19).15
n=1500+25xunitnumber
2.6监视通信状态——Trace功能
完成以上设置及编程,下载完毕后,执行PMCR指令,通过CX-ProtocolTrace功能监视通信状态。
Trace监视结果如下:
内容总结
〔1〕MC协议采用帧的形式进行通讯,它包括以下几种帧格式:
串行通信模块C24模块:
A兼容1C帧,包括1-4种格式QnA兼容2C帧,包括1-4种格式〔2〕各种数据通信帧的功能如下:
1、QnA兼容3C帧、QnA兼容4C帧、QnA兼容3E帧:
①主要用于从对方设备访问Q/QnACPU的全部软元件和全部文件为目的帧