VB下PLC与PC串口通信的实现

更新时间:2023-07-29 17:32:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VB下PLC与PC串口通信

控制与检测

文章编号:1001—2265C2005)12—0062—02

组合机床与自动化/JUT技术

VB下PLC与Pc串口通信的实现

张传伟,王昀睿

(西安科技大学机械工程学院,西安710054)

摘要:结合DVP系列可编程控制嚣的特点,给出了利用VisualBasic(VB)中的MLSCOlnln控件实现计算机与PIE的串行通信的

方法,井给出了详细的程序设计过程。谊方案简单、实用,对由其它类型PIE和上住机组成的监控系统的通信实现有一定

的参考价值。并在电力无功补偿控制系统中得到了成功的应用,取得了满意的效果。关键词:VB;串行通信;MSConma;PLC中图分类号:TP391

文献标识码:A

ImplementationofSerialCmmuunieationBetweenPLCandPC

ZHANG

Chuan.Wei.WANG

Yun-rui

(School

andPLC

ofMechanicalEngirs,efing,Xi’allUniversityofScience&Technology,Xi’all

to

710054,China)

simplehaltlware

Abnr日ct:Aeeon]ing

thecharacteristicsofDVPseriesPtogtmmnableLogiocontrollers,a

withVBho.guo#is

introduced,硼噌删rIgM%is

and

referencevalue

tO

eonmmnieafionmethodbetweenthecomputer

give.indetail.This"scheme}las

structureandis

practicable,whichhasalsohas

therealizationofcommtmieation

betweencomputerandPLCinothersupervisorsystem.It

beenappliedsuecessfallyinelectrical/'d](ytivp.powercompensationcontrolsystem.

Keywords:visualbasic;serial

emmnunicafion;M‰lln;PIE

0引言

PIE是踟年代发展起来的新一代工业控制装置,由于可靠

性高、适应性好、抗干扰能力优、接口功能强、编程简单、直观以及模块化结构、使用方便等优点,在工业控制领域中得到了广泛应用。但是PIE无法进行复杂的运算和显示各种实时控制图表,人机交互性差、管理人员不能及时了解现场情况,为弥补

现动作。另外.在用户出现故障时上位机可控制下位PIE,及时

报警以便尽快修复故障;下位机采用台达DVP系列PLC,其主要任务是对用户端的用电品质进行控制,使功率因数基本稳定在用户设定值(一般0.91以上),设备发生故障时按上位机命令执行,也可手动紧急处理。

PIE这方面的不足,工业控制中一般与计算机组成控制系统,PIE作为下位机使用,用来完成输入输出控制、逻辑运算、数据

采集及状态判别等工作。上位机一般用工业控制计算机,用来

图1系统组成

完成数据分析计算、信息存储、状态显示、打印输出等功能,以

实现对被控制系统的实时监控。这种监控系统将计算机与PIE

结合起来,使两者优势互补,且能够充分利用个人计算机强大的人机接口功能、丰富的应用软件、低廉的价格,组成高性能价格比的PC—PIE监控管理系统。另外,考虑目前使用专业组态软件成本仍较高,且控制起来不够灵活,便利用VB下的MSColnlIII

2串口通信控件

VB是Windows环境下简单、易学、高效的可视化编程语言开发系统,以其所见所得的可视化界面设计风格和面向对象的程序设计等特点,在实际的工程应用中得到了广泛的应用,是很多计算机软件开发人员开发的工具。它不但提供了良好的界面开发环境,而且具有功能强大的通信控件Microsoft

tions

Cotmnmfiea-

通信控件,实现PIE与上位机之间的通信,开发了基于VB的变

压器二次侧低压补偿PLC监控系统。

Colmol(MSColnln),提供了很强的串I:1通信能力。

VB中的MSCoffllR控件的实用性强、功能完善,是实现计算

1系统构成

变压器二次侧低压补偿PLC监控系统的组成如图1所示,

机与外部设备数据交换的强有力工具。该控件可设置用来发送和接收二进制数据或ASCII码数据,可对串口状态及串口通信的信息格式进行设置,实现对下位机地址和数据的接收和发送,达到多机通信的目的。MSComm控件的编程非常方便,程序员不必花时间去了解复杂的API函数,而且在vc、VB、Delplfi等语言中均可使用。

