S7-200ppi协议使用教程

上传人:冰*** 文档编号:126087381 上传时间:2020-03-21 格式:PDF 页数:5 大小:160.04KB
返回 下载 相关 举报
S7-200ppi协议使用教程_第1页
第1页 / 共5页
S7-200ppi协议使用教程_第2页
第2页 / 共5页
S7-200ppi协议使用教程_第3页
第3页 / 共5页
S7-200ppi协议使用教程_第4页
第4页 / 共5页
S7-200ppi协议使用教程_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《S7-200ppi协议使用教程》由会员分享,可在线阅读,更多相关《S7-200ppi协议使用教程(5页珍藏版)》请在金锄头文库上搜索。

1、WWW PLCWORLD CN S7 200 PLC 之 PPI 协议 通过硬件和软件侦听的方法 分析 PLC 内部固有的 PPI 通讯协议 然后上位 机采用 VB 编程 遵循 PPI 通讯协议 读写 PLC 数据 实现人机操作任务 这 种通讯方法 与一般的自由通讯协议相比 省略了 PLC 的通讯程序编写 只需 编写上位机的通讯程序资源 S7 226 的编程口物理层为 RS 485 结构 SIEMENS 提供 MicroWin 软件 采 用的是 PPI Point to Point 协议 可以用来传输 调试 PLC 程序 在现场应用 中 当需要 PLC 与上位机通讯时 较多的使用自定义协议与上

2、位机通讯 在这 种通讯方式中 需要编程者首先定义自己的自由通讯格式 在 PLC 中编写代码 利用中断方式控制通讯端口的数据收发 采用这种方式 PLC 编程调试较为烦琐 占用 PLC 的软件中断和代码资源 而且当 PLC 的通讯口定义为自由通讯口时 PLC 的编程软件无法对 PLC 进行监控 给 PLC 程序调试带来不便 SIEMENS S7 200PLC 的编程通讯接口 内部固化的通讯协议为 PPI 协议 如果上 位机遵循 PPI 协议来读写 PLC 就可以省略编写 PLC 的通讯代码 如何获得 PPI 协议 可以在 PLC 的编程软件读写 PLC 数据时 利用第三个串口侦听 PLC 的通 讯

3、数据 或者利用软件方法 截取已经打开且正在通讯的端口的数据 然后归 纳总结 解析出 PPI 协议的数据读写报文 这样 上位机遵循 PPI 协议 就可 以便利的读写 PLC 内部的数据 实现上位机的人机操作功能 软件设计 系统中测控任务由 SIEMENS S7 226PLC 完成 PLC 采用循环扫描方式工作 当 定时时间到时 执行数据采集或 PID 控制任务 完成现场的信号控制 计算机 的监控软件采用 VB 编制 利用 MSComm 控件完成串口数据通讯 通讯遵循的协 议为 PPI 协议 PPI 协议 西门子的 PPI Point to Point 通讯协议采用主从式的通讯方式 一次读写操 作

4、的步骤包括 首先上位机发出读写命令 PLC 作出接收正确的响应 上位机接 到此响应则发出确认申请命令 PLC 则完成正确的读写响应 回应给上位机数据 这样收发两次数据 完成一次数据的读写 5 其通讯数据报文格式大致有以下几类 WWW PLCWORLD CN 1 读写申请的数据格式如下 SD LE LER SD DA SA FC DASP SSAP DU FCS ED SD Start Delimiter 开始定界符 68H LE Length 报文数据长度 LER Repeated Length 重复数据长度 SD Start Delimiter 开始定界符 68H SA Source Add

5、ress 源地址 指该地址的指针 为地址值乘以 8 DA Destination Address 目标地址 指该地址的指针 为地址值乘以 8 FC Function Code 功能码 DSAP Destination Service Access Point 目的服务存取点 SSAP Source Service Access Point 源服务存取点 DU Data Unit 数据单元 FCS Frame Check Sequence 校验码 ED End Delimiter 结束分界符 16H 报文数据长度和重复数据长度为自 DA 至 DU 的数据长度 校验码为 DA 至 DU 数 据的和

6、校验 只取其中的末字节值 在读写 PLC 的变量数据中 读数据的功能码为 6CH 写数据的功能码为 7CH 2 PLC 接收到读写命令 校验后正确 返回的数据格式为 E5H 3 确认读写命令的数据格式为 SD SA DA FC FCS ED 其中 SD 为起始符 为 10H SA 为数据源地址 DA 为目的地址 FC 为功能码 取 5CH FCS 为 SA DA FC 的和的末字节 ED 为结束符 取 16H PPI 协议的软件编制 WWW PLCWORLD CN 在采用上位机与 PLC 通讯时 上位机采用 VB 编程 计算机采用 PPI 电缆或普 通的 485 串口卡与 PLC 的编程口连接

