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
8
文献标识码: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
a
introduced,硼噌删rIgM%is
and
referencevalue
tO
eonmmnieafionmethodbetweenthecomputer
a
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
0
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
z
2
‘设定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
正在阅读:
VB下PLC与PC串口通信的实现07-29
刑事自诉案件反诉状03-25
NPO安装指南 - 图文12-14
2020年风电场春季安全大检查活动计划04-28
浙江省绍兴市2018届高三第二次(5月)教学质量调测数学试题(含03-28
润州区2017-2018学年九年级数学第二学期第一次学情调研06-27
三年级音乐下册教案03-29
在2022年持证残疾人基本状况调查培训班上的讲话范文03-23
路基路面施工组织设计11-11
起重伤害应急预案演练记录 - 图文11-18
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 串口
- 通信
- 实现
- PLC