- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于s7200的串行口通讯协议的实现
基于s7200的串行口通讯协议的实现
天津工业大学 原晋辉
摘要:S7200PLC是广泛用于现场的小型PLC,它具有的自由口通讯协议编程功能是用户自己编写通讯协议成为可能,本例提供了使用S7200编写自由口通讯程序的方法
关键词:串行通讯 S7200
The Protocol of Serial Communication base on S7200 PLC
Tianjin polytechnic university yuanjinhui
Abstract:SIMATIC S7200 PLC is the mini program logic controller which is used in many place.because of the characteristic free port protocol of S7200 PLC,it is possible for user to use their owne protocol in program, The method of how to use free port protocol in program is presented
Key word Serial Communication S7200 PLC
S7200广泛使用于工业现场的小型控制器,因为其具有的结构紧凑、扩展性能好、指令丰富的优点。在机械环保等众多行业中都有他在发挥着作用。特别是它具有的自由口通讯的功能,使用户自己定义上下位机之间的通讯协议成为可能。在本例中,采用自由口通讯方式,使用发送指令(XMT)、接受指令(RCV)通过端口0来实现对数据的发送和接收
1通讯协议
1.1.1数据格式:
上下位机之间的通讯协议分为上位机的发送数据和下发机的反馈数据:
起始字
(1字节) 数据长度
(2字节) 目标地址
(2字节) 数据
(3字节) 校验和
(1字节) 结束字
(1字节) 表1(a)上位机下传数据桢结构
起始字
(1字节) 数据
(8字节) 校验和
(1字节) 结束字
(1字节) 表1(b)下位机反馈数据桢结构
说明:
起始字:占一个字节,采用ASCII字符“A”。
数据长度:占二个字节,表示的是要写入数据的十六进制ASCII码所占用的字节数。
目标地址:占二个字节,表示的是要写入数据的十六进制ASCII码所存储的地址。
数据:占三个字节,采取十六进制ASCII码形式下传:
校验和:占一个字节,为CRC校验码的十六进制ASCII码形式。
结束字:占一个字节,采用ASCII字符“X”。
上下位机的数据并未采用原本的形式传输,而是采用了ASCII码的形式传输,主要是为了避免要传输的数据与指令中的起始字符和结束字符字发生混淆。从而避免数据直接以其原本的形式传输时因数据与控制字节一致而导致的误操作.
1.1.2 PLC地址的分配:
在PLC中,为了方便管理数据,所有接收和发送的字符都存储在V存储器中,校验标志位则是用了M存储器中的位M0.0:
1.1.2.1接收缓存区:
VB100 接收缓存区的长度 VB101 起始字“A” VB102 数据的目标地址: VB103 VB104 数据的长度: VB105 VB106 数据 VB107 VB108 数据 VB109 CRC校验码 VB110 结束字“X” 表2接收缓存区
1.1.2.2发送缓存区:
VB300 接收缓存区的长度 VB301 起始字“A” VB302 数据: VB303 VB305 VB306 VB110 结束字“X” 表3发送缓存区
1.1.2.3译码区:
VW700 译码后数据存放的目标地址 VW702 译码后数据的长度 VW704 译码后数据+校验码
表4译码区
1.1.2.4功能区:
VW800 校验码产生式G(X) VW810 校验后的余数R(X) VW820 G(X)在校验时需补足的位数
表5 功能区
1.2 自由口通讯的实现
1.2.1自由口通讯的初始化:
自由口编程的初始化包括设置自由口模式寄存器SMB30(端口0)或SMB130(端口1),接收信息控制字SMB87(端口0)或SMB187(端口1),接收自负的最大数SMB30(端口0)或SMB130(端口1)。
在本例中选择无奇偶校验,8位字符,19
文档评论(0)