基于VBS7200PLC与上位机串口通信研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VBS7200PLC与上位机串口通信研究

基于VBS7200PLC与上位机串口通信研究   摘 要: 采用S7-200PLC做下位机完成数据采集、运算、控制等功能时,下位机和上位机的数据通信非常关键,为此研究西门子自由口通讯原理,给出Visual Basic环境下PLC与上位机通讯程序的通用设计方法。   关键词: PLC;Visual Basic;通信;串口   中图分类号:TP275 文献标识码:A 文章编号:1671-7597(2011)1120014-01      0 前言   采用PLC与PC组成的集散控制系统,得到了广泛的应用。PLC完成现场信号的采集、控制等功能,PC提供功能强大的人机交互界面,实现数据的监视和远程控制等功能。这样,有利于实现集中控制和网络化管理。   1 自由端口通讯方式   西门子S7-200PLC内部集成的PPI接口提供了强大的通讯功能,可在PPI、MPI和自由端口三种通讯方式下工作。PPI和MPI方式使用于西门子工控产品之间的互联,而自由端口方式能与任何具有串口和通讯协议公开的设备通讯,使通讯范围扩大,系统配置更灵活。自由端口通讯只能工作于RUN模式,在STOP模式通讯被停止。程序可以使用发送指令、接受指令、发送中断和接受中断完成通讯功能[1]。PPI接口物理特性为RS-485,PC的串口为RS-232,它们之间可以采用PC/PPI专用电缆互联,也通过购买RS-485/ RS-232转换器,采用双绞线互联。   1.1 自由端口通讯方式初始化   将控制字写入PLC特殊存储字节SMB30/SMB130(端口0/端口1),设置通讯的波特率、数据位数、奇偶校验和停止位[2]。   SMB30/SMB130控制字格式如下:         图1 控制字   Fig.1 Control word   各位含义详见西门子PLC编程手册,在此不赘述。本系统采用无奇偶校验、数据位为8位、自由端口协议和波特率9600bit/s,控制字SMB30=9。   端口0初始化程序:   NETWORK1   LD SM0.1 //该位在首次扫描时为1   MOVB 9,SMB30   RCV指令初始化程序完成一下设置:允许接收消息功能;使用SMB88的值检测起始消息,本程序采用h的ASCII码为起始字符;使用SMB89的值检测结束消息,本程序采用H的ASCII码为结束字符;忽略SMW90;定时器是消息定时器;当SMW92中的定时时间超出时终止接收;忽略断开条件。   RCV指令初始化程序:   LD SM0.1   MOVB 16#EC,SMB87   MOVB 104, SMB88   MOVB 72, SMB89   MOVB +1000, SMW92   MOVB 35, SMB94   R SM87.2, 1   1.2 自由端口通讯方式数据收发   1)发送数据指令XMT   命令格式XMT Table,Port。Table为数据发送区,最多255个字符,第一个字节指明了要发送的字节数,其余字节为数据;Port指明了用于发送的端口,此系统中Port设置为0,即选择端口0。XMT指令会将以VB153开始的22个字节单元的数据发送给上位机,即XMT VB153,0。   2)接受数据格式RCV   命令格式RCV Table,Port。Table为接受缓冲区,最多为255个字符,Port同XMT。本程序中RCV指令会将“h”开始,以“H”结束的数据保存到接收缓冲区。采用的接收缓冲区是以VB100开始的32个字节单元,即RCV VB100,0。   1.3 PLC数据读写及校验   读子程序禁止RCV、将PLC目标寄存器的数据转换成十六进制ASCII码存入发送缓冲区、计算BCC检验码、发送反馈信息。   写子程序禁止RCV、将接收缓冲区中的数据写入PLC目标寄存器、发送反馈信息。   校验子程序完成数据BBC校验码的对比检验,并返回相关的反馈信息。   1.4 中断服务程序   RCVCMP中断服务程序用来处理接收完成中断事件;XMTCMP来处理发送完成中断事件。   ATCH RCVCMP,23   ATCH XMTCMP,9   1.5 PLC程序流程   PLC程序工作流程如图2。         图2 程序流程   Fig.2 Flow chart   2 PC机控制程序设计   上位机通讯程序是在VB6.0环境下开发的,VB具有强大的图形显示功能。利用其控件MSComm完成对数据缓冲区以及串口部分的初始化,如串口的选择、波特率、串口的数据格式等。这部分程序的代码如下:   MSComm1.CommPort=1   MSComm1.Se

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档