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

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

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

发送信息时,数组s中第一个元素s(0)存储第一个待发送字节……最后一个元素s(m-1)存储最后一个待发送字节,发送方式为mscomm1.output=s。

接收方式为r=mscomm1.input。

由于PLC中的信息是以byte的形式传输到计算机中,因此上位机需要对接收的数据进行数据处理。由于plc中模拟量传感器数据是以word的形式存储在aiw中,而plc在发送该数据时是按照word对应的两个byte发送,故计算机在后台计算中要将其对应的两个byte转换为word。为了在人机界面中表达数字量(qb,ib,mb)的各个状态,需要在计算机后台计算中把plc的各数字量的十进制转换为八位二进制,通过对八位二进制的每个位做0、1判断,利用vb6.0可使用多种方法把判断结果表达在界面中。

(2)下位机通讯方式

为了在计算机中实时显示plc运行状况及传感器的实时数据,就需要plc主动发送信息。为此,本文通过“定时中断”使plc周期地向计算机发送数据。具体方法是在定时中断事件里,使用plc自带的发送指令xmt发送数据,定时中断的时间设置(1ms~255ms)即为发送周期。

S7-200系列的plc接收指令有两种方法:第一种方法是使用plc自带的rcv指令来接收计算机数据;第二种方法采用plc提供的“接收字符中断”方式,将smb2(自由口接收字符缓冲区)定义指针,使用指针接收数据。在这两种方法中,第二种方法更加灵活,因此在本文中,plc在接收信息时采用指针接收数据。即在plc接收数据时,每次接收m个字节,仅在第一个字节进入smb2时定义指针,并将该字节写入指针所指向的变量存储字节;第二个字节进入smb2时,指针指向下一个变量存储字节,并把第二个字节写入……最后一个字节进入smb2时,指针指向下一个变量存储字节,把第m个字节写入。若数据接收完成,则清空用于计数的变量存储字节,等待下次接收数据,至此完成一次数据接收。本文中在接收字符中断里使用指针接收2个字节:

ld sm4.5 //变送器闲置时动作

lps

ab= vb99, 0 //vb99为0时

movd &vb100, ac1

//定义指针ac1,存储于vb100

lrd

movb smb2, *ac1

//指针指向自由口接收字符缓冲区

lrd

incd ac1//指针递增

lrd

incb vb99 //接收字节个数递增

lpp

ab= vb99, 2 //接收字节个数为2

movb 0, vb99 //计数清零,完成一次接收

3数据存储

vb6.0可将数据存储在多种数据库中(如access、excel等)。考虑到excel简单实用且应用广泛,通过设置excel的宏属性,就可将实时数据保存在创建的excel文件中,并可方便的查看历史数据。

本文通过vb6.0链接一个指定的excel文件,在vb程序里定时器的触发事件将数据存储至excel文件,存储方法如下:k=k+1

xlsheet.cells(k,r)=v`数据v写入excel第r列,随着时间k的增加依次逐行存储。

为了建立vb6.0与指定excel文件的链接,需要对链接的双方分别进行设置。首先建立并指定一个excel文件,命名为“g”,存储路径为“d:\g”,通过设置该文件宏属性,可建立excel向vb6.0的链接。exel中的宏属性设置设置为:subauto_open()

open “ d:\g ” for output as #1 `写标志文件close #1

end subsub

auto_close()kill “ d:\g ” `删除标志文件end sub

在vb6.0向excel链接时,考虑到数据快速地写入excel,为避免误操作引起excel运行终止,本文在打开exel时设置excel不可见,当数据存储完毕后,设置excel可见。

(1) 打开exel(链接到指定的exel文件)

set xlapp=createobject(“excel.application”)`创建excel应用类

xlapp.visible = false`

设置excel不可见

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

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