文章编号 : 1000 - 5188 (2003) 01 - 0052 - 0005
Vol. 24 No. 1 Mar. 2003
上海海运学院学报
Journal of
Shanghai Maritime University
基于 Memobus R TU 通信协议的 PL C 数据
优化组合传送方法
史建民 , 黄有方 , 赵婉莹
(上海海运学院 工学院 ,上海 200135)
摘 要 : 提出了一种 PLC 数据优化组合的传送方法。该法适合采用 Memobus RTU 通信协议的 PLC
向上位计算机传送大量数据时使用。同时 ,针对 PLC 内存变量分布不连续提出分块判据 ,可以明显
提高数据的整体传送速度。此方法的原理可以应用于其他类似的协议 ,例如 Modbus RTU 等。
关键词 : PL C ;数据传送 ;通信协议 ;Memobus R TU ;Modbus R TU
中图分类号 : TN919
5 文献标识码 : A
The PLC Data Optimized Block Moving Method Based
on the Memobus RTU Communication Protocol
SHI Jian
min , HUAN G You
fang , ZHAO Wan
ying
( Engineering College , Shanghai Maritime University , Shanghai 200135 , China )
Abstract : This article discusses t he PL C Data Optimized Block Moving Met hod , which is suitable for
transferring large amounts of data from PL C to Computer when using Memobus R TU Communication
Protocol. The Criterion of Block Divide provided in t his article can upgrade data transfer speed obviously ,
especially when t he data in PL C memory is uncontinual. The principle can also be applied to ot her similar
protocols , such as Modbus R TU and so on.
Key words : PL C ; data transfer ; communication protocol ; memobus R TU ; modbus R TU
0 引 言
在大型港口机械设备的远程服务中 ,经常要从
收稿日期 : 2002 - 09 - 20
基金项目 :上海市教委重点学科建设基金资助项目 (沪教委科
[ 2001 ]71 号文)
作者简介 : 史建民 (1949 - ) ,男 ,上海人 ,上海海运学院工
学院讲师 ,大学本科 ,研究方向为机电系统控制技术。
集装箱装卸桥的 PL C 中读取大量数据 ,传送给上位
计算机做远程监测 。大多数 PL C 采用 RS - 232 串
口通信 ,由于串口传送速度极慢 ,保证实时性就成了
值得关注的问题 。
PL C 串口通信协议的格式都比较复杂 ,冗余度
大 ,这样就更加恶化了串口的传送特性 。我们提出
的优化组合传送方法 ,最大限度地避免了串口通信
协议的冗余 ,明显提高了串口数据的传送效率 ,在实
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
No. 1
史建民 ,等 :基于 Memobus R TU 通信协议的 PL C 数据优化组合传送方法
35
际使用中取得了良好效果 。
本项研究有实际的应用背景 。研究时使用的
PL C 是日本安川公司 ( YAS KAWA) 的 CP - 316H ,
通信协议是公司内部非标准格式的 Memobus
R TU 。
1 CP - 316 H 串口通信的时间特性
RS - 232 串口传送数据时 ,对于每个字节 、位的
发送次序为 :起始位 、数据位 、奇偶校验位 、停止位 。
CP - 316H 通信参数为 :1 位起始 、8 位数据 、1 位偶
校验 、1 位停止 、波特率 9 600 bps。
对于每个 8 位数据的字节 ,总的发送长度为 11
位 。根据 9 600 波特率 ,发送一个字节的时间约为
1. 146ms。在最理想的情况下 ,每秒大约发送 872
个字节 。
2 Memobus R TU 通信协议
2
1 Memobus 工作原理
Memobus 是日本 YAS KAWA 公司内部的一种
用于可编程序控制器的工业数据通信系统 ,它适用
于公司下属多种产品间的互相通信 。Memobus 系
统由 1 个主单元和多达 63 个从单元组成 。任何一
台带有 RS - 232 通信口的计算机都可作为主单元 ,
从单元可以是 PL C。主从单元之间的串口通信受
到主单元中程序的控制 。主单元启动数据传输 ,从
单元仅仅是应答而已 。主单元一次只和一个从单元
通信 。每个从单元都有一个各自的地址码 ,主单元
通过地址码和相应的从单元对话 。收到主单元命令
的从单元执行指定的功能 ,并且对主单元做出应答 。
在主单元中预留一段监视响应时间 ,如果在预定时
间内没有接收到应答的话 ,重新发送相同的查询信
息 。用这种方法 ,主单元能够识别分布在不同地点
的从单元线圈的状态 ,能够读出或者改写它们寄存
器的内容 ,这使得对于广阔生产作业区的集中监控
成为可能 。Memobus 在主从单元之间有两种通信
模式 ,R TU ( Remote Terminal Unit 远程终端) 和
ASCII 模式 。R TU 模式的格式紧凑 ,ASCII 模式的
可读性好 。当主单元的数据处理速度相对比较快
时 ,选择 R TU 模式 。
2
2 Memobus RTU 读出功能
作为远程监测 ,只需研究读出功能 。Memobus
R TU 的读出功能一共有 4 条 。线圈和输入继电器
都是数据位 ,所以 01H 功能和 02H 功能有相似的格
式 。中间寄存器和输入寄存器都是数据字 (16 位长
度) ,03H 和 04H 有相似的格式 。
表 1 Memobus RTU的读出功能
功能码
功 能
参考地址
相对地址
查询信息
01 H
02 H
03 H
04 H
读出线圈状态
读出输入继电器状态
读出中间寄存器内容
读出输入寄存器内容
0XXXX
1XXXX
4XXXX
3XXXX
0XXXX - 00001
1XXXX - 10001
4XXXX - 40001
3XXXX - 30001
8 字节
8 字节
8 字节
8 字节
应答信息
6~255 字节
6~255 字节
7~255 字节
7~255 字节
2
3 01 H、02 H功能的信息格式和时间特性
01H 和 02H 功能的信息格式见表 2 和表 3 。
表 2 主单元的查询信息
从单元地址
功能码
起始地址
数据位数(1~2 000 位)
CRC - 16 校验
1 字节
1 字节
2 字节
2 字节
2 字节
表 3 从单元的应答信息
从单元地址
功能码
数据字节数
数据实际内容
CRC - 16 校验
1 字节
1 字节
1 字节
1~250 字节
2 字节
计算机从 PL C 读出一个数据位的时间为 :
主单元 8 字节的查询时间 + 从单元 6 字节的应
答时间 = 1. 146 ×14 = 16. 044ms。本项目一共要读
出 1 557 个数据位 ,逐位读出要花费 24. 98s。
2
4 03 H、04 H功能的信息格式和时间特性
03H、04H 功能的信息格式和时间特性见表 4
和表 5 。
表 4 主单元的查询信息
从单元地址
功能码
起始地址
数据字数(1~125 字)
CRC - 16 校验
1 字节
1 字节
2 字节
2 字节
2 字节
表 5 从单元的应答信息
从单元地址
功能码
数据字节数
数据实际内容
CRC - 16 校验
1 字节
1 字节
1 字节
2~250 字节
2 字节
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
1
45
1
上 海 海 运 学 院 学 报
2003
计算机从 PL C 读出一个数据字的时间为 :
主单元 8 字节的查询时间 + 从单元 7 字节的应
答时间 = 1. 146 ×15 = 17. 19ms。本项目一共要读
出 354 个数据字 ,逐字读出要花费 6. 08 秒 ,加上数
据位一共 31. 06 秒 。
3 CP - 316 H 的内存变量
3
1 内存变量的表示法
内存变量的表示法见表 6 。
表 6 内存变量的表示法
代号
MB
IB
MW
IW
名称
线圈
输入继电器
中间寄存器
输入寄存器
表示方法
MB nnnnnh
IB hhhhh
MW nnnnn
IW hhhh
内存地址取值
MB000000~16384F
IB00000~6400F
MW00000~16384
IW0000~6400
参考地址取值
00001~09999
10001~19999
40001~49999
30001~39999
注 : n 为 10 进制数 , h 为 16 进制数
在 CP - 316H 中 ,MB 和 MW 在内存的存储空
间是重合的 。MB 是数据位 。MW 是数据字 ,长度
相当于 16 位 。MW 地址用 5 位 10 进制数表示 ,读
出容量为 16 384 字 。MB 地址用 5 位 10 进制数加
1 位 16 进制数表示 ,读出容量为 262 144 位 ,相当
于 163 84 字 。
IB 和 IW 在内存的存储空间是重合的 。IB 是
数据位 。IW 是数据字 ,长度相当于 16 位 。IW 地
址用 4 位 16 进制数表示 ,读出容量为 25 600 字
(6 400H) 。MB 地址用 5 位 16 进制数表示 ,读出容
量为 409 600 位 ,相当于 25 600 字 。
CP - 316H 的内存地址混用 10 进制数和 16 进
制数 ,参考地址和它的换算例如下 :
00001 = MB000000 ,09999 = MB00624 E
10001 = IB00000 ,19999 = IB0270 E
40001 = MW00000 ,49999 = MW09998
30001 = IW0000 ,39999 = IW270 E
虽然理论上 CP - 316H 内存地址的取值范围很
大 ,读出容量惊人 。但是实际上由于参考地址的限
制 ,对于上位计算机来说 ,通过通信读出的数据是有
限的 。对于 MB00624 E、IB0270 E、MW09998 、
IW270 E 以上的内存变量 ,上位计算机无法读到 。
经统计 ,本项目的待读变量为 :MB 1 045 个 、IB 512
个 、MW 310 个 、IW 44 个 。
3
2 内存变量的分布图
作为讨论例子 ,画出了内存中一小部分 MB/ W
的分布图 (见图 1) 。各个内存变量 ,MB 或者 MW ,
根据内存地址递增次序 ,用浅灰色依次填入 。当
MB 和 MW 有重迭时 ,把不传送的涂成深灰色 。如
MB000010 、MB000011 和 MW00001 重迭 。决定
MW00001 不传送 ,涂成深灰色 。全部画完后可以
直观地看出内存变量的分布 。IB 和 IW 与此相似 ,
不再重复 。
4 优化组合传送方法
4
1 按字传送
图 1
查询信息 ( N ×8) 个字节 。应答信息 ( N ×7) 个字
节 。总长度 ( N ×15) 个字节 ,或者 ( N ×7. 5) 个字 。
4
2 按自然块传送
在执行 04H 功能的情况下 ,按字传送 N 个字 ,
定义一 :有效数据地址连续的块称为“自然块”。
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
No. 1
史建民 ,等 :基于 Memobus R TU 通信协议的 PL C 数据优化组合传送方法
55
在执行 04H 功能的情况下 ,按自然块传送 N
个字 ,查询信息 8 个字节 。应答信息 ( N ×2 + 5) 个
字节 。总长度 ( N ×2 + 13) 个字节 ,或者 ( N + 6. 5)
个字 。
显然 , N > 1 时 ,按字传送的总长度 ( N ×7. 5)
> 按块传送的总长度 ( N + 6. 5)
所以 ,传送 1 个以上的字时 ,“按块传送”的效率
高 。
4
3 N1 、N2 两个自然块之间有 M 字空洞的传字
方案
定义二 :没有有效数据 ,地址连续的部分称为
“数据空洞”。
定义三 :自然块和数据空洞的组合结构称为“组
合块”。
假设有 N 1 , N 2 两个自然块 ,分别有 N 1 个字和
N 2 个字 。在这两个自然块之间有 M 个连续地址
没有有效数据 ,我们称为 M 字的数据空洞 。传送
N 1 、N 2 有两种方案 。
方案一 :按自然块分别传送 N 1 和 N 2
查询长度 :8 + 8 字节
应答长度 : ( N 1 ×2 + 5) + ( N 2 ×2 + 5) = ( N 1 +
N 2) ×2 + 10 字节
总长度 : ( N 1 + N 2 + 13) 字
方案二 :按组合块传送 N 1 和 N 2
把自然块 N 1 、空洞 M 和自然块 N 2 放在一起 ,
构成长度为 ( N 1 + M + N 2) 的块 ,我们把这种结构
的块称为“组合块”
查询长度 :8 字节
应答长度 : ( N 1 + M + N 2) ×2 + 5 字节
总长度 : ( N 1 + N 2 + M + 6. 5) 字
方案比较
“方案二”优于“方案一”的充要条件是
( N 1 + N 2 + M + 6. 5) < ( N 1 + N 2 + 13)
即 M < 6. 5 字
传字分块判据 当数据空洞不大于 6 个字时 ,
按组合块传送较优 。我们把数据空洞不大于 6 个字
的组合块称为“优化组合块”。
4
4 N1 、N2 两个自然块之间有 M 位空洞的传位
方案
运用对称原理 ,作出相似推导 。
传位分块判据 ,当数据空洞不大于 96 位时 ,按
组合块传送较优 。我们把数据空洞不大于 96 位组
合块称为“优化组合块”。
4
5 “优化组合块”的最大长度
定义四 :数据空洞不大于 6 个字或者 96 位的组
合块称为“优化组合块”。
根据 3. 3 节 ,主单元查询信息的最大数据位数
为 2 000 。根据 3. 4 节 ,主单元查询信息的最大数
据字数为 125 。Memobus R TU 通信协议的这些限
制 ,决定了“优化组合块”的最大长度 。
4
6 实际应用
根据分块判据 ,4. 2 节分布图例的“优化组合
块”一共有 3 块 (见表 7) 。注意 M - 03 块中有较大
的空洞 ,00023~25 (48 位) 、00028~30 (48 位) 。采
用“优化组合块”来进行 PL C 到上位计算机的数据
传送 ,能够保证最快的整体传送速度 。
块 号
M - 01
M - 02
M - 03
数据块名称
AMB00000
AMW00005
AMB00020
表 7 优化组合块的实际应用
参考起址
00001
40006
00321
数据长度
3 ×8 = 24 位
13 字
25 ×8 = 200 位
查询字节
8
8
8
应答字节
3 + 5 = 8
13 ×2 + 5 = 31
25 + 5 = 30
在本项目中 ,CP - 316H 的 MB/ W 内存变量的
“优化组合块”一共有 43 块 ,合计查询字节 344 ,合
计应答字节 1 266 。IB/ W 内存变量的“优化组合
块”一共有 16 块 ,合计查询字节 128 ,合计应答字节
296 。
全部传送时间 = (344 + 1 266 + 128 + 296) ×
1. 146 = 2 330. 96ms = 2. 33s
和 3. 4 节比较 ,按位 、按字传送相同的数据量要
31. 06s。优化组合传送的整体速度提高了十几倍 ,
这个结果是非常理想的 。
5 结束语
不同设备不同系统之间的信息交互 ,关键问题
在于通信协议的研究 ,有时即使能够实现通信 ,也不
能保证有良好的信息传送质量 。本文在研究
Memobus R TU 通信协议所有细节的基础上 ,提出
了优化组合传送方法 ,使 PL C 向上位计算机传送数
据的整体速度能够得到最大提升 。本文的研究技术
路线可以为类似的研究提供一个示例 。
(下转第 59 页)
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
No. 1
孙可平 ,等 :电子器件氧化层 ESD 介质击穿物理模型研究
95
拟电路中与氧化层串联的电阻 R = 1 500Ω , C =
100p F , 氧化层的厚度为 400
。但 3 种样品的有效
面积 则 大 不 相 同 。所 加 ESD 脉 冲 峰 值 电 场 为
20MV/ cm , 衰减时间为 150ns。这时该门电路氧化
层的击穿电压计算值与实测值列于表 2 。
表 2 门电路中氧化层介质击穿电压
( HBM 电路中的 ESD 脉冲电压)
介质电容
(p F)
20
13
11. 5
氧化层有效
面积 (cm2)
9. 09 ×10 - 6
5. 91 ×10 - 6
5. 23 ×10 - 6
击穿电压实
测值 (V)
击穿电压理论
计算值 (V)
200
175
75
203
176
169
由表 2 清楚地表明 ,前两种较宽氧化层的样品 ,
其介质击穿电压理论值与实测值惊人地一致 。证明
这种介质击穿模型是可信的 。而后一种较小面积的
样品 有 较 大 差 异 , 可 能 是 所 谓 缺 损 密 度 的 变 化
(defect density variation) 导致较小氧化层过早击穿
造成的 。
3. 4 门电路氧化层 ESD 敏感度的尺寸效应
我们以表 2 所列的厚度为 400
、面积为 9. 09
×10 - 6cm2的门电路氧化层为例 ,讨论一下 ESD 敏
感度的尺寸效应 。
表 2 显示这种氧化层的击穿电压约为 203V 。
如果我们缩小该种材质的氧化层尺寸 ,即将原来的
厚度缩致 40
而有效面积保持不变 ,则击穿电压约
为 160V 。如果面积也同时成比例地缩小 ,则击穿电
压经计算变为 20V 左右 。可见 ,集成电路集成度的
提高 ,伴随而来的必是耐 ESD 性能的降低 。因此 ,
如何使集成技术与 ESD 控制技术同步发展 ,是电子
工业顺利发展的关键之一 。
参考文献
[ 1 ] Distefano T H , Shatzkes M. Dielectric Instabilit y and
Breakdown in SiO2 Thin Tilm[J ] . J . Vac. Sci. Technol. ,1976
(13) :50 - 54.
[ 2 ] O’Dwyer J . J . Theory of High Field Conduction in A Dielectric
[J ] , J . Appl. Phys. ,1969 (39) :3887 - 3890.
[ 3 ] Dimaria D J , etc , Impact Ionization and Positive Charge
Formation in Silicon Dioxide Films on Silicon , Appl. Phys. lett . ,
1992 (60) :2118 - 2120.
[ 4 ] Klein N , Solomon P. Current Runaway in Insulators Affected
by Impact Ionization and Recombination[J ] , J . Appl. Phys. ,
1976 (47) :4364 - 4372.
[ 5 ] Lin D L ,Welsher T L , From Lightning to Charged
device
Model Electrostatic Discharges[J ] . EOS/ ESD symp . Proc. ,
EOS - 14 , 1992 , 68 - 75.
[ 6 ] 孙可平 ,等. 电子器件热击穿物理模型研究[ M ] . 南海出版公
司 , 2002. 6 , 6 - 10.
[ 7 ] Ward A L . Calculation of Electrical Breakdown in Air at Near -
atomspheric Pressure , Phys. Rek. , 1965 (138) :1357 - 1362
[ 8 ] Lin D L . Electron Multiplication and Electrostatic Discharge
Wave Forms[J ] , J . Appl. Phys. ,1992 (71) :2580 - 2586.
(责任编辑 廖粤新)
(上接第 55 页)
参考文献
[ 4 ] YASKAWA. SIE - C877 - 17. 4C , CP - 717 Operation Manual
〔Z〕.
[ 5 ] YASKAWA. SIE - C877 - 17. 5C , CP - 717 Operation Manual
〔Z〕.
[ 1 ] GE Fanuc. GF K - 0582B , Series 90 PLC Serial Communications
User’s Manual YASKAWA , SIE - C873 - 16. 1 , Control Pack
CP - 316 User’s Manual〔Z〕.
[ 2 ] YASKAWA. SIE - C873 - 16. 1 , Pack CP - 316 User’s
Manual〔Z〕.
[ 6 ] YASKAWA. SIE - C815 - 13. 60 E , MEMOBUS Descriptive
Information〔Z〕.
[ 7 ] 郭宗仁. 可编程序控制器及其通信网络技术〔M〕. 北京 :人民邮
电出版社 ,1999.
[ 8 ] [ 美 ]J . Scott Haugdahl. 网络分析与故障排除实用手册〔M〕. 北
[ 3 ] YASKAWA. SIE - C873 - 16. 2 , FDS Series Programming
京 :电子工业出版社 ,2000.
Manual〔Z〕.
(责任编辑 廖粤新)
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net