7、 通讯系统采用主从结构 上位机遵循 PPI 协议格式 发出读写申请 PLC 返回相应的数据 程序实现如下 1 串口初始化程序 MSComm1 CommPort 1 MSComm1 Settings 9600 e 8 1 MSComm1 InputLen 0 MSComm1 RThreshold 1 MSComm1 InputMode comInputModeBinary PPI协议定义串口为以二进制形式收发数据 这样报文的通讯效率比ASCII码高 2 串口读取数据程序 以读取 VB100 数据单元为例 Dim Str Read 0 To 32 定义发送的数据为字节为元素的数组 Str Read

8、 32 H16 相应的数组元素赋值 按照以下格式 Str Read 29 100 8 256 地址为指针值 先取高位地址指针 Str Read 30 100 8 Mod 256 取低位地址指针 Str Read 24 1 读取的数据长度 Byte 的个数 For I 4 to 30 Temp FCS Temp FCS Str Read i Next I Str Read 31 Temp FCS Mod 256 计算 FCS 校验码 其它数组元素赋值省略 68 1B 1B 68 2 0 6C 32 1 0 0 0 0 0 E 0 0 4 1 12 A 10 2 0 1 0 1 84 0 3 20

9、 8B 16 PLC 返回数据 E5 后 确认读取命令 发送以下数据 10 2 0 5C 5E 16 然后上位机 VB 程序接受到以下数据 68 16 16 68 0 2 8 32 3 0 0 0 0 0 2 0 5 0 0 4 1 FF 4 0 8 22 78 16 首先识别目标地址和源地址 确认是这次申请的返回数据 然后经过校验检查 正确后解析出第 26 号数据 H22 即为 VB100 字节的数据 3 串口写入数据程序 以写 VB100 数据单元为例 WWW PLCWORLD CN Dim Str Write 0 To 37 定义发送的数据为字节为元素的数组 Str Write 37 H

10、16 相应的数组元素赋值 按照以下格式 Str Write 35 H10 要写入的数据值 68 20 20 68 2 0 7C 32 1 0 0 0 0 0 E 0 5 5 1 12 A 10 2 0 1 0 1 84 0 3 20 0 4 0 8 C B9 16 PLC 返回数据 E5 后 确认写入命令 发送以下数据 10 2 0 5C 5E 16 然后上位机 VB 程序接受到以下数据 68 12 12 68 0 2 8 32 3 0 0 0 0 0 2 0 1 0 0 5 1 FF 47 16 这是 PLC 正确接收并写入信息的返回数据 4 串口接收程序 在数据接收程序中 利用 VB 中

11、MSComm 控件 一次接收缓冲区中的全部数据 存放到数组形式的暂存单元中 然后分析每个元素的值 得到读写的数据 Dim RCV Array As Byte Dim Dis Array As String Dim RCV Len As Long RCV Array MSComm1 Input 取出串口接收缓冲器的数据 RCV Len UBound RCV Array ReDim Temp 0 To UBound RCV Array For i 0 To RCV Len Dis Array Dis Array Hex RCV Array i Next i Text1 Text Dis Array

12、 接收到的数据送显示 在程序的读写过程中 一次最大可以读写 222 个字节 目前给出的数据读写为 整数格式 数据类型 Str Read 27 S 04H SM 05H WWW PLCWORLD CN I 81H Q 82H M 83H V 84H 以上程序 是以读写 PLC 的 V 变量区为例 利用 PPI 协议还可以读写 S7 200PLC 中的各种类型数据 包括 I Q SM M V T C S 等数据类型 能够直接读 出以上变量中的位 字节 字 双字等 其中读位变量时 是读取该位所在的 字节值 然后上位机自动识别出该位的值 按照读写的数据类型 其中 Str Read 27 的值各不同 在控制系统中 PLC 与上位计算机的通讯 采用了 PPI 通讯协议 上位机每 0 5 秒循环读写一次 PLC PLC 编程时 将要读取的检测值 输出值等数据 存放在 PLC 的一个连续的变量区中 当上位机读取 PLC 的数据时 就可以一次读出这组 连续的数据 减少数据的分次频繁读取 当修改设定值等数据时 进行写数据 的通讯操作 更多资料请登陆更多资料请登陆更多资料请登陆更多资料请登陆 工控世界论坛工控世界论坛工控世界论坛工控世界论坛 WWW PLCWORLD CN

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 公共安全/评价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号