基于Modbus协议的PC机与S7—200PLC的串行通信.pdf

返回 相似 举报
基于Modbus协议的PC机与S7—200PLC的串行通信.pdf_第1页
第1页 / 共3页
基于Modbus协议的PC机与S7—200PLC的串行通信.pdf_第2页
第2页 / 共3页
基于Modbus协议的PC机与S7—200PLC的串行通信.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述:
第 3 期 总第 1 4 8期 2 0 0 8年 6月 机 械 工 程 与自 动 化 MECHANI CAL ENGI NEERI NG AUTOM ATI ON No. 3 J u n . 文章编号 1 6 7 2 6 4 1 3 2 O O 8 O 3 一 O O 8 5 一 O 3 基于 Mo d b u s协议 的 P C机 与 S 7 2 0 0 P L C的串行通信 章 程 ,程 文明, 肖建 军 西南交通大学 机械 2I . 程 学院,四川 成都 6 1 0 0 3 1 摘 要 介绍 了 Mo d b u s协议并讨论 了遵 守 Mo d b u s R T U 协议的传输数据 的CR C算法验证 的实现 。 结合 西门子 S 7 2 0 0 P L C的特点给 出了利用 Vi s u a l B a s i c中的 MS C o mm 控件实现基于该协议 的计算机 与可编 程控 制器串 行 通信的方法 。 关 键 词 PL C; 串行 通 信 ;Mo d b u s协议 中图分类号 TP 2 7 4 文献标识码 A 0 引言 在工业控制领域中,P I C作为一种稳定可靠的控 制器得到了广泛的应用。 但它也有一些 自身的缺点 数 据的计算处理和管理能力较弱 ,不能给用户提供 良好 的界面 等 。而计算 机恰 好 能弥补 P I C的 不 足 , 它 不但 有 很强 的数 据处 理和 管理 能力 ,而且 能 给用 户提供 非 常美观 而又 易于操 作 的界 面 。 将 P I c与计算机结合 ,可使系统既能及时地采 集 、存储 数据 ,又可 处理 和使 用好 数据 ,这 是 P I C发 展和应用的一个热点问题。 计算机与 P I c结合的关键 是它们之间通信功能的实现,本文主要介绍如何利用 Vi s u a l B a s i c的 MS C o mm 控 件 和 Mo d b u s协 议 来 轻 松 地实 现计算 机与 P I c之 间 的串行 通信 。 1 S 7 2 0 0系列 P L C的通信 协议 u j 西 门 子 S 7 2 0 0系列 P I C是 一种 小 型整 体 结 构 形 式 的 P I C,内部集 成 的 P P I 接 口为用 户提供 了强大 的通信功能 ,根据不同的协议 ,通过此接口与不同的 设备进行通信或组成网络。 S 7 2 0 0 P I C 支 持 多 种 通 信 协 议 , 比 如 点 到 点 p o i n t t o p o i n t 接 口协 议 P P I 、 多 点 Mu l t i P o i n t 接 口协 议 MP I 、 P r o f i b u s协 议 、 用 户 定 义 的协 议 自 由端 口模 式 。 而大 多数用 户选 用 的是 对用 户完 全开 放 的 自由端 口模 式 。 在 自由端 口模式 , 计 算 机与 S 7 ~2 0 0 之间可以用以下的方法来通信 ①使用 Mo d b u s从站 协议 ;②使用用户 自定义 的协议 自由端 口模式 。 自由端 口模式为计算机或其它有串行通信接 口的 设备与 s 7 2 0 0 P I C之间的通信提供 了一种廉价和灵 活的方法 。 计算机与 P I , c通信时 ,为了避免通信中各 方争用通信线 , 一般采用主从方式 , 即计算机为主机 , P I c为从 机,只有 主机 才有 权 主动 发送请 求 报文 R e q u e s t m e s s a g e , 或称为请求帧 ,从机收到后返 回 响应 报文 。 2 Mo d b u s 协 议简 介[ 2 . 3 3 Mo d b u s自 1 9 7 9年被 MODI C ON公 司开发 以来 , 作为一种网络通信协议 ,它在工业 自动化领域被广为 应用 。Mo d b u s 协 议 可 以使 用 RS 一2 3 2 C兼 容 串行 接 口作为物理接 口, 方便实现基于数/ 模控制的仪表等终 端设备的控制。 Mo d b u s 协议详细定义了校验码、 数据序列等 , 这 些都 是特 定数 据 交 换 的必 要 内 容 。Mo d b u s协议 在 一 根通信线上使用主从应答式连接 半双工 ,这意味着 在 一 根 单 独 的通 信 线 上 信 号 沿 着 相 反 的两 个 方 向传 输 。首先,主计算机的指令信号寻址到一台惟一的终 端设备 从机 ,然后 ,终端设备发出的应答信号以相 反的方 向传输 给主机 。 另外 , Mo d b u s协议 只允许在 主 机 P C, P I C等 和终端设备之间通信 ,而不允许独立 的终端设备之间的数据交换 ,这样各终端设备不会在 它们初始化时占据通信线路,而仅限于响应到达本机 的查 询信 号 。 Mo d b u s协议 有 AS C I I和 RT U 两 种传输模 式。 其中, R TU模式信息帧中的 8位数据包括两个 4 位十 六进 制 字符 , 相 对 AS CI I 模式 , R TU 模式 表达 相 同的 信息需要较少的位数 ,在相同通信速率下具有更大的 数 据 流 量 ,因 此 通 常 情 况 下 都 是 采 用 RT U 模 式 的 Mo d b u s协议 。R Tu 通信帧的基本结构见图 1 。 遵 循 Mo d b u s RT U 协 议 的主 机一 终端 控 制 系 统 收稿 日期2 0 0 7 0 9 3 0 ;修 回日期 2 0 0 8 0 1 一 l l 作者简介 章程 1 9 8 2 一 , 男 , 湖南岳阳人 , 硕士研究生 , 研究方向 机电智能控制 。 维普资讯 学兔兔 w w w .x u e t u t u .c o m 8 6 机 械 工 程 与 自 动 化 2 0 0 8年 第 3期 在运行过程中,相互之间经常需要进行数据传输,为 了保证数据在传送过程中正确无误 ,必须引入某种差 错检查机制对数据信息进行检验 ,以检测是否有数据 传送错误。通常是使用检验码的方法来检测数据是否 出错 ,而 C RC就 是 常用 的一种 检验码 。Mo d b u s中生 成 C R C的步骤为 ①预置一个 1 6 位寄存器为十六进 制数 F F F F 全为 1 , 该寄存器称为 C RC寄存器 ; ②把 第 一个 8位数据与 1 6位 C RC寄存器的低 8位相异 或 , 将结果放于 C R C寄存器中; ③把寄存器的内容右 移一位 向最低位 I S B方向 ,用 0填补最高位 MS B, 并检查最低位 ;④如果最低位 L S B为 0 ,重复步骤③ 再 次移位 ,如果 最低 位 L S B为 1 , C R C寄存 器 与多 项式码 A0 0 1 He x 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 进行异或 ; ⑤重 复步骤③和④ ,直到右移 8次,这样整个 8 位数据全 部进行了处理 ;⑥重复步骤②到⑤ ,进行下一个 8位 数据的处理 ,直到所有的字节被处理 ;⑦最后得到的 C R C寄存器内容即为 C R C码。 图 1 R T U 通信帧的基本结构 必须 注意 , 当 C R C寄存 器值被 置入 消息 时 , 它 的 高位 字节 和低位 字节 必须交 换 。 当 1 6位 C R C 两 个 8 位字节 在消息中被传送, 低位字节将先被传送 , 随后 传送 高位字 节 。 3 上 位机 通信 程序设 计 VB中的 MS C o mm控件实用性强 、功能完善 , 为 应用程序提供了通过串行接 口收发数据的简便方法 。 MS C o mm控件提供两种处理通信的方式 一种是 事件驱动方式,另一种是查询方式 。事件驱动方式是 处理串行端 口交互作用的一种非常有效的方法 ,许多 情况下在事件发生时需要得到通知。例如,在有字符 到达或发生变化时 ,不管是发生通信事件或错误 ,程 序都可以利用 MS C o mm控件检测并处理。事件驱动 方式 的优 点是 程序 响应及 时 、可靠性 高 ;缺 点 是每个 MS C o mm 控 件对 应着 一个 串行端 口 , 如果 应用 程序需 要访 问多 个 串行 端 口, 必 须使用 多个 MS C o mm 控 件 。 另一种是查询方式 , 这种方式实质上还是事件驱动, 在 程 序 的 每 个 关 键 功 能 之 后 可 以 通 过 检 查 C o mmmE v e n t 属性的值来查询事件和错误 , 如果应用 程序较小且是 自保持的,这种方法可能更为可取 。 下面是 用 VB编制的 串口及通信参数初 始化程 序 Pr i v a t e S ub F o r m-Lo a d .s e t t i n g s 一 ” 1 9 2 0 0 , n 8, 1 ” .I n p ut M o de c o m l n pu t Mod e Bi n a r y .I n p ut Le n 0 .1 n B uf f e r Co u t 一 0 En d W i t h 1 f No t M S Co mm 1 . Po r t Op e n The n M S Co mm 1 . Po r t Op e n Tr ue En d I f En d S u b 上位机通信窗 口界面见图 2 , P C机发送数据和接 收数 据 的程序框 图分别见 图 3和 图 4 。 图 2上 位 机 通 信 窗 口界 面 图 3 P C机发送数据框图 图 4 P C机接收数据框 图 4 P L C通 信程 序设计 P I C通 信 程序遵 循 Mo d b u s协议 ,采 用模块化 的 子 程序结 构 ,即整体 功 能 由多个 功能 相对 独立的子 功 维普资讯 学兔兔 w w w .x u e t u t u .c o m 2 0 0 8年第 3 期 章程 ,等 基 于 Mo d b u s 协议的 P C机 与 s 7 2 0 0 P L C的 串行通信 ‘8 7‘ 能组合实现,每个子功能由若干个任务单一的子程序 构成。P I c通信程序框图见图 5 。 图 5 P LC通 信 程 序 框 图 在 S 7 2 0 0的程序 中使 用 Mo d b u s从站 协 议指令 的编程步骤如下①在用户程序中调用 Mo d b u s 从站 指令 ; ②为 Mo d b u s 从站协议指令分配库内存; ③处理 Mo d b u s协议 与 P P I 协议 的切 换 。 图 6是 Mo d b u s 从 站协 议指令 的梯形 图。在 该梯 形图中, Mo d e 模式 输入值用来选择通信协议 数值 1将端 口 0指定 给 Mo d b u s协议 ,并 启用 协 议 ;Ad d r 设 置 站 地 址 的 值 ;B a u d 波 特 率 可 以 设 为 1 2 0 0 、 2 4 0 0 、 4 8 0 0 、 9 6 0 0 、 1 9 2 0 0 、 3 8 4 0 0 、 5 7 6 0 0 或 1 1 5 2 0 0 ; P a r i t y 奇偶校验 与 Mo d b u s主设备的奇偶校验方式 相同; De l a y 延迟 参数以 ms为单位 ,在有线网络上 该参数的典型值应为 0 ;Ma x l Q指定 Mo d b u s主设备 可 以使用 的 I / Q 的点 数 ; Ma x AI 指 定 Mo d b u s主设备 可以使用的模拟量输入字的个数 ; Ma x Ho l d指定主设 备可以访问的保持寄存器的最大个数; H o l d S t a r t 用来 设置保持寄存器的起始地址。 5结束 语 Mo d b u s 通信协议是工业 自动化控制系统 中一种 重要 的通信协议 ,其应用将越来越广泛。本文给出的 基于 Mo d b u s 通信协议的串行通信设计 已得 到了较好 的应用。 实际运行情况表明, 通过采用 Mo d b u s通信协 议的串行通信, 保证 了通信数据的安全、可靠和稳定 。 l MB U S I NI T E N M o d e Do n e 3 A d d r E r ro - 1 9 2 00 B a u d O P m i t v O D el a y 1 2 9 M a xI O 3 2 M a x AI 1 00 0 , M a x H ol d V B O H o1 d S t S M O . 7 S M3 0 . 0 {/卜 P卜 R 图 6 Mo d b u s 从站协议指令 M O . 1 MB 1 M 0 . 2 M B 2 参考文献 E 1 ] 廖常 初. P L C编程 及应 用 E M] . 北 京 机械 工 业 出版 社, 2 00 5. [ 2 ] 冯向科 , 邓莹. 基 于 MO DB US R T U 通 信协 议下 的 C R C 算 法实现[ J ] . 电脑知识与技术 , 2 0 0 6 8 4 3 . [ 3 ] 孟开 元. Mo d b u s 通信协 议 中 C R C校验 的快 速 c语 言算 法[ J ] . 福建 电脑 , 2 0 0 4 1 1 6 3 6 4 . [ 4 3 丁莉君 , 吴 晓君. VB 6 . 0下 s 7 2 0 0 P L C与 P C机的 串行 通 信E J ] . 制造业 自动化 , 2 0 0 7 1 8 4 8 6 . [ 5 ] 李喜 东 , 刘波 涛 。 刘 刚. Mo d b u s R TU 串行通讯 协议 在工 业现场的应用 [ J ] . 自动化技术与应用 。 2 0 0 5 7 3 7 4 0 . [ 6 ] 张传 伟 , 王昀睿. VB下 P L C与 P C串 口通信 的实现 [ J ] . 组 合机床与 自动化加工技术 , 2 0 0 5 1 2 6 2 6 3 . Se r i a l Co m m u ni c a t i o n b e t we e n PC a n d S7~ 2 0 0 PLC Ba s e d o n M o db u s Pr o t o c o l Z HA N G C h e n g , C HE N G We n mi n g , X I A 0 J i a n - j u n S c h o o l o f Me c ha nic a l En g i n e e r i n g。 So u t h we s t J ia o t o n g Un i v e r s i t y, Ch e n g d u 6 1 0 0 3 1. Ch i n a Ab s t r a c t Th i s p a p e r i n t r o d u c e d M o d b u s P r o t o c o l , a n d d i s c u s s e d t h e a p p l i c a t i o n o f CRC a l g o r i t h m i n d a t a t r a n s n fi s s i o n, wh i c h a b i d e d b y M ODB US RTU P r o t o c o 1 . Ac c o r d i n g t O t h e c h a r a c t e r s t c s o f S i e me n s S7 2 0 0 PL C , a c o mmu n i c a t i o n me t h o d b e t we e n t h e c omp ut e r a nd PLC wi t h MSComm Ac t i ve X o f Vi s ua l Ba s i c b a s e d on M od bus Pr ot oc ol wa s pr es e nt e d。 Ke y wor ds PLC; s e r i al c o mm u ni c a t i o n; M odbu s Pr ot o c ol 维普资讯 学兔兔 w w w .x u e t u t u .c o m
展开阅读全文

资源标签

最新标签

长按识别或保存二维码,关注学链未来公众号

copyright@ 2019-2020“矿业文库”网

矿业文库合伙人QQ群 30735420