资源描述
FX系列可编程控制器(PLC)通讯常用方法
目 录
1、基本通讯方法
§1。1常用的通讯方法
§1.2计算机与FX-PLC通讯结构
2、通信格式
§2.1通讯基本格式
§2。2 PLC相关通讯寄存器标志
§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计算机链接通讯结构
RS232C FX-485RC—IF FX1N—485—BD
PLC
PLC
PLC
计算机
………
1 2 16
上述结构是一种采用计算机串行口与PLC链接的最基本方法,最远通讯距离50M,其通讯相关参数见下表:
通讯接口:FXON—485ADP /FX-485ADP/FX1N—485BD/FX1N—CNV—BD/FX1N-232BD可选。
通讯距离:FX1N—485BD 50M,选其它某些件,最远500M。
从站连接数:最大16台
通讯方法:半双工
数据长度:7位/8位 可选
校验: 不用/奇/偶 可选
停止位: 1位/2位 可选
波特率:300/600/1200/2400/4800/9600/19200 可选
超始符:不用/有效 可选
协议:格式1/格式4 可选
求和检查:不用/有效 可选
可选PLC类型:FX2N,FX2NC,FX1N,FX1S,FXON,FX,FX2C
计算机与PLC通讯所需的时间,可通过计算得到。
由PLC→计算机
通讯时间=传送数据字符总量×收发一个字符的时间+PLC的最大扫描时间×3+计算机空等待时间
由计算机→PLC
通讯时间=传送数据字符总量×收发一个字符的时间+PLC的最大扫描时间+计算机空等待时间
例:当一个字符占10位(字长7、校验1、停止位1、启动位1)
选9600波特率,则收发一个字符需1.04ms。
2、计算机链接的通讯格式
§2。1 基本格式
通讯格式就是确定通讯的参量,例如:数据的长度、校验位、波特率等等,对PLC通讯格式设置由数据寄存器D8120完成,每次对D8120做了修改,即改变PLC的通讯格式,都必须关闭PLC电源,然后重新送电,新的通讯格式才能被确认。
§2.2 PLC相关的通讯标志
专用辅助继电器 描述
M8126 全局标志
M8127 通讯请求握手信号
M8128 出错标志
M8129 通讯请求切换
专用数据寄存器 描述
D8120 通讯格式
D8121 从站号(最多16个)
D8127 交换数据的首地址
D8128 交换数据量
D8129 网络通讯超时时间确认值
§2.3 通讯格式详解(D8120)
位号
含 义
描 述
bo
数据长度
0: 7位 1: 8位
b2b1
校验方式
00:不用 01:奇校验 11:偶校验
b3
停止位
0: 1位 1: 2位
b7b6b5b4
波特率
0001:300 0111:4800
0100:600 1000:9600
0101:1200 1001:19200
0110:2400
b8
0:不用 注:无协议通讯专用
b9
0:不用 同上
b12b11b10
通讯接口
000:RS485(RS422)接口
010:RS232C接口
b13
求和检查
0:不加求和码 1:自动加上求和码
b14
协议
0:无协议通讯 1:专用通讯协议
b15
协议格式
0:格式1 1:格式4
§2.4 举例
M8002
[MOV H4086 D8120]
D8120=[0100 0000 1000 0110]
数据长度 7
校验 偶
停止位 1
波特率 9600
通讯口 RS485
求和检查 不用
协议 专用协议
协议格式 格式1
3、通讯过程
§3.1基本知识
通讯控制码:计算机与PLC之间通讯时,通过通讯控制码识别通讯任务,是计算机与PLC之间交流的语言,常用的通讯控制码如下:
控制码符号
控制码代码
描述
STX
02H
数据开始
ETX
03H
数据结束
EOT
04H
传送结束
ENQ
05H
请求通讯联络
ACK
06H
响应通讯联络
LF
0AH
换行
CL
0CH
清除
CR
0DH
回车
NAK
15H
不响应
§3.2专用通讯协议框图
1) 计算机从PLC读数据
数据
ACKKK
数据
ENQ
计算机
数据
STX
PLC
其过程为:计算机发出请求通讯联络,然后,将希望的任务在数据中描述,传给PLC,相关PLC获得后,根据计算机的要求,回复计算机开始回传数据,并将相关数据送出,计算机获得数据后,告诉相关PLC,已经获得数据,结束本次通讯。
ENQ
数据
ACK
2) 计算机写数据到PLC中
数据
计算机
3) 专用通讯协议的基本格式
控制码+呼叫从机的站号+本机的站号+控制命令+等待+发送的数据+(求和检查)+(控制码CR+LF)
注1:求和检查是否选用由通讯格式D8120的b13决定
注2:结尾的控制码CR+LF是否选用由通讯格式D8120 的b15决定,格式1表示不用该控制码,格式4表示使用。
4) 计算机从PLC读数据的格式《格式1》
ENQ
从站号
本机站号
控制命令
等待
数据
求和检查
STX
从站号
主站号
数据
ETX
ACK
从站号
主站号
求和检查
5) 计算机写数据到PLC中的格式《格式1》
ENQ
从站号
本机站号
控制命令
等待
数据
求和检查
ACK
从站号
主站号
6) 通讯协议详解
a) PLC在通讯过程中,一旦收到下列之一控制码,通讯将初始化:ENQ、ACK、NAK,并响应主机。
b) 一旦收到控制码EOT或CL,通讯将初始化,不响应主机
c) 从机站号由NO.O至NO.15,PLC设定如下:
D8121
15
MOV
M8002
设为15号从站,16个从站并不需要顺序排列,可以自由设定,但不能重号.
d) 计算机主站号,使用FFH
e) 控制命令是通讯所要完成的相关任务的控制字,其描述详见下一节
f) 等待时间:计算机从发送切换到接收状态所需的延迟时间,PLC从收到计算机的信息后,到开始向计算机发送信息,其最小时间间隔,是计算机必须等待的,该等待时间在0到150ms之间设定,每10ms为一段,用0- FH代表
0代表0ms,1代表10ms,……FH代表150ms
实际使用中,要大于70ms ,若PLC扫描时间超过70ms,则该等待时间要大于扫描时间
ENQ
等待时间必须长于2个扫描周期
传送开始有超过100ms延迟
则:等待时间可以设定为“A”,即100ms延迟。
g) 求和检查:请参考相关说明,本文不详述
表示超时检查为60ms,可选范围1到255
h) 超时检查
MOV
K6
D8129
M8002
§3.3专用通讯协议中的控制命令
本文的主导目的是在锅炉控制系统中,进行计算机链接,为了确保锅炉的可靠、稳定运行,只允许从PLC中读信息到计算机中,禁止向PLC写数据,以防止发生不可预计的意外。因此,下面只对部分相关控制命令进行描述,其它详细内容,请参考相关通讯手册.
1) 控制命令
命令1: 批量读PLC位单元
符号: BR
ASCⅡ码:42H ,52H
描述: 从PLC位单元(X、Y、M、S、T、C)读一批数据,最大54位
命令2: 批量读PLC字单元
符号: WR
ASCⅡ码:57H, 52H
描述: 从PLC位单元组(X、Y、M、S)读一批数据,或从PLC字单元(D、T、C)读一批数据,最大13字
2) FX1S PLC可以读取的数据区
位单元
范围
进制
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
等待
位单元
首地位
数据批量
STX
从站号
主站号
相关数据
ETX
ACK
从站号
主站号
由上述举例可以看出,除已经介绍的控制码外,其它命令码,主从站号及数据等,由相应的ASCⅡ码表达,对应的字节数为:控制码:1字节
从站号:2字节
主站号:2字节
命令码:2字节
等待时:1字节
首地址:5字节
批 量:2字节
相应的ASCⅡ码表,请参看本书的附录A
PLC位单元和字单元中数据的含义,视具体锅炉而定。
举例:计算机由从站5中读X0开始的连续6点开关量到主站中,假设从站5是一台威索燃气蒸汽炉,触摸屏控制系统。
则:X0:停炉按钮 0/1:按下/正常位
X1:高水位 0/1:正常/高水位
X2:补充水位 0/1:正常/需补充水位
X3:低水位 0/1:正常/水位低
X4:超高压力 0/1:超压报警/正常
X5:高压停炉 0/1:高压停炉/允许燃烧点
若X0-X5相应为:101010(按钮下正常位,水位在补水位,压力在高压停炉点),则相应的通讯命令如下
ENQ
05H
05
30H 35H
FF
46H 46H
BR
42H 52H
A
41H
X0000
58H 30H 30H 30H 30H
06
30H 36H
STX
02H
05
30H 35H
ETX
03H
ACK
06H
00
30H 35H
FF
46H 46H
101010
31H, 30H,31H,30H 31H,30H
FF
46H 46H
b) 批量从PLC中读字单元数据到计算机中
ENQ
从站号
主站号
WR
等待
字单元
首地位
数据批量
STX
从站号
主站号
相关数据
ETX
ACK
从站号
主站号
举例:计算机由从站0中读D11开始的连续2点到主站中。
同上例,则:
D11:锅炉的工作状态
0:等待工作
9:大火燃烧
1:强制手动吹扫
10:燃气压力低,停火
2:风门打开
11:燃气压力低停火,后扫
3:预扫炉
12:压力自控停火
4:风门关至点火位
13:压力自控停火,后扫
5:准备点火
14:手动停炉,后扫
6:开阀,点火
15:故障停炉
7:手动强制小火燃烧
16:故障停炉,后扫
8;程序强制小火燃烧
17:正在检漏
D12:锅炉故障码
0:高水位
14:风门关闭故障
6:关阀保护
15:风门关小故障
7:风压不足
16:风门打开故障
10:低水位
18:故障见火
11:蒸汽超高压力
19:故障熄火
13:风门控制失效
20:点火失败
若D11=0009H D12=0000H,即:大火燃烧,高水位.则相应的通讯命令如下:
ENQ
05H
00
30H 30H
FF
46H 46H
WR
57H 52H
0
30H
D0011
44H 30H 30H 31H 31H
02
30H 32H
STX
02H
00
30H 35HH
ETX
03H
ACK
06H
00
30H 30H
FF
46H 46H
0009
30H, 30H 30H,31H
0000
30H,30H 30H, 30H
FF
46H 46H
4、附录A
ASCII码表如下:
展开阅读全文