用VB6.0来实现PC对多个PLC的监控-国际工业自动化网-控制,工控,网络,仪器仪表,产品,采购选型,推荐,问答,资料,下载
 IIA首页    新闻      案例      工业经理人
      产品         技术      专题      工程师社区
      学院         下载      视频      在线研讨会
现场层       传感器    现场仪表   工业安全
现场总线  工业以太网   工业无线  工业连接
机器视觉    测试测量   执行机构   电子元件
机器控制/过程控制     PLC    DCS
 控制系统  控制软件   HMI   运动控制
 嵌入式系统   工业机器人
优化/集成/管理
MES    PLM    工业数据中心
能效管理    设备管理与维护
可持续发展技术专题 2011汉诺威工业博览会回顾
 

新闻

News

   首页  >  新闻  >  正文

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


http://www.iianews.com VB6.0 实现 PC 多个PLC 监控 2008年10月06日
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的实时监控。对于分布是控制系统大幅度地减小了通讯成本,具有一定的推广价值。

 
相关链接
GPRS城市供水调度监控系统应用方案 [ 2008-10-08]
艾默生帮助SABIC实现乙炔瓶充气控制 [ 2008-10-08]
TrustPLC CTS7-200 PLC在中央空调中的应用 [ 2008-10-08]
永宏PLC在细纱机控制系统设计与实践 [ 2008-10-07]
PLC应用在四连杆装箱包装机中 [ 2008-10-07]
PLC在热电站燃料准备系统中的应用 [ 2008-10-07]
上海电气研发获突破实现国产化 [ 2008-10-07]
通过无线网络对畜舍温湿度的监控 [ 2008-10-07]
怎样解决PLC控制系统抗干扰问题 [ 2008-10-07]
PLC在离心式压缩机防喘振控制系统中的应用 [ 2008-10-07]
海为PLC——在继电器检测设备上的应用 [ 2008-10-07]
Windows 95 下数控软件实时控制的实现 [ 2008-10-06]
利用PLC和组态软件的自来水厂监控的成功运用 [ 2008-10-06]
数控直流电流源的设计与实现 [ 2008-10-06]
基于智能传感器的弹药库温、湿度监控系统设计 [ 2008-10-06]
  相关群组   
   浙大中控 SUPCON
已有 19 人加入  
   西门子PCS7
已有 10 人加入  西门子PCS 7的中国新台阶
   机房监控
已有 10 人加入  LM-1000系列机房监控区域主机的功能有两个:一是在大型的机房监控工程中,配合LM-2000等大型机房监控主机实现全领域的监控。在这种应用中,LM-1000系列作为更大型的机房监控主机的从机,分布到特定的区域,这时LM-1000系列机房
  相关话题   
  从PC到IPC
  无线局域网在视频监控中的正确应用以及对其优点描述
  只用一个无线网卡实现整个局域网共享上网的办法
  802.11n:无线视频的实现技术
  工业以太网交换机地铁监控系统解决方案
  无线化是无线视频监控的发展方向
  无线视频监控要改进监控终端
  无线视频监控要创新传输技术
  基于PC技术的运动控制器
  基于单片机的低成本远程监控系统
  相关问答   
魏德米勒 PCB产品 TOP 1.5GS
从产品侧面只能看到这样的字符-TOP 1.5GS.请问它的具体型号是多少.单价多少.在哪里可以采购到.
  相关产品

施耐德电气Harmony 指纹开关

Modicon Quantum以太网架构解决方案

智能型不间断电源QUINT UPS-IQ

西门子雷达物位计SITRANS LR560
  推荐企业
Endress+Hauser 恩德斯豪斯 西门子自动化与驱动集团
  关于 " 用VB6.0来实现PC对多个PLC的监控 " ,填写反馈

验证码:    看不清

用户名:          密 码:         
还不是 IIAnews 注册会员? 立即免费注册 节省更多时间!
  直通车 :   ( 无须注册,轻松沟通 )
*姓名:     *单位名称:
*电话:     *电子邮件:
 
    
 

行业导航

电力    冶金    石化    医疗    建材
交通    电子    机械    节能    汽车    OEM
2012工业通讯技术应用峰会
产品点通
交换机  串口服务器  控制器  工控机  平板电脑  人机界面
传感器  视觉系统  伺服电机  PAC   I/O模块   MES  触摸屏
PLC  继电器  变送器  步进电机
主编直播间
在线提问  主编观点
•  2011年自动化市场回顾
•  MES提供从控制到管理的协同制造
•  定制创新服务模式—SFAE助力中山市松德包装机械股份有限公司...
•  风电变桨控制系统调查
•  投票你觉得性价比最好的人机界面
最新话题
在线研讨会
 • 1st Web-Seminar for PCS 7 Specialists: Customer Be
 • 2011研拓自动化全方位运动控制产品与系統解決方案
 • 2011科尔摩根 (Kollmorgen) KBM无框架直驱电机产品介绍
 • 美国福禄克(FLUKE)电能质量与设备使用的关系
 • 科尔摩根运动控制产品及其印刷行业应用方案
最新视频
西门子全集成自动化视频8- 国际化的设备
全面进军国际市场需要面对众多挑战。您必须将软件、文档、说明手册翻译成多
•   西门子全集成自动化视频7- 轻松集成
•   施耐德电气案例展播之建筑楼宇
•   施耐德电气案例展播之数据中心
•   菲尼克斯电气标识系统产品视频
•   西门子全集成自动化视频6- 生产透明度
编辑推荐
•  霍尼韦尔将2012年的年度用户大会(HUG)大学生挑战赛活动扩展至亚太地区
•  倍加福邀您共襄沈阳制博会盛事
•  SICK 传感器公司中文名称变更通告
•  堡盟南京办事处正式成立
•  艾默生通过并购扩展其安全业务
市场调研

搜企
首页 | 国际金属加工网 | 造车网 | 会员 | 主题信息 | 自动化问答 | 网站地图 | 免责声明 | 关于我们 | 主编信箱
北京市朝阳区东四环中路58号远洋国际中心C座2402室 电话: 010-65307950 传真: 010-65307859
Copyright ©1997-2012 IIA News.com & SooQ. All rights reserved.