由于操作过于频繁,请点击下方按钮进行验证!

用VB6.0来实现PC对多个PLC的监控

1 引言

随着计算机通讯技术的日益成熟及企业对工业自动化程度要求的提高,自动控制系统从传统的集中式控制向多级分布式控制方向发展,构成控制系统的PLC也就必须具备通信联网功能。在具体应用过程中,若要监视PLC内部的数据与运行状况,选用市场上的人机界面或组态软件,虽然功能丰富,但大都价格昂贵,尤其在一些中小规模的生产场合。所以许多企业希望能自己用高级语言开发一个简易实用的通信程序,通过面向对象的可视化编程语言VB6.0很容易地实现分布式监控。PLC等下位机控制生产过程,本地计算机进行实时监测或参与控制生产现场的参数。本文通过对OMRON的CPM1A小型机与上位计算机通信原理和通信方法的研究,介绍了如何用VB6.0实现上位计算机对PLC的实时监控,并取得了良好的效果。

2 监控原理

2.1 通信方法

上位机作为主站要能够通过PLC监控下层设备的状态,首先要实现上位机与PLC间的通信。由于串行通信具有线路简单、应用灵活、可靠性高等优点,并且普通计算机均带有串行口,所以PC与PLC间通常采用串行通信方式。串行通信可以通过Windows的API函数实现,也可以串行通信控件实现,但后者较容易,本文采用VB的通信控件。如果只实现对一台CPM1APLC的监控,需要CPM1-CIFO1(OMRON提供的专用的RS232适配器)形成RS232C口与上位机通信;如果是实现对多台PLC的监控,则需用RS232—RS422/RS485转换器ADAM-4520和CPM1-CIF11(OMRON提供的专用RS422适配器)与上位机通信,最多可连接32台PLC,连接方式如图1所示。



图1 系统通信原理


在通信过程中上位机始终处于主动方,PLC则处于从动方,所有的数据交换只能在主站和从站之间进行,从站之间不能直接交换数据,如果从站之间需要交换数据,必须通过主站中转1。首先上位机向PLC发送指令帧,PLC接收了上位机的指令后,先进行FCS校验,看其是否正确,如果正确,则接收并向上位机传送响应帧(包含首尾校验字节),否则,PLC拒绝向上位机传送数据。需要说明的是,整个通信过程中因PLC中配有通信机制,一般不需要对PLC进行编程。上位机接收到PLC传送的数据,也要判断正确与否,如果正确,则接收,完成一次正常通信,否则,通信需重新开始。

2.2 通讯协议

(1)通讯条件设计。要使上位机与下位机正确地交换数据,必须确保以下几点:

● 双方在初始化时要使波特率、数据位数、停止位数、奇偶校验均保持一致;
● 要严格按照PLC的通信协议的规定及帧格式编写PC的通信程序。

(2)通讯的命令帧设计。OMRON公司的CPMIA小型PLC的传输协议的一般格式为:


(3)通讯的响应帧设计



