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

新闻

News

   首页  >  新闻  >  正文

VB6.0在PLC和上位机通讯中的应用


http://www.iianews.com VB6.0 PLC 位机通讯 2008年09月17日
1、引言

可编程控制器以其高可靠性,配置灵活和完善的功能,在工业控制系统中得到越来越广泛的应用。但对于操作员所需要的报表打印、趋势图形显示、工况查寻、参数在线修改等功能,PLC却不能直接方便地提供。所以通常采用计算机PC与PLC组成一个完整的监控系统。本文以台安TP02系列PLC为例,讨论用Visual Basic(VB)实现PLC与上位机的通讯。

2、VB在通讯控件中的使用

可编程控制器PLC与上位机PC之间的通信,下位机为PLC,基于其可靠性极高,主要承担控制功能,而上位PC机主要承担监察管理功能,有时兼备部分控制功能,如发出运行,停止命令。VB语言是基于WINDOWS操作系统的功能强、易学易用、主要是面向学习对象的程序设计语言。VB带有专门管理串行通讯的MSComm控件,只需设置几个主要参数就可以实现PLC与PC串行通讯。要完成通信必须设置MSComm的相关属性值:

(1)CommPort:设置或传回通信连接端口代号
(2)Settings:设置初始化参数。以字符串的形式设置或传回连接速度、奇偶校验、数据位、停止位等4个参数
(3)PortOpen:设置或传回通信连接端口的状态
(4)Input:从输入寄存器传 回并移除字符
(5)Output:将一个字符串写入输出寄存器
(6)InputLen:指定由串行端口读入的字符串长度
(7)InBufferCount:传回在接收寄存器中的字符数

3、软硬件之间:

台安TP02与上位机PC通信时,为了实现两者的通信需要配备通信线。

4、通信程序的实现

4.1 通信初始化程序

首先,在窗体开始设计之前,添加MSComm控件。

4.2程序编写:

4.2.1 通信控件MSComm1属性设置:

MSComm1.CommPort = 1 设置端口号
MSComm1.Settings = "19200,E,7,2" 设置通信参数
MSComm1.InputLen = 0 设置读入字符串长度
MSComm1.PortOpen = True 设置通信端口状态

4.2.2 PLC运行程序:
STX$ = "::"
TransmitBuf$ = "01?5RUN"
sum$ = CheckSum(transmitBuf$)
ETX$ = Chr$(13)
SXD$ = STX$ + transmitBuf$ + sum$ + ETX$
MSComm1.Output = SXD$
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 12
In1$ = MSComm1.Input

4.2.3 从PLC读取资料,将寄存器内的数据资料在PC上显示以便观察监控(反应时间50ms):

STX$ = "::"
transmitBuf$ = "01?5MRVD000102"
sum$ = CheckSum(transmitBuf$)
ETX$ = Chr$(13)
SXD$ = STX$ + transmitBuf$ + sum$ + ETX$
MSComm1.Output = SXD$
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 20
InData$ = MSComm1.Input
Label2.Caption = Mid$(InData$, 10, 4)
Label3.Caption = Mid$(InData$, 14, 4)
  
4.2.4从PLC读取资料,将RelayC0001状态通过PC显示进行监控(反应时间50ms):

STX$ = "::"
transmitBuf$ = "01?5MCRC0001"
sum$ = CheckSum(transmitBuf$)
ETX$ = Chr$(13)
SXD$ = STX$ + transmitBuf$ + sum$ + ETX$
MSComm1.Output = SXD$
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 13
In4$ = MSComm1.Input
Coil$ = Mid$(In4$, 10, 1)
C1% = CInt(Coil$)
Label6.Caption = C1%

4.2.5 设定Relay状态,将Relay设定为ON(反应时间50ms):

Dim C1 As Integer
STX$ = "::"
transmitBuf$ = "01?5SCSY00011"
sum$ = CheckSum(transmitBuf$)
ETX$ = Chr$(13)
SXD$ = STX$ + transmitBuf$ + sum$ + ETX$
MSComm1.Output = SXD$
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 12
In2$ = MSComm1.Input

4.2.6 PLC停止运行:

