自编三菱PLC通讯协议.docx
《自编三菱PLC通讯协议.docx》由会员分享,可在线阅读,更多相关《自编三菱PLC通讯协议.docx(15页珍藏版)》请在冰豆网上搜索。
自编三菱PLC通讯协议
FX系列可编程控制器(PLC)通讯常用方法
1、基本通讯方法
§1.1常用的通讯方法
§1.2计算机与FX-PLC通讯结构
2、通信格式
§2.1通讯基本格式
§2.2PLC相关通讯寄存器标志
§2.3通讯格式详解
§2.4举例
3、通讯过程
§3.1基本知识
§3.2专用通讯协议框图
§3.3专用通讯控制命令
4、附录
ASCII码表
1、基本通讯方法
§1.1常用通讯方法
FX系列PLC支持5种通讯方法
1)计算机链接:
用计算机做主机,通过RS485接口与16台PLC组网,采用专用
通讯协议,在计算机与PLC之间交换数据,本资料重点解决计算机链接问题,包括硬件连接、通讯参数设置、通讯格式等。
2)N网络:
可以将8台PLC构成网络,无需协议,自成网络。
3)并联:
可以将2台PLC并联成网络,也无需协议,自成网络。
4)PLC用RS指令发送、接收数据,与计算机等设备进行无协议通讯交换数据。
5)通过PLC编程接口,与计算机等设备进行数据交换,本厂采用该方式在MCGS
工业组态软件基础上,开发出各类锅炉专用的计算机监控系统。
§1.2计算机链接通讯结构
RS232CFX-485RC-IFFX1N-485-BD
1216
上述结构是一种采用计算机串行口与PLC链接的最基本方法,最远通讯距离
50M,其通讯相关参数见下表:
通讯接口:
FXON-485ADP/FX-485ADP/FX1N-485BD/FX1N-CNV-BD/FX1N-232BD可选。
通讯距离:
FX1N-485BD50M,选其它某些件,最远500M。
从站连接数:
最大16台
通讯方法:
半双工
数据长度:
7位/8位可选
校验:
不用/奇/偶可选
停止位:
1位/2位可选
波特率:
300/600/1200/2400/4800/9600/19200可选
超始符:
不用/有效可选
协议:
格式1/格式4可选
求和检查:
不用/有效可选
可选PLC类型:
FX2N,FX2NC,FX1N,FX1S,FXON,FX,FX2C
计算机与PLC通讯所需的时间,可通过计算得到。
由PLCf计算机
通讯时间二传送数据字符总量刘攵发一个字符的时间+PLC的最大扫描时间X3+计算机空等待时间
由计算机fPLC
通讯时间二传送数据字符总量刘攵发一个字符的时间+PLC的最大扫描时间+计算机空等待时间
例:
当一个字符占10位(字长7、校验1、停止位1、启动位1)选9600波特率,则收发一个字符需1.04ms。
2、计算机链接的通讯格式
§2.1基本格式
通讯格式就是确定通讯的参量,例如:
数据的长度、校验位、波特率等等,对PLC
通讯格式设置由数据寄存器D8120完成,每次对D8120做了修改,即改变PLC的通讯格式,都必须关闭PLC电源,然后重新送电,新的通讯格式才能被确认。
§2.3通讯格式详解(D8120)
位号
含义
描述
bo
数据长度
0:
7位1:
8位
b2b1
校验方式
00:
不用01:
奇校验11:
偶校验
b3
停止位
0:
1位1:
2位
b7b6b5b4
波特率
0001:
3000111:
4800
0100:
6001000:
9600
0101:
12001001:
19200
0110:
2400
b8
0:
不用注:
无协议通讯专用
b9
0:
不用同上
b12b11b10
通讯接口
000:
RS485(RS422)接口
010:
RS232C接口
b13
求和检杳
0:
不加求和码1:
自动加上求和码
b14
协议
0:
无协议通讯1:
专用通讯协议
b15
协议格式
0:
格式11:
格式4
§2.4举例
M8002
1|[MOVH4086D8120]
D8120=[0100000010000110]
数据长度7
校验偶
停止位1
波特率9600
通讯口RS485
求和检查不用
协议专用协议
协议格式格式1
3、通讯过程
§3.1基本知识
通讯控制码:
计算机与PLC之间通讯时,通过通讯控制码识别通讯任务,是计算机与PLC之间交流的语言,常用的通讯控制码如下:
控制码符号
控制码代码
描述
STX
02H
:
数据开始
ETX
03H
r数据结束
EOT
04H
传送结束
ENQ
05H
r请求通讯联络
ACK
06H
响应通讯联络
LF
0AH
换行
CL
0CH
清除
CR
0DH
回车
NAK
15H
不响应
§3.2专用通讯协议框图
1)计算机从PLC读数据
计算机
ENQ
数据
ACK
数据
PLC
STX
数据
其过程为:
计算机发出请求通讯联络,然后,将希望的任务在数据中描述,传给PLC,相关PLC获得后,根据计算机的要求,回复计算机开始回传数据,并将相关数据送出,计算机获得数据后,告诉相关PLC,已经获得数据,结束本次通讯。
2)计算机写数据到PLC中
计算机
ENQ
数据
ACK
数据
3)专用通讯协议的基本格式
控制码+呼叫从机的站号+本机的站号+控制命令+等待+发送的数据+(求和检查)+(控制码
CR+LF)
注1:
求和检查是否选用由通讯格式D8120的b13决定
注2:
结尾的控制码CR+LF是否选用由通讯格式D8120的b15决定,格式1表示不用该控制码,格式4表示使用。
4)计算机从PLC读数据的格式《格式1》
ENQ
从站号
本机
站号
控制
命令
等待
数据
求和
检查
ACK
从站号
主站号
STX
从站号
主站号
数据
ETX
求和
检查
5)计算机写数据到PLC中的格式《格式1》
ENQ
从站号
本机
站号
控制
命令
等待
数据
求和
检查
ACK
从站号
主站号
6)通讯协议详解
a)PLC在通讯过程中,一旦收到下列之一控制码,通讯将初始化:
ENQ、ACK、NAK,并响应主机。
b)一旦收到控制码EOT或CL,通讯将初始化,不响应主机
c)从机站号由N0.0至N0.15,PLC设定如下:
M8002
MOV
15
D8121
设为15号从站,16个从站并不需要顺序排列,可以自由设定,但不能重号。
d)计算机主站号,使用FFH
e)控制命令是通讯所要完成的相关任务的控制字,其描述详见下一节
f)等待时间:
计算机从发送切换到接收状态所需的延迟时间,PLC从收到计算机的信
息后,到开始向计算机发送信息,其最小时间间隔,是计算机必须等待的,该等待时间在0
到150ms之间设定,每10ms为一段,用0-FH代表
0代表0ms,1代表10ms,FH代表150ms
实际使用中,要大于70ms,若PLC扫描时间超过70ms,则该等待时间要大于扫描时间
§3.3专用通讯协议中的控制命令
本文的主导目的是在锅炉控制系统中,进行计算机链接,为了确保锅炉的可靠、稳定运行,只允许从PLC中读信息到计算机中,禁止向PLC写数据,以防止发生不可预计的意外。
因此,下面只对部分相关控制命令进行描述,其它详细内容,请参考相关通讯手册。
1)控制命令
命令1:
批量读PLC位单元
符号:
BR
ASCH码:
42H,52H
描述:
从PLC位单元(X、Y、MST、C)读一批数据,最大54位
命令2:
批量读PLC字单元
符号:
WR
ASCH码:
57H,52H
描述:
从PLC位单元组(X、Y、MS)读一批数据,或从PLC字单元(DT、C)读一批
数据,最大13字
2)FX1SPLC可以读取的数据区
位单元
范围
进制
X
X0000-X0017
8进制
Y
Y0000-Y0015
8进制
M
M0000-M0511
10进
S
S0000-S0127
10进
M
M8000-M8254
10进
T
TS000-TS063
10进
C
CS000-CS031
CS235-CS254
10进
字单元
范围
T
TN000-TN063
C
CN000-CN031
CN235-CN254
D
C0000-D0255
D8000-D8255
3)命令详解《不用求和码,格式1》
a)批量从PLC中读位单元数据到计算机中
ENQ
从站号
本机站号
BR
等待
位单元
首地位
数据
批量
ACK
从站号
主站号
STX
从站号
主站号
相关
数据
ETX
举例:
计算机由从站5中读X0开始的连续6点开关量到主站中,假设从站5是一台威索燃气蒸汽炉,触摸屏控制系统。
ENQ
05
FF
BR
A
X0000
06
ACK
00
FF
05H
30H
46H
42H
41H
58H30H30H
30H
06H
30H
46H
35H
46H
52H
30H30H
36H
35H
46H
STX
05
FF
101010
ETX
02H
30H
46H
31H,30H,31H,30H
03H
35H
46H
31H,30H
由上述举例可以看出,除已经介绍的控制码外,其它命令码,主从站号及数据等,由相应的ASCn码表
达,对应的字节数为:
控制码:
1字节
从站号:
2字节主站号:
2字节命令码:
2字节等待时:
1字节首地址:
5字节批量:
2字节
相应的ASCn码表,请参看本书的附录A
PLC位单元和字单元中数据的含义,视具体锅炉而定。
b)批量从PLC中读字单元数据到计算机中
ENQ
从站号
主站号
WR
等待
字单元
首地位
数据
批量
ACK
从站号
主站号
STX
从站号
主站号
相关
数据
ETX
举例:
计算机由从站0中读D11开始的连续2点到主站中。
同上例,则:
D11:
锅炉的工作状态
0:
等待工作
1:
强制手动吹扫
2:
风门打开
3:
预扫炉
4:
风门关至点火位
5:
准备点火
6:
开阀,点火
7:
手动强制小火燃烧
8;程序强制小火燃烧
D12:
锅炉故障码
0:
高水位
6:
关阀保护
7:
风压不足
10:
低水位
11:
蒸汽超高压力
9:
大火燃烧
10:
燃气压力低,停火
11:
燃气压力低停火,后扫
12:
压力自控停火
13:
压力自控停火,后扫
14:
手动停炉,后扫
15:
故障停炉
16:
故障停炉,后扫
17:
正在检漏
14:
风门关闭故障
15:
风门关小故障
16:
风门打开故障
18:
故障见火
19:
故障熄火
20:
点火失败
13:
风门控制失效
若D1仁0009HD12=0000H,即:
大火燃烧,高水位。
则相应的通讯命令如下:
ENQ
00
FF
WR
0
D0011
02
ACK
00
FF
05H
30H
46H
57H
30H
44H30H30H
30H
06H
30H
46H
30H
46H
52H
31H31H
32H
30H
46H
STX
00
FF
0009
0000
ETX
02H
30H
46H
30H,30H
30H,30H
03H
35HH
46H
30H,31H
30H,30H
4、附录A
ASCII码表如下:
Hexcode
0
1
2
3
4
B
•
7
0
DLE
SP
0
@
P
■
P
1
SPH
DC1
I
1
A
Q
a
q
2
SIX
DC2
2
B
R
b
r
3
PETX
DC3
3
C
S
c
s
4
EOT
DC4
$
4
D
T
M
t
5
ENQ
NAK
吒
5
匚
U「
e
<11
6
ACK
SYN
&
6
F
V
f
V
7
BEL
匚TB
7
G
pW
g1
w
8
BS
CAN
(
8
H
X
h
K
9
HT
EM
)
9
I
¥
i
y
A
U
SUB
-
J
2
j
z
'B
VT
ESC
+
K
[
k
{
C
FF
FS
<
L
\
l
1
D
CR
GS
-
―
M
1
m
t
SO
RS
N
ft.
n
F
SI
US
/
O
—
0
DLL