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