在PIE监控系统中,上位机PC的主要任务是通过电力变送器

(POM)获取电力用户的用电信息,并通过标准1世¥232串行接口将现场数据实时传送到上位机。完成数据处理、储存、以及各数

据量的实时显示等功能,并控制下位PIE按给定的控制算法实

收椭日期:2005—01一J0

作者简介:张传伟(1974一),男,安徽准南人,西安科技大学机械工程学院讲师,硕士,主要从事机电系统智能控制和CAD/CAM方面的科研与教学

工作。(E—I“1)^angew@xust

edu.cn。

万方数据 

VB下PLC与PC串口通信

2005年第12期

控制与检测

MSComm控件提供了两种处理通信的方式:一是事件驱动实现控制的具体实施过程:

通信,它是处理串行端口交互作用的一种非常有效的方法。在(1)通信协议设定:DVP系列PLC的通信协议为MODBUS

许多情况下,在事件发生时需要得到通知,因而可以利用ASCII模式,其通讯格式:波特率9600bps、偶同位(Even咖ty)、1

MSCamm控件的OnComm事件捕获并处理这些通信事件,On.个起始位、数据长度为7、1个停止位。

Comm事件还可以检查和处理通讯错误。编程时,在OnComm事(2)通讯资料格式

件处理函数中加人自己的处理代码就可以了。这种方法的优点Pc与PLC之间按照表1所示的通讯格式进行通讯,表2是

是程序响应及时、可靠性高。缺点是每个MSComm控件对应着PLC的命令码,表3是PLC每一种设备的地址。要实现何种功

一个串行端口,如果应用程序需要访问多个串行端口,必须使用能就必须按照通讯格式使用规定的命令码和设备地址,这样才多个MSComm控件;另一种是查询方式,其实质上还是事件驱能正确接受和发送数据。

动,在程序的每个关键功能之后,可以通过检查GommEven!属性

表1

DVP—PLC通讯资料格式的值来查询事件和错误,做出相应的处理。如果应用程序较小,

说明

编程说明

并且是自保持的,这种方法就更可取。IVkZ,Comm控件同时支持帆

起始字节“:”3AH

二进制格式和文本格式数据的接收和发送。使用时须注意以下ADRlPLC通讯地址出厂设定值为

两点:(1)Input和Output属性接收和发送的字符串类型是Vail—ADRant,因此在读取和写入缓冲区的数据要转换设置为Variant。在∞1

PLC地址:1个Byte

0m1

c^Ⅲ0

命令码:1个Byte

命令码及意义如下表

接收时InputMode属性决定着接收的数据类型,InputMode设为DATA(0)

ComlnputmodeText,就可利用Input属性返回文本数据,如果Input.n^1An)

接收或发送的PLc装置地址

Mode设为ComInputModeBkmry,就可利用Input属性返回二进制数据内容:1—32Byt∞

和数据内容

数据;(2)在VB程序编写时RThreshold和lnputLen属性设置的值DATA(n—1)最好与PLC发送的值相等,否则极易引起数据传输混乱。

Ⅱlc

C嘶I

L毗检查:由A∞I到n衄t(n

MSColnm控件有很多重要的重要属性,其中最主要的有①

IRCCHK0

校验码:1个Byte—1)的内容相加取2的补码

CommPorl属性:设置并返回通讯端口号,格式为MSCaaan.Comm—

ENDl

结束字节:2个Bytes

