用VB连接PLC设计液化自动液化气体的充装系数统

用VB6.0实现PC对多个PLC的监控,招贤纳士网
招贤纳士网 && 居网聘之首,汇天下贤才
招贤纳士网联盟网站
用VB6.0实现PC对多个PLC的监控
用VB6.0实现PC对多个PLC的监控
本文给出了利用VB中的MSCOMM控件实现上位机与多个PLC之间的通信方法,实现了上位机对多个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所示。
[align=center]
图1??系统通信原理[/align]
在通信过程中上位机始终处于主动方,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所示。
[align=center]表1???MSComm控件属性
[b]2?通信程序设计
本系统以PC对基于PLC的交通灯控制系统的监控为例,在上位机与PLC正常通信的前提下,设计如下界面。窗体的内容主要包括,四大区:端口、站号选择区,设定时间输入区,监控显示区,控制按纽区。从站号选择区选择不同站号即不同PLC,实现对多个PLC的实时监控。
3.1?串口初始化程序
??If?MSComm1.PortOpen?True?Then
??MSComm1.PortOpen=True
??MSComm1.Settings=“9600,E,7,2”
??MSComm1.InputLen=0
??MSComm1.InBufferCount=0
??MSComm1.InputMode=comInputModeText
??MSComm1.Handshaking=com?ReturnStr??
??End?Function
4?结束语本文给出了利用VB中的MSCOMM控件实现上位机与多个PLC之间的通信方法,实现了上位机对多个PLC的实时监控。对于分布是控制系统大幅度地减小了通讯成本,具有一定的推广价值。
深圳总公司电话:地址:深圳市宝安115区宝运达物流信息大厦9楼
长沙分公司电话:地址:长沙市芙蓉区五一大道湘域中央2栋1708
东莞分公司电话:地址:东莞市莞城区旗峰路162号中侨大厦B座504
深圳市顺发网络科技有限公司&版权所有OMRON PLC网络与通信_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
OMRON PLC网络与通信
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
你可能喜欢基于VB6.0的PLC监控系统的设计--《自动化技术与应用》2014年10期
基于VB6.0的PLC监控系统的设计
【摘要】:主要阐述了VB6.0与欧姆龙CPM2AH PLC如何实现串行通信,给出了读、写测试方法,并实现了VB对PLC的监控。
【作者单位】:
【关键词】:
【分类号】:TP277【正文快照】:
1引言PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。为便于观察自动控制系统的运行状态,真实反映和再现控制设备的状态以及采集所需参数,很有必要实现PC机与PLC通信,通过编写监控系统软件对PLC进行实时监控,使控制系统得到更及时的维护和检修。近年来,在监控系
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【相似文献】
中国期刊全文数据库
胡波;董菊华;;[J];电子元器件应用;2009年09期
陈昆安;;[J];信息通信;2014年06期
孟进,刘立柱,金俊利;[J];计算机应用研究;2003年11期
陈小平;陈红仙;;[J];计算机工程;2006年20期
党强;;[J];数字技术与应用;2014年04期
中国重要会议论文全文数据库
范海红;蒋鹏;沈水金;薛安克;;[A];第25届中国控制会议论文集(下册)[C];2006年
唐伟杰;;[A];首届珠中江科协论坛论文集[C];2011年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号工控自动化技术文摘:VB与PLC VB.NET与三菱PLC连接通信
VB与PLC VB.NET与三菱PLC连接通信
2&小时前 上传
图为最新编写的程序, 可利用VB,& &.NET等自带的通信进行与PLC,&&Q,FX系列等联接。例如,在 System 命名空间中定义的许多数据类型都包含一个 Parse 方法,该方法采用字符串参数并将其转换为数据类型。 如果所提供的参数的格式无法转换,这些方法会引发 FormatException。 如果字符串参数的格式不是可识别的数字格式,Double.Parse 将引发 FormatException。 请看下面的示例。 ' The first three statements run correctly.Console.WriteLine(Double.Parse("32,115"))Console.WriteLine(Double.Parse("32115"))Console.WriteLine(Double.Parse("32.115"))' The following statement throws a FormatException.' Console.WriteLine(Double.Parse("32 115"))同样,如果字符串参数不是“True”或“False”,Boolean.Parse 会引发此异常。' This statement runs correctly.Console.WriteLine(Boolean.Parse("True"))' This statement throws a FormatException.' Console.WriteLine(Boolean.Parse("Ture"))GetCpuType(name, code)MsgBox "PLC型号:" & name & Chr(32) & Chr(32) & "|" & Chr(32) & Chr(32) & "CPU编号:" & code& &就可以直接读出PLC型号------------------以下为C24N模组与PC联接Private Sub Command1_Click()Dim opencom As Longopencom = C24N.Open()If opencom && 0 ThenMsgBox "与PLC通信不成功"ElseMsgBox "与PLC联接成功,端口已打开", (vbYesCancel)End IfEnd Sub
联 系 人:
电  话:
传  真:
地  址:
浙江嘉善县
邮  编:
主  页:
工控网客服热线:9
版权所有 中华工控网&Copyright&, All Rights Reserved}

我要回帖

更多关于 vb plc 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信