产品线频道   >
机器人| PLC| 低压变频器| DCS| 人机界面| 现场总线| 运动控制| 高压变频器| 电机| PAC| 现场仪表| PC-BASED| 机械传动| 传感器

基于VB6.0的S7-200PLC与计算机的通讯设计

  • 作者:不详
  • 阅读人次:
  • 发布时间:2012-07-03

1 引言

PLC 作为一种稳定可靠的控制器在工业控制系统得到了广泛的应用。但是由于中小型PLC的人机接口功能不很完善,不能提供给用户一个友好的交互界面,因此妨碍了对现场运行过程的跟踪与监控。目前一些通用的组态软件,以其功能强大、界面友好、开发简洁等优点在计算机监控领域已经得到了广泛的应用,但是一般价格比较昂贵。visualbasic6.0在开发可视化环境下的监控系统时具有其独特的优势,它本身提供的mscomm控件就是为应用程序提供串口通讯而设计的,它屏蔽了通讯过程中的底层操作,只需设置、监视mscomm控件的属性和事件即可完成对串行口的初始化和数据输入输出。西门子S7-200plc由于其体积小,可靠性高,通讯功能强大等特点,在工业控制领域得到广泛的应用。s7-200系列plc的通讯方式主要有三种:ppi方式、Profibus-dp方式、freeport(自由口)方式。其中自由口方式是由用户自己定义通讯协议,具有与外围设备通讯方便、自由,易于计算机控制软件的开发等特点,因此使用自由口通讯方式实现plc与上位机通信的控制方案较多。

本文采用s7-200plc的自由口通讯协议,基于vb6.0开发了一种简单实用且易于功能扩展的监控界面,其中计算机作为上位机,通过mscomm控件建立与下位机plc的通讯,可以实现数字量和模拟量读写、存储及模拟量趋势曲线绘制。

2 通讯原理

在上位机中,通过vb6.0中的mscomm控件完成数据的发送与接收;在下位机中则是通过plc的指令完成数据的发送与接收的。

2.1通讯初始化设置

由于s7-200plc与计算机的自由口通讯是串行通讯,故通讯前需要通讯双方的串行端口初始化,使双方通讯参数保持一致。

(1)上位机初始化设置

上位机使用mscomm控件通过串行端口发送和接收数据,因此首先要对mscomm控件进行初始化设置,主要始化设置如下:

mscomm1.commport=1 `设定通讯端口号

mscomm1.portopen=true`通讯端口打开

mscomm1.settings=“9600,n,8,1”

mscomm1.inputmode=1

settings:以字符串的形式设置并返回波特率、奇偶校验位、数据位和停止位。其中以字符n、o、e分别代表无校验、奇校验和偶校验。

inputmode:设置从缓冲区读取数据的格式;0为字符串格式(text),1为二进制格式(binary)。

(2)下位机的初始化设置

为了使下位机与上位机的通讯参数保持一致,可通过对plc的自由端口控制寄存器smb30(端口0)或smb130(端口1)的设置来实现。由于本文中使用的是cpu222是端口0,因此对plc的通讯设置是通过设置smb30来完成的。smb30的设置主要包括奇偶校验位、数据位、波特率、协议选择等参数。本文smb30设置内容如下,奇偶校验为不校验、字符数据位为8位/字符、波特率为9600bit/s、协议选择为自由口协议,故smb30设置为9。由于本文是通过接收字符中断接收数据,通过定时中断发送数据,因此需要将两个中断初始化。

plc主要初始化设置:

movb9, smb30 //将自由口控制存储器设置9

movb 200, smb34 //定时中断时间设置(200ms)

atch int_0, 8 //接收字符中断

atch int_1, 10 //定时中断

eni //中断允许

2.2 通讯方式

(1) 上位机通讯方式

首先将上位机待发送的m个字节依次存储在数组s中,每次待接收的数据存储在变量r中。

分享到
【文章来自米尔自动化网http://www.mirautomation.com/pages/2012-07/s36329.shtml
本文标签: VB6.0   S7-200PLC   自由口通讯协议  
 三菱电机

热门内容:
工业机器人 S7-200 S7-300 PLC编程入门 自动化产品 DCS控制系统 变频电机 工控机 可编程自动化控制器 温度传感器 HMI