其中,@为前导字符,表示开始;设备号为00-31(本例限设到10),共可设置32个站号,用来识别所连接的PLC,可通过PLC的DM6653的低8位来设定,默认站号为00;命令码为CPMIA小型PLC规定的对其操作的命令代码;正文为需要读或写的数据地址以及数据;FCS为帧校验代码,用于及时发现通信过程中的错误,以备处理;*和CR表示命令结束[2>。

命令帧为PC机传向PLC的帧格式,响应帧为PLC传向PC机的帧格式,其命令帧与响应帧中的各个部分除数据区不同外,其他部分的含义是相同的。

2.3 MSComm控件介绍

VB中的MSComm控件具有功能完善的串口数据发送和接收功能。 MSComm控件具有两种通信方式:事件驱动方式和查询方式[3>。因为查询方式占用CPU时间太多,我们采用事件驱动方式。要完成通信,必需正确设置MSComm控件的相关属性,本设计在窗体中对其进行初始化,主要包括端口设置,波特率设置,奇偶设置等。主要属性如表1所示。

表1 MSComm控件属性

2 通信程序设计

本系统以PC对基于PLC的交通灯控制系统的监控为例,在上位机与PLC正常通信的前提下,设计如下界面。窗体的内容主要包括,四大区:端口、站号选择区,设定时间输入区,监控显示区,控制按纽区。从站号选择区选择不同站号即不同PLC,实现对多个PLC的实时监控。

3.1 串口初始化程序

If MSComm1.PortOpen <> True Then
MSComm1.PortOpen=True
End If
MSComm1.Settings=“9600,E,7,2”
MSComm1.InputLen=0
MSComm1.InBufferCount=0
MSComm1.InputMode=comInputModeText
MSComm1.Handshaking=comNone

3.2 计算机与PLC通信的VB程序

Public Function ReadData(ByVal InputStr As String, ByVal Num1 As Integer, ByVal Num2 As Integer) As String


Dim OutputStr As String
Dim InString As String
Dim ReturnStr As String
Dim EndString As String
Dim FCSString As String
Dim ReturnFCSString As String
Form1.MSComm1.InBufferCount=0
OutputStr=InputStr+FCS(InputStr)+“*”
If Form1.MSComm1.PortOpen=True Then
Form1.MSComm1.Output=OutputStr+Chr$(13)’按照PLC帧格式输出
End If
Do
DoEvents
Loop Until Form1.MSComm1.InBufferCount >=Num2’返回帧的长度
InString=Form1.MSComm1.Input
EndString=Mid$(InString,6,2)’取返回帧的响应码
If EndString <> “00”Then
ReadData=“Error”
Exit Function
End If
EndString=Mid$(InString,1,Len(InString)-4)
ReturnFCSString=Mid$(InString, Len(InString) -3,2)’取返回帧校验码
FCSString=FCS(EndString)
If FCSString <> ReturnFCSString Then
ReadData=“Error”
Exit Function
End If
If Len(InString)>=Num2 Then
ReturnStr=Mid$(InString, Len(InString)-Num1-3, Num1)’取返回帧的数据,其度为Num1
ReadData = ReturnStr
End If
End Function

4 结束语

本文给出了利用VB中的MSCOMM控件实现上位机与多个PLC之间的通信方法,实现了上位机对多个PLC的实时监控。对于分布是控制系统大幅度地减小了通讯成本,具有一定的推广价值。


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。

网友评论 匿名:
相关链接
  • 海克斯康端齿联轴器测量方案,助力大众汽车品质把控
  • 24-12-23
  • 2024年“海克斯康杯”行业赛暨全国智能检测共同体年会圆满收官
  • 24-12-23
  • 海克斯康出席2024装备制造业发展大会
  • 24-12-23
  • 海克斯康 Q-DAS赋能电子行业数字化质量管理
  • 24-12-23
  • 原创 | 关于PC-DMIS文件备份的那些事儿
  • 24-12-23
  • 报名倒计时!超低价的PC-DMIS应用提升培训班,即将在青岛开班
  • 24-12-23
  • 如何评价机床定位精度测量的不确定度?
  • 24-12-23
  • 雷尼绍拉曼技术引领鼻喷剂研发的革新
  • 24-12-23
  • 温泽专家解析:工业CT在齿轮测量中的应用
  • 24-12-20
  • 快讯 | 温泽LHF系列坐标测量机荣获“杭氧杯”优秀奖殊荣
  • 24-12-20
  • FARO全新推出Quantum X FaroArm系列便携式
  • 24-12-20
  • API 2024卓越产品推荐:9D激光雷达
  • 24-12-19
  • 赛车运动行业案例 | CREAFORM 形创计量级三维扫描仪助力备赛赛车拔得头筹
  • 24-12-18
  • 大型圆弧工件划线解决方案Saturn系列划线机应用纪实案例
  • 24-12-17
  • 蔡司产品推荐:全新ZEISS CAPTUM 家族
  • 24-12-17
  • 蔡司:新质加速 2025更精彩
  • 24-12-17
  • 《模具实训室技术规范》团体标准研制工作会议在海克斯康召开
  • 24-12-16
  • 海克斯康入选2024年第三批青岛市科技创新券服务机构
  • 24-12-16
  • 海克斯康智能制造中国行走进比亚迪,为汽车技术创新注入新动能
  • 24-12-16
  • 海克斯康收购3D Systems公司的Geomagic 3D质量控制和尺寸检测软件
  • 24-12-16
  • 分享到

    相关主题