ODf{、0AH

Port=[PortNumber].设计时PortNumber可以设置成从1到16的

END

0END

l=cR.END0=LF

任何数,但是如果用P0棚pen属性打开一个并不存在的端口时,

表2DVP—H.c命令码

就会产生错误;②Settings属性:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位,格式为M,scolnila.Settln擎=[ParaS—

命令码

功能

适用范围

0luing],ParoStrir*是~个包含四部分的字符串,如“9600,N'8,l”i读线圈的状态S,Y,M。T.C02

读输人线圈的状态

S,X,Y.M,T,C

◎PortOpen属性:设置并返回通讯端口的状态,也可以打开和关

03读取多笔寄存器内容

T。C.D闭端口,格式为MSCommPortOpen=[Tree/False];④Input属性:05

强制单线圈S,Y,M,T,C

从接收缓冲区返回和删除字符,该属性在设计时无效,运行时为

06

复位单个寄存器T,C,D只读,格式为MSComm.Input;⑤Output属性:向传输缓冲区写一15

强制多线圈S,Y,M,T.C

个字符串,该属性在设计时无效,运行时为只读,格式为

16

复位多个寄存器

T.C.D

MSComm.Output=OutData,OutData为要发送的数据,可以是文本数据或二进制数据。

裹3

DVP—PLC地址范围设备

范围

地址

PC与DVP系列PLC的通信

S0~10230000—03FF上位计算机数据传输程序设计在PLC与上位计算机通讯过

XO一3770400~04FFY

O一377(1600—05FF程中,虽然PLC可以具有优先权启动通讯,但一般不使用这一方T

0~2550600一06FF

法,而采用上位机具有优先权,向PLC发送命令启动通讯,PLCMO—1279嘴∞~0CFF

自动返回响应的通讯方式。计算机在与PLC通讯时,首先必须C

0~255

0E00,0EFF

对通讯端口进行初始化处理,其初始化参数必须与PLC的通讯表中,x一输入继电器,Y一输出继电器,M一辅助继电器,S一状态元件,T一定时器,c一计数器,D一数据寄存器。

(3)通信初始化

于被动状态响应上位机的命令。上位机读数据时通过通信口向MSConunl.CommPort

‘设定c0^心为Pc与PLC的通信

端口

MSCzmⅧI.Settings=”960),E,7.1”

口向PLC发出写命令及数据,PLC即可接收。当PLC没能正确

MSGanml.InputMode=ComlnputModeText返回文本数据

MSConmd.1nBuffeISize=1024MSComml

PonOpen=True

’打开COMI通信端口

(4)计算LBC校验

(下转第66页)

通过Pc的COM2与DVP系列PLC的RS一232端口通信来

63

万 

方数据3

参数相同。计算机与PLC之间采用主从应答方式,计算机始终具有初始传送优先权,根据需要向PLC发出读写命令;下位机处

PLC发出读数据命令.PLC响应命令并将数据传回上位机,上位

机通过读通信口即可取得所需数据;写数据时。上位机通过通信响应时,PLC返回投能正确响应标志。此外PLC通信模块还有

其它命令代码,上位机发出不同的命令,PLC便能做出相应的响应。

VB下PLC与PC串口通信

控制与检测

仿真器和TunmgAnaLyzer分析工具进行功能仿真和时序仿真,可验证各个电路模块的功能是否正确。如果有错误则返回原设计

予以改正。并重新编译、仿真,直到没有其他错误。最后生成可用于下载的pof或sof文件。

图3

CPLD设计流程圈

图4就是用MAX+PLUSⅡ对通过CPLD来实现的手脉信号

的四倍频鉴向电路波形仿真结果。其中A、B为经差分接收及光隔整形后的手脉信号,OA、OB为鉴向倍频后的输出信号。

CUC

^B0^

图4四倍频及鉴向电路仿真波形

3系统的开放性及其抗干扰设计

上面所介绍的基于Pc的高速雕铣机的开放式数控系统,由

于采用了“位置控制卡+Pc”的形式,结构简单,可靠,易扩展。在设计中,不管是系统整体设计还是像位置控制卡的cPLD部

分的局部设计,都注重模块化的设计理念,将各部分功能模块

化,并进行相应的硬件或逻辑设计。系统各模块问基本上都是

通过标准接口来实现互连通信,因此,各部分可根据实际需要选

用组合,也可单独应用到其他的数控系统,使得系统的灵活性和

可扩展性大大提高。如基于cPLD的位置控制卡.以插针插槽的形式,连人PCI04总线,直接与上位机进行通信,从而可移植到

与PCI04兼容的不同Pc机上;操作面板模块则通过标准串口与

上位机通信。从一定程度来说,该系统较好的实现了开放化要

求。

数控机床是机械、电子,强电、弱电,硬件和软件紧密结合的自动化产物,在其运行过程中,伴随着电磁能量的转换,一方面它对周围环境产生影响,另一方面其本身受到来自所处环境各方的电磁干扰.直接影响着数控系统的可靠运行。因此,在进行系统设计时,抗干扰问题是不容忽视的。通过分析,可知干扰源主要来自三个方面:空间电磁场干扰、电网干扰和系统内部干

扰,解决干扰问题要从系统的硬件和软件两个方面考虑。

软件的方法有软件滤波,软件看门狗,软件冗余,故障自检

等措施。

硬件方面针对干扰源,采取了不同的措施,如:

(1)对于编码器脉冲输入信号,采用差分输入,并通过高速

光耦进行隔离,再经整形电路整形;

(2)对于开关量输入,可先用光耦隔离.抑制共模干扰,并用电容米抑制常模干扰。

(3)合理设计印刷电路板。

4结束语

数控系统的开放化是顺应现代制造业发展要求,满足数控系统制造商、机床生产商及用户对数控系统灵活性,可重组可扩展性等要求的必然趋势,因此,要在综合考虑机床应用要求,控制轴数,开发周期等等各方面因素的情况下,充分考虑开放性,

万 

方数据组合机床与自动化加工技术

以模块化为指导思想,合理设计整个数控系统。

【参考文献】

[1]毕承恩,丁乃建.现代数控机床[M].北京:机械工业出版社,

1991.

[2]宋万杰,罗丰,吴顺君.CPLD技术及其应用[M].西安:西安

电子科技大学出版社,2001.

[3]张明亮,解旭辉,李圣怡.开放性数控技术的发展[J].机电工

程,1999(4):65—68

[4]朱同兴.国内外数控技术发展动向[J].兵工自动化,21)01,20

