| |
---|---|
(点击题目可以 在互联 网中搜索该题 目的相关内容) 日期:2006-5-17 20:09:38 来源: 作者: 点击: | |
PC与S7-200的自定义通信协议实现 PC与S7-200的自定义通信协议实现 1)协议功能 实现读/写I,Q ,VR,M区功能,读最大数据量为246(255-9)个字节,写数据量最大为255字节,帧格式为16进制形式,对于其他功能可以在SBR3中添加相应实现代码。 注:a)写数据量受PLC的VB区大小和指令限制,协议可以实现1个字的操作 b)写IB区后实际上输入的是脉冲信号,不能保持 C)地址/数据都是高位在前,低位在后 2)帧格式(fig1) 错误代码定义 写命令成功 ―― 00 帧格式错误 ―― 01 帧校验错误 ―― 02 超时错误 ―― 03 3)协议流程 实现以上协议的程序流程(fig2)。 4)变量说明 M 31.0 帧头标志(一帧的起始) M 31.1 接收到一帧标志 T 37 通信超时计时器(5秒) VB 1401-1699 接收到的命令帧 VB 1700- 发送缓冲区(VB1700为响应帧的大小,VB1701-1955为发送数据) VD 2000(vb 2000-2003)接收缓冲区的指针(指向VB1401开始的数据区域) VW 2004 接收字符计数器 VB 2006 接收到的命令帧的BCC值 VW 2007 命令帧长度 VD 2010 (vb 2010-2013) 响应帧的指针变量 (指向VB1701开始的数据区域) VB 2014 响应帧的校验值 VB 2015 错误代码 VD 2020 (vb 2020-2023) I/Q/VB/M 源地址 VD 2024 (vb 2024-2027) 读/写操作地址 VD 2030(vb2030-2033) 偏移地址中间变量 VW 2034 循环指令的Index变量 VW 2036 求校验数据大小变量(帧长度减去2 即bcc校验和结束符) 5)程序模块说明 MAIN 主程序 SBR 0 通信初始化(调用子程序1) SBR 1 缓冲区初始化 SBR 2 命令帧分析(命令帧无错,调用子程序3,否则调用SBR4) SBR 3 组织响应帧并发送到串口 SBR 4 发送错误响应帧(错误代码为00时表示写操作成功) INT 0 接收中断程序(在缓冲区存放命令帧,要求前一命令帧已经处理完) INT 1 发送完中断程序(调用SBR1清空缓冲区) 6)调试界面 作者写的一个与S7-200 PLC 调试工具的界面(fig3)。在参数设置中可以设定发送间隔和发送次数,显示可设置为16进制或ASCII码方式。 作者写的一个与串口调试工具的界面(fig4),可以发送16进制字符串和ASCII码字符串。在参数设置中可以设定发送间隔和发送次数。
以下是对《PC与S7-200的自定义通信协议实现》的回复: 本新闻共2页,当前在第1页1 2
|
|
上一篇: 如何实现S7300与S7-200的EM277之间的PROFIBUS DP通讯链接 下一篇: S7-300的通讯概况 |