基于PPI协议的PLC通信控制设计.pdf
基于P P I 协议的P L C 通信控制设计 李敏 基于P P I 协议的P L C通信控制设计 李敏 德 州职业技术学院 山东, 2 5 3 0 3 4 摘要 P L C 采用P P I自由口通信模式与上位机及时进行通信, 实现数据处理与现场数据实时显示等监事和远程控制 功能。在本设计中, 介绍了风门控制中, P c 与S 7 - 2 0 0 P L C 通信的软件设计。该设计可以满足用户对温度控制的相关工艺标 准和要求。 关键词 可编程控制器; P P I 通信; 端 口 Ab s t r a c t P LC c o mm u n i c a t e wi t h t h e ma s t e r P C i n t i me o n P P I f r e e p o r t c o mmu n i c a t i o n mo d e ,a c h i e v e r e a l t i me d i s p l a y o f t h e d a t a p r o c e s s i n g fie l d d a t a , s u p e r v i s o r s a n d r e mo t e c o n t r o l f u n c t i o n s , e t c . I n t h i s d e s i g n , I n t r o d u c e s t h e s o f t wa r e d e s i g n o f t h e c o mmu n i c a t i o n b e t we e n P C a n d S 7 2 0 0 P LC i n t h r o t t l e c o n t r o 1 . Th e d e s i g n c a n me e t t h e u s e r s t o t e mp e r a t u r e c o n t r o l o f r e l e v a n t t e c h n o l o g y s t a n d a r d s an d r e q u i r e m e n t s . Ke y wo r d s P L C; P P I p r o t o c o l ; Po r t 中图分类号 T P 2 7 3 文献标识码 B 文章编号 1 0 0 1 - 9 2 2 7 2 0 1 3 一 0 2 0 0 6 6 0 3 O 引 言 西 门子公司生产 设计 的 S 7 2 0 0 系列 P L C , 以其优 良的数据 处理和通信能力, 在当前的中小型设备控制中, 得到越来越广泛 的应用[ 1 】 。本设计的通风控制系统中, P L C作为通风系统中控 制 设备 之一 , 完成 现场信号采集 、 温度信号数据 的运 算控制 , P C 机作为上位机 , 为操作人 员远程监控控制提供了人机 交流界面 。 1 硬件设计 在本文设计 中, P L C核心控制 设备系统框 图如 图 1 所示 。 图1 上位机P L C 通信控制系统框图 图 1 中P L C采用 西门子公司 S 7 2 0 0 系列 C P U 2 2 4 X P C N, 监 控上位机 与 P L C的P O R T 1 口连接 , P L C的 P O R T O口与 HM I 设备 连接 , 本机 A I WO与温度传感变送器连接 。P L C可 以根据操作需 求, 实现本地手动控制或者远程P C控制, 调节风门开关程度, 调 节 出风量。 2 P L C 软件设计 s 7 2 0 0支持多种通讯模式, 如点点接 口f P P I 、 多点接 口 f MP I 、 P r o fi b u s D P 等。P P I 等通讯协议主要用于西 门子系列产品 之 间的通 讯 以及对 P L C编 程。在 自由 口模 式下 , 可 由用户 控制 串行通 讯接 口, 实现用户 自定义的通讯协 议。用户可 以用 梯形 收稿 日期 2 0 1 2 - 1 卜2 5 作者简介 李敏 1 9 7 3 一 , 男, 讲师, 硕士, 从事P L C 控制系统 设 计与维护教 学及 自动控制技术研究。 66 图程 序调 用 接 收 中断 、 发 送 中 断 、 发送 指 令f X M T 、 接 受 指 令 f R C V 来控制通信操作 。 在 自由口模 式下 , 通信 协议完 全由梯形 图程 序控 制。P I C 的通信 编程首先 是对 串 口初始化 , 对 S 7 2 0 0 P L C的初始化足通 过对特殊标志位 S MB 3 0 端 口0 、 S M B1 3 0 端 [ 1 1 写入通信控制 字 , 设置通信的波特 率, 奇偶校验位、 停止位和字符长度 。 然 , 这些设定必须与 P C的设定相一致。 S 7 2 0 0 C P U上 的通 信 口是 与 R S 一 4 8 5 兼 容的 9针 D型连接 器 , P L C还提供 了实现 R S 一 4 8 5与 P C 机上 R S 一 2 3 2 C 相连接 的 P C / P P I 电缆, 利用它可以方便地实现s 7 2 0 0系列P L C L j P C之IH 】 的 硬件连接 。 2 . 1 s 7 2 0 0 P L C端的通讯程序 实现 P L C程序 分为主程序和中断程序 。主程序完成 始化通 口、 开中断、 判断、 发送数据等功 能, 中断程序完成接收 干 【 】 发送数 据 的功能 。接收指令 R C V 启动或终止接收信息功能 , 必须 为接 收操作 指定开始和结束条 件。发送指令 X M T 在 自由 口模式 卜 依靠通讯 口发送数据 。P L C通信程序流程 图如 图2 所 永。 r 、 。 厂一 图2 P L C通信程序流程 图 2 .2控制字的选取 反映 C P U工作方式 的模式开关 当前位置的特殊存储器位 为 S MO . 7 , 它控制 自由端 口模式的进入 。当S MO . 7 为 0 时 , 模式丌 天 处于 T R E M位置 当S M0 . 7 为 l 时模式开关处于 R U N位置 。而 5 l{ 学兔兔 w w w .x u e t u t u .c o m 自动化与仪器仪表} 2 0 1 3 年第2 期 总第 1 6 6 期 有当模式开关位 于 R U N位置 时, 才允许进 行 自由口通讯 。 S MB 1 3 0 是 自由口模式控制字节, 用来设定校验方式、 通讯协议、 波特率等通讯参数 。 2 . 3 部 分程 序及 其作 用 主程序 , / 远程控制部分 网络 1 L D 1 0 . 3 / / 本地控制转换控制开关1 0 . 3 1 J MP 1 / / 本地控制跳转执行标号 1 后面本地控制程序 网络 2 L D S M0 . 7 / / 转换到R U N模式 EU O S M0 . 1/ / 或首次扫描 C A L L S B R 0 / / 调用 初始 化子程序 , 进入 自由口模式 网络 3 L DN S M0 . 7 EU R S M1 3 0 . 0 , 1/ / 设置为 P P I 协议 S M0 . 1 0 D T C H 2 3 / / 禁止各类中断 DT CH 9 DTCH 1 0 L B L 1 / / 远程控制主程序结束位置标号1 S BR _0 子程序 , / 初始化子程序 网络 1 L D S M 0 . 0 / / 始 终为 l MO V B 5 , S MB 1 3 0/ / 自由口通讯 1 9 2 0 0无奇偶校验, 8个数 据位 MO V B 1 6 7 C , S MB1 8 7/ / 接 收信 息状态字 节 MO V B 0 , S MB 1 8 8/ / 设置信息的开始字符“ 0 ” MO V B 1 6 4 5 , S MB 1 8 9/ / 设置信息的结束字符“ E ” MO V W 1 0 0 0 , S MW1 9 2/ / 接受超 时值 1 s MO V B 6 0 , S MB 1 9 4 / / 接收字符 的个 数 A T C H I N T 0 , 2 3/ / 接收完成中断和接收完成中断子程序0 连接起来 ATCH I NT _I , 9 / / 发送完成 中断和 发送 完成 中断子程序 1 连接起来 E N I / / 允许中断 R C V V B 1 0 0 , 1 / / 端口1 的接收缓冲区指针指向V B1 0 0 S BR 一1 子程序 , / 求异或校验码子程序 网络 1 I D M0. 0 MO V B 0 , L B 5 / / 异或值清 O B T I L B 4 , L W6/ / 输入字节转为整数 F OR L W 8, 1 , L W 6 网络 2 L D S MO . 0 X O R B * L D 0 , L B 5 / / 异或运算 I N C D L D 0 / / 指针 加 1 网络 3 NEXT I N 1 1_ _0中断程序 , / 接收完成中断程序 网络 1 L D B S M B1 8 6 , 1 6 2 0 } 正常接受结束 J MP 2 N0T MO V B V B 1 0 2 , V B 9 9/ / 接收数据放置在 V D 9 6 最低字节 R V D 9 6 . 0 , 2 4/ / V D 9 6 高位 3 字节清 0 MO V D V B 1 0 3 , V D 9 2/ / 接收报文数据区首地址送给指针 VD9 2 D VD 9 6 , V D 9 2 / / 求校验码地址 MO VB* V D 9 2 , V B 9 1/ / 接 收校验码送 V B 9 1 I N C B V B 9 9 / / 需异或的字节数 CALL S BR _I , VB1 0 2 , VB 9 9 , VB 9 0 , / 调用求异或子程序 S B R l, 结果送 V B 9 0 网络 2 L D B V B 9 0 , V B 9 1 / / 若校验正确 R Q O . , 1 / / 复位综合故 障报警位 MO V B 5 , S MB 1 3 4/ / 定时5 ms 提供P P I 电缆接收, 发送模式 切换时间 ATVH I NT _2 , 1 0/ / 开启定时中断 C R E T / / 中断返 回 N O T / / 校验错误 S Q O . 1 / / 校验位错误综合故障报警 网络 3 L B L 2 } 正常接收结束时跳转到此位置 网络 4 LD S MO. O R C V V B 1 0 0 , 1 / / 启动新 的接收 I NT _I 中断程序 , / 发送完成 中断程序 网络 1 L D S M0 .0 R C V V B1 0 0 . 1 / / 启动新接收 I N T - 2 中断程序 / / 定 时中断 网络 1 LD SM0.0 D T C H 0 / / 断开中断 XM T V B 1 0 0 , 1/ / 端口1 向计算机发送接收到的报文 3 上位P C 机端通信编程设计 为 了充分利 用计算机 数据处理 的强大功能 , 可 以在 上位机 编写程序来实现计算机与P L C的通讯。可以用VC 或V B实现上 位机和 P L C的通讯。本程序设计 中主要通过 MS C o mm控件实 现, M S C o mm控件是一种在VB和V C中都广泛应用的简单而又 成熟的串 口通讯控件 , 它 具有 完善 的串 口收发功能, 并且在 同一 程序中可以使用多个MS C o mm控件 。 图3 上位机程序流程图 6 7 学兔兔 w w w .x u e t u t u .c o m 学兔兔 w w w .x u e t u t u .c o m