(3):10—12.

5李叶松.董玮.基于CH,D的开放式四轴运动控制器的设计

[J].电子技术应用,2002(5):35—37.(编辑江复)

(上接第63页)

Futwlion

Check—IRC(ByVal

Check—dataAsString)

DinlD¥(),result—Ire¥,D,Index,iAshlt8学er’定义变量

Do

D¥(Index)=lzft(Check—data¥,2)

Cheek—data¥=Mid(Check—data¥,3)Indai=Index+l

LoopuIltilLen(Check—data¥)=0

Fori=l

ToIndex—l

D=D+val(。&量r+D¥(i))

Nexti

relsult—he¥=Hex(256一(DMod256))

result—he¥=llf(kn(result—he¥)=l,W&result—he

¥,result—he¥)

Check—LRC=Ⅲ(Lea(result—Ire¥)>2,Right(result—Ire¥,2),result—lrc¥)

EndFunction

(5)读写PLC

PrivateSubSend—To—PLC()

lYan

send—string¥

’定义变量

……

send—string¥=ChK&mA)+Check—LRC(Ⅻd一咄¥)

’添加代码,求取要发送字符串

+Chr(&tm)+Chr(&nA)

SeIld—To—PIE=send—string¥MSComml.Output=Send—To—PLC

EndSub

4结论

利用VB中的MSComm控件实现计算机与可编程序控制器

通信的设计思想和基本方法。并成功地应用于变压器二次侧低

压补偿P忧监控系统中,该监控系统的运行表明,用VB的

mc蛐控件设计的实时通信软件可靠、稳定,能很好地满足的

监控系统的要求,取得了满意的效果。

【参考文献]

[1]白鹏.Visual.Basic6.0高级编程技巧一多媒体通信篇[M].

西安:西安交通大学出版社,1999.

[2]中达电通,DVP—PI£应用技术手册[程序篇].

[3]中达电通,DVP—PLC通信协议手册,

(编辑赵蓉)

VB下PLC与PC串口通信

VB下PLC与PC串口通信的实现

作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:

张传伟, 王昀睿, ZHANG Chuan-wei, WANG Yun-rui西安科技大学机械工程学院,西安,710054

组合机床与自动化加工技术

MODULAR MACHINE TOOL & AUTOMATIC MANUFACTURING TECHNIQUE2005(12)16次

参考文献(3条)

1.中达电通,DVP-PLC通信协议手册2.中达电通,DVP-PLC应用技术手册(程序篇)

3.白鹏 Visual Basic 6.0高级编程技巧-多媒体通信篇 1999

本文读者也读过(10条)

