收藏 分享(赏)

VB与S7-200通讯.doc

上传人:精品资料 文档编号:10530299 上传时间:2019-11-26 格式:DOC 页数:5 大小:282KB
下载 相关 举报
VB与S7-200通讯.doc_第1页
第1页 / 共5页
VB与S7-200通讯.doc_第2页
第2页 / 共5页
VB与S7-200通讯.doc_第3页
第3页 / 共5页
VB与S7-200通讯.doc_第4页
第4页 / 共5页
VB与S7-200通讯.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、本文以下内容为采用 VB6.0 设计人机界面的工业控制计算机与 S7-200 PLC自由口通信进行的方法。常规的通过 PC 机,利用 PLC 对工艺对象的控制,大多都是在具有组态软件或通讯模块的情况下进行,但是对于一些小型的控制系统而言,由于受到简单实用和成本低的原则限制,不适合使用常规方法。利用 Visual Basic 结合PLC 中的通信语言进行编程,实现上位机与 PLC 之间,在无通讯模块情况下的数据信息的双向通信传输。SIMATIC S7-200 内部集成的 PPI 接口物理特性为 RS485,可在多种模式下工作,其中自由口通信方式是 S7-200PLC 的一个很有特色的功能,它可以

2、与任何协议公开的其它设备、控制器等进行通信。上位机串口符合 RS-232C 标准协议,为了实现两者的通信必须进行协议转换,可以利用 PC/PPI 电缆连接两者,并同时完成协议转换的任务。控制系统组成基于 VB 和 PLC 的液压试验台监控系统结构如下图所示,主要由上位机监控系统和下位机控制系统组成。VB6. 0 提供了串行端口通信控件 MSComm,该控件封装了通信过程的底层操作,用户只需设置 MSComm 控件的属性和对相应的事件进行编程,即可完成串行通信功能。MSComm 控件提供了事件驱动和查询 2 种处理通信的方法,其中事件驱动方法通过设置 CommEvent、Rthreshold 等

3、属性实现对 MSComm 控件的OnComm 事件驱动;查询方法则通常通过 OutPut 属性直接写输出缓冲区,且通过 InPut 属性直接读输入缓冲区实现。因为事件驱动方法程序响应及时、可靠性高,所以本系统采用事件驱动方法实现工控机与 PLC 之间的串行通信。1.S7-200PLC 的自由口通信西门子 S7-200 系列 PLC 的 CPU 支持多样的通信协议,如 PPI 接口协议、MPI 协议、Profibus 协议、自由口通信协议等。其中自由口通信是 S7-200 PLC的一个很有特色的功能,它使 S7-200 PLC 可以与任何具有串行接口和通信协议公开的智能设备(如变频器、单片机和

4、Modem 等)通信,使通信范围扩大、控制系统配置更加灵活。自由口通信模式在物理接口上要求双方都使用 RS485 接口,使用 PPI 编程电缆或其他具有 RS485/RS232 转换功能的通信电缆,这样就可以实现 S7-200 PLC 与计算机的自由口通信(即串行通信) 。S7-200 PLC 的自由口通信,即用户可以通过用户程序对通信口进行操作,通信协议完全由用户程序控制。通过设定特殊存储字节 SMB30(端口 0)或 SMB130 (端口 1)允许自由口模式,同时这两个特殊存储字节也用于选择波特率、奇偶校验、数据位数和通信协议,用户可以通过使用发送中断、接收中断、发送指令(XMT )和接收

5、指令(RCV)对通信口进行操作。S7-200 PLC 使用 RCV 指令接收数据,RCV 指令可以接收一个或最多至 255 个字符。在缓冲区接收到最后一个字符时,会产生一个中断事件 23,也可以采用查询方式监视状态字节 SM86 来判断数据接收是否完成。通过对 SMB87 接受状态字节的设定,用户可自定义通信协议中帧的具体格式。2.S7-200PLC 自由口通信协议设计基于液压试验台的设计功能要求,这里讲述工业控制计算机作为上位机向作为下位机的 S7-200PLC 发送指令的自由口通信。该协议中工业控制计算机向S7-200 PLC 的缓冲区发送数据帧,工业控制计算机发送的数据帧格式见表 1。缓

6、冲区中存储的数据格式见表 2。本程序中的实际接收到的数据存储情况见表3。当 PLC 收到数据帧的结束字符就会产生中断事件 23 调用中断程序 INT0,进而调用子程序 SBR 1 进行相应的实验过程控制。表 4 中为部分 S7-200 PLC的自由口通信程序,包括自由口初始化程序和接收到控制信息数据后相应的中断 INT 0 程序。1 西门子公司 .SIMATIC S7-200 可编程控制器系统手册M.20003.VB 通信控制程序的实现VB6.0 为串行通信程序设计提供了一种标准串行通信控件 MSComm。该控件具有完善的串行数据的发送和接收功能,不但包括了全部 WindowsAPI 中关于串

7、行通信的函数所具有的功能,还提供了更多的对象属性来满足不同用户的编程需要。下面详细介绍采用 MSComm 控件实现与 S7-200 PLC 进行自由口通信的程序。程序运行过程中只要点击相应的按钮就可以得到相应的控制信息数据,这样 S7-200 PLC 接收到控制信息数据后,就可以实现液压实全部过程的自动控制。以下是工业控制计算机向 S7-200 PLC 的 V 变量存储区写数据的自由口通信程序的简单示例。程序代码:Option ExplicitPrivate Sub Command1 Click()Dim Buff(2) As ByteBuff(0)=&H1 起始字符Buff(1)=&H41

8、接收到的控制信息数据Buff(2)=&H3 结束字符MSComm1.Output=Buff 向 PLC 发送字符控制信息End SubPrivate Sub Form Load()MSComml.CommPort=1 指定使用 COM1 作通信传输MSComml.Settings=“9600,8,1” 9600 波特率,无校验,8 位数据位 MSComm1.PortOpen=True 打开 COM1End Sub4 结束语计算机与 S7-200 PLC 的自由口通信协议可以很可靠地实现计算机与 S7-200 PLC 的自由口通信,实现了生产过程的自动控制,还有可视化的操作界面,充分体现了人机交

9、互的优势。采用 VB6.0 设计编写的与 S7-200 PLC 的自由口通信程序在 Windows 操作系统下运行成功,还要注意一点就是 S7-200 PLC 与 VB的端口初始化设计要完全对应,这只要发送相关的生产过程控制信息,就能实现生产过程的控制与监测。关于自由口通信Freeport 方式是一种通讯协议完全开放的工作方式,如果说 PPI 方式是外设适应PLC 的话,那么 Freeport 方式就是 PLC 适应外设。在 Freeport 方式下外设不受PPI 协议的限制,不支持 PPI 协议的设备也能够与 S7-200 系列 PLC 通讯,在Freeport 方式下通讯口的协议由外设决定, PLC 通过程序来适应外设。Freeport方式是对 PPI 方式的一个补充,该方式使得 S7-200 系列 PLC 可以与任何具有通讯能力的、并且协议公开的设备相通讯。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报