STX$ = "::"
transmitBuf$ = "01?5STP"
sum$ = CheckSum(transmitBuf$)
ETX$ = Chr$(13)
SXD$ = STX$ + transmitBuf$ + sum$ + ETX$
MSComm1.Output = SXD$
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 12
In3$ = MSComm1.Input
  
4.2.7 VB6.0下CheckSum函数代码如下:

Private Function CheckSum(transmitBuf$)
L = Len(transmitBuf$)
Add = 0
Dim k, sum As Integer
For k = 1 To L
TJ$ = Mid$(transmitBuf$, k, 1)
Add = Add + Asc(TJ$)
Next k
Do While Add >= 256
Add = Add - 256
Loop
Add = 255 - Add + 1
tempBuf$ = Hex$(Add)
CheckSum = LTrim(tempBuf$)
End Function
  
5、结论

PLC与上位机的结合,并通过VB6.0传送数据所构成的计算机监控系统,对于近距离传输数据的现场控制来说是一种性价比很高的解决方案。充分的利用的PLC的抗干扰性能和PC强大的图形显示,浮点运算的特点,与之有效地结合,最大限度,合理的利用资源

 
相关链接
用PLC+电磁阀代替空气分配器进行均化控制 [ 2008-09-18]
先进运动控制技术在印刷设备上的应用 [ 2008-09-17]
国产稀土永磁交流伺服电机在水平连铸中应用 [ 2008-09-17]
APEX AB型伺服用行星减速机在商标印刷机中应用 [ 2008-09-17]
施耐德运动控制产品在包装行业中应用 [ 2008-09-17]
PLC与DCS的选择依据 [ 2008-09-16]
PLC可编程控制器介绍 [ 2008-09-16]
AB PLC在立式粉末喷涂生产线中的应用 [ 2008-09-16]
基于PPC、PLC及现场总线的铁路大型养路机械的电气控制系统 [ 2008-09-16]
利用Visual Basic和PLC开发小型监控系统 [ 2008-09-16]
VB6.0在PLC与上位机通讯中的应用 [ 2008-09-16]
聚焦工业安全问题,PLCopen成立安全工作组 [ 2008-09-12]
机床PLC改造过程中的故障诊断 [ 2008-09-11]
PLC在钢板打号机系统中的应用 [ 2008-09-11]
  相关群组   
   PLC
已有 48 人加入  
   西门子PLC
已有 30 人加入  Simens PA
   欧姆龙PLC控制系统
已有 24 人加入  欧姆龙 Omron
   霍尼韦尔PLC
已有 5 人加入  霍尼韦尔MasterLogic 200系列大型PLC,价格好,技术领先,适合石化,冶金,水处理,水泥,汽车等行业应用!欢迎联系北京沛志科技发展有限公司13269809303
  相关话题   
  PLC上海代理商
  如何编写PLC程序
  和利时LK系列PLC应用汇总
  浅谈:PLC和DCS的通信
  浅谈:PLC和DCS的通信
  三菱PLC根据指示灯判断故障
  西门子PLC和松下PLC的区别
  国人为什么会有这么多厂家生产国产PLC
  PLC系统中干扰源剖析
  带2个PPI通讯口的普通CPU224 PLC
  相关问答   
选个柜子在实验室里使用。 柜子宽高厚是600×1000×600,里面就放PLC,接线端子和两个水泵电机的保护设备,外界有水。 请问一下我在选柜子时应该考虑哪些
选个柜子在实验室里使用。 柜子宽高厚是600×1000×600,里面就放PLC,接线端子和两个水泵电机的保护设备,外界有水。 请问一下我在选柜子时应该考虑哪些指标,比如柜子的板厚,防氧化。 还能帮我想想要考虑哪些因数吗? 第一次选柜子,都不清楚。
  相关产品

Modicon Quantum以太网架构解决方案

施耐德电气SoMachine V3 XS优化版

宜科EHV系列HMI

FC5A MicroSmart可编程控制器超薄型网络服务器CPU模块
  推荐企业
Endress+Hauser 恩德斯豪斯 科尔摩根(Kollmorgen)
西门子自动化与驱动集团  
  关于 " VB6.0在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.