1. 李志宏.杜娟.张平.路铁桩.张石 基于VB的PLC和上位机通信的实现方法[期刊论文]-基础自动化2002,9(1)2. 谈士力.张海洪.冯星华.Tan Shili.Zhang Haihong.Feng Xinghua 基于VB的PLC与微机通讯及其应用[期刊论文]-系统工程与电子技术2001,23(3)

3. 叶柏峰.张长利.于艳.白丽君.YE Baifeng.ZHANG Changli.YU Yan.BAI Lijun 基于VB的PLC与计算机串行通信设计[期刊论文]-东北农业大学学报2007,38(3)

4. 梁材 基于VB的PLC与PC人机界面通信[期刊论文]-现代农业装备2009(4)

5. 董萍.DONG Ping 浅谈基于MSComm控件实现VB串口通信[期刊论文]-装备制造技术2007(2)6. 宋国杰 利用VB的MSComm控件实现计算机与PLC的串行通信[期刊论文]-中国科技信息2009(11)7. 田红芳 用VB实现上位机与PLC之间的串行通信[期刊论文]-仪器仪表学报2001,22(z1)

8. 王新晴.张向前.张文臣.汤瑜.陈雄.Wang Xin-qing.Zhang Xiang-qian.Zhang Wen-chen.Tang Yu.Chen Xiong 基于VB的PLC监控系统构建技术[期刊论文]-现代制造工程2007(11)

9. 阚江.孙苓生.张明 用VB 6.0实现工控软件和下位机的串口通信[期刊论文]-电力自动化设备2002,22(9)10. 赵艳秋.崔红.ZHAO YANQIU.CUI HONG 基于VB与PLC串口通信的液位监控系统[期刊论文]-微计算机信息2007,23(25)

引证文献(17条)

1.杨轶霞 PLC与计算机在自动售饮料机控制系统中的应用[期刊论文]-新乡学院学报(自然科学版) 2011(1)2.陈雷明.程金生.杨润泽 基于FXON编程口通信的实弹钻孔安全测控系统实现[期刊论文]-实验室研究与探索2011(1)

3.陈德南 PLC恒压供水上位机控制系统的开发[期刊论文]-计算机与现代化 2011(2)4.王巍 基于VB的局域网即时通讯软件设计浅谈[期刊论文]-科学之友 2010(30)

5.李志峰.赵志诚.张井岗 基于VB和PLC的液压支架试验台监控系统[期刊论文]-工矿自动化 2010(3)6.丁莉君.李宏燕 上位机与PLC通信的设计及应用[期刊论文]-机床与液压 2009(9)7.杨佩璐 基于VB6.0实现PC机与单片机的串行通讯[期刊论文]-中国集体经济 2009(10)8.周敏.李凤婷.吴为民 基于VB的PC机与多台PLC的通信研究[期刊论文]-计算机工程 2009(4)9.丁莉君.李宏燕 自由口模式下S7-200 PLC与上位机的通信[期刊论文]-机床电器 2009(1)10.张传伟.滕坤志 锰硅电炉低压补偿控制系统研究[期刊论文]-铁合金 2008(3)

11.章程.程文明.肖建军 基于Modbus协议的PC机与S7-200PLC的串行通信[期刊论文]-机械工程与自动化 2008(3)

VB下PLC与PC串口通信

12.吾买尔.吐尔逊.张德虎.张占.严继松 基于PLC和Visual Basic的串行通信技术的实现[期刊论文]-中国科技信息 2008(5)

13.丁璐斌.李静.廖轶.陈辛 物流工程实验室优化建设研究[期刊论文]-实验室研究与探索 2008(2)

14.殷军辉.郑坚.马春庭.那荣智 基于单片机和MSComm通信控件的实时数据采集处理系统开发[期刊论文]-科学技术与工程 2007(15)

15.孙进生.施宝酉.张勇气 基于VB的PC与LG PLC的通信方法[期刊论文]-工业控制计算机 2007(9)16.丁莉君.吴晓君 VB6.0下S7-200PLC与PC机的串行通信[期刊论文]-制造业自动化 2007(1)17.陈德南 PLC恒压供水上位机控制系统的开发[期刊论文]-计算机与现代化 2011(2)

本文链接:/Periodical_zhjc200512023.aspx

本文来源:https://www.bwwdw.com/article/l6fm.html

Top