VB下PLC与PC串口通信的实现解析.docx

上传人:b****5 文档编号:3025751 上传时间:2022-11-17 格式:DOCX 页数:8 大小:43.28KB
下载 相关 举报
VB下PLC与PC串口通信的实现解析.docx_第1页
第1页 / 共8页
VB下PLC与PC串口通信的实现解析.docx_第2页
第2页 / 共8页
VB下PLC与PC串口通信的实现解析.docx_第3页
第3页 / 共8页
VB下PLC与PC串口通信的实现解析.docx_第4页
第4页 / 共8页
VB下PLC与PC串口通信的实现解析.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

VB下PLC与PC串口通信的实现解析.docx

《VB下PLC与PC串口通信的实现解析.docx》由会员分享,可在线阅读,更多相关《VB下PLC与PC串口通信的实现解析.docx(8页珍藏版)》请在冰豆网上搜索。

VB下PLC与PC串口通信的实现解析.docx

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

收稿日期:

2005-01-10

作者简介:

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

工作,(E-mailzhangcw@xus。

文章编号:

1001-2265(200512-0062-02

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

张传伟,王昀睿

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

摘要:

结合DVP系列可编程控制器的特点,给出了利用VisualBasic(VB中的MSComm控件实现计算机与PLC的串行通信的方法,并给出了详细的程序设计过程。

该方案简单、实用,对由其它类型PLC和上位机组成的监控系统的通信实现有一定的参考价值,并在电力无功补偿控制系统中得到了成功的应用,取得了满意的效果。

关键词:

VB;串行通信;MSComm;PLC中图分类号:

TP391.8文献标识码:

A

ImplementationofSerialCommunicationBetweenPLCandPC

ZHANGChuan-wei,WANGYun-rui

(SchoolofMechanicalEngineering,XicanUniversityofScience&Technology,Xican710054,China

Abstract:

AccordingtothecharacteristicsofDVPseriesProgrammableLogiccontrollers,acommunicationmethodbetweenthecomputerandPLCwithVBlanguageisintroduced,programmingandprocessisgivenindetail.Thisschemehasasimplehardwarestructureandispracticable,whichhasalsoareferencevaluetotherealizationofcommunicationbetweencomputerandPLCinothersupervisorsystem.Ithasbeenappliedsuccessfullyinelectricalreactivepowercompensationcontrolsystem.Keywords:

visualbasic;serialcommunication;MSComm;PLC

0引言

PLC是80年代发展起来的新一代工业控制装置,由于可靠性高、适应性好、抗干扰能力优、接口功能强、编程简单、直观以及模块化结构、使用方便等优点,在工业控制领域中得到了广泛应用。

但是PLC无法进行复杂的运算和显示各种实时控制图表,人机交互性差、管理人员不能及时了解现场情况,为弥补PLC这方面的不足,工业控制中一般与计算机组成控制系统,PLC作为下位机使用,用来完成输入输出控制、逻辑运算、数据采集及状态判别等工作。

上位机一般用工业控制计算机,用来完成数据分析、计算、信息存储、状态显示、打印输出等功能,以实现对被控制系统的实时监控。

这种监控系统将计算机与PLC结合起来,使两者优势互补,且能够充分利用个人计算机强大的人机接口功能、丰富的应用软件、低廉的价格,组成高性能价格比的PC-PLC监控管理系统。

另外,考虑目前使用专业组态软件成本仍较高,且控制起来不够灵活,便利用VB下的MSComm通信控件,实现PLC与上位机之间的通信,开发了基于VB的变压器二次侧低压补偿PLC监控系统。

1系统构成

变压器二次侧低压补偿PLC监控系统的组成如图1所示,在PLC监控系统中,上位机PC的主要任务是通过电力变送器(PDM获取电力用户的用电信息,并通过标准RS232串行接口将现场数据实时传送到上位机,完成数据处理、储存、以及各数据量的实时显示等功能,并控制下位PLC按给定的控制算法实

现动作。

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

也可手动紧急处理。

图1系统组成

2串口通信控件

VB是Windows环境下简单、易学、高效的可视化编程语言开发系统,以其所见所得的可视化界面设计风格和面向对象的程序设计等特点,在实际的工程应用中得到了广泛的应用,是很多计算机软件开发人员开发的工具。

它不但提供了良好的界面开发环境,而且具有功能强大的通信控件MicrosoftCommunica-tionsControl(MSComm,提供了很强的串口通信能力。

VB中的MSComm控件的实用性强、功能完善,是实现计算机与外部设备数据交换的强有力工具。

该控件可设置用来发送和接收二进制数据或ASCII码数据,可对串口状态及串口通信的信息格式进行设置,实现对下位机地址和数据的接收和发送,达到多机通信的目的。

MSComm控件的编程非常方便,程序员不必花时间去了解复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。

62

#控制与检测#

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

MSComm控件提供了两种处理通信的方式:

一是事件驱动通信,它是处理串行端口交互作用的一种非常有效的方法。

在许多情况下,在事件发生时需要得到通知,因而可以利用MSComm控件的OnComm事件捕获并处理这些通信事件,On-Comm事件还可以检查和处理通讯错误。

编程时,在OnComm事件处理函数中加入自己的处理代码就可以了。

这种方法的优点是程序响应及时、可靠性高。

缺点是每个MSComm控件对应着一个串行端口,如果应用程序需要访问多个串行端口,必须使用多个MSComm控件;另一种是查询方式,其实质上还是事件驱动,在程序的每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误,做出相应的处理。

如果应用程序较小,并且是自保持的,这种方法就更可取。

MSComm控件同时支持二进制格式和文本格式数据的接收和发送。

使用时须注意以下两点:

(1Input和Output属性接收和发送的字符串类型是Var-iant,因此在读取和写入缓冲区的数据要转换设置为Variant。

在接收时InputMode属性决定着接收的数据类型,InputMode设为ComInputmodeText,就可利用Input属性返回文本数据,如果Input-Mode设为ComInputModeBinary,就可利用Input属性返回二进制数据;(2在VB程序编写时RThreshold和InputLen属性设置的值最好与PLC发送的值相等,否则极易引起数据传输混乱。

MSComm控件有很多重要的重要属性,其中最主要的有¹CommPort属性:

设置并返回通讯端口号,格式为MSComm.Comm-Port=[PortNumber],设计时PortNumber可以设置成从1到16的任何数,但是如果用PortOpen属性打开一个并不存在的端口时,就会产生错误;ºSettings属性:

以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位,格式为MSComm.Settings=[ParaString],ParaString是一个包含四部分的字符串,如/9600,N,8,10;»PortOpen属性:

设置并返回通讯端口的状态,也可以打开和关闭端口,格式为MSComm.PortOpen=[True/False];¼Input属性:

从接收缓冲区返回和删除字符,该属性在设计时无效,运行时为只读,格式为MSComm.Input;½Output属性:

向传输缓冲区写一个字符串,该属性在设计时无效,运行时为只读,格式为MSComm.Output=OutData,OutData为要发送的数据,可以是文本数据或二进制数据。

3PC与DVP系列PLC的通信

上位计算机数据传输程序设计在PLC与上位计算机通讯过程中,虽然PLC可以具有优先权启动通讯,但一般不使用这一方法,而采用上位机具有优先权,向PLC发送命令启动通讯,PLC自动返回响应的通讯方式。

计算机在与PLC通讯时,首先必须对通讯端口进行初始化处理,其初始化参数必须与PLC的通讯参数相同。

计算机与PLC之间采用主从应答方式,计算机始终具有初始传送优先权,根据需要向PLC发出读写命令;下位机处于被动状态响应上位机的命令。

上位机读数据时通过通信口向PLC发出读数据命令,PLC响应命令并将数据传回上位机,上位机通过读通信口即可取得所需数据;写数据时,上位机通过通信口向PLC发出写命令及数据,PLC即可接收。

当PLC没能正确响应时,PLC返回没能正确响应标志。

此外PLC通信模块还有其它命令代码,上位机发出不同的命令,PLC便能做出相应的响应。

通过PC的COM2与DVP系列PLC的RS-232端口通信来实现控制的具体实施过程:

(1通信协议设定:

DVP系列PLC的通信协议为MODBUSASCII模式,其通讯格式:

波特率9600bps、偶同位(Evenparity、1个起始位、数据长度为7、1个停止位。

(2通讯资料格式

PC与PLC之间按照表1所示的通讯格式进行通讯,表2是PLC的命令码,表3是PLC每一种设备的地址。

要实现何种功能就必须按照通讯格式使用规定的命令码和设备地址,这样才能正确接受和发送数据。

表1DVP-PLC通讯资料格式

格式说明编程说明

STX起始字节/:

03AH

ADR1

ADR0

CMD1

CMD0

DATA(0

DATA(1

,

DATA(n-1

LRCCHK1

LRCCHK0

END1

END0

PLC地址:

1个Byte

PLC通讯地址出厂设定值为

0x01

命令码:

1个Byte命令码及意义如下表

数据内容:

1~32Bytes

接收或发送的PLC装置地址

和数据内容

校验码:

1个Byte

LRC检查:

由ADD1到DATA(n

-1的内容相加取2的补码

结束字节:

2个Bytes

END1=CR,END0=LF

0DH、0AH

表2DVP-PLC命令码

命令码功能适用范围

01读线圈的状态S,Y,M,T,C

02读输入线圈的状态S,X,Y,M,T,C

03读取多笔寄存器内容T,C,D

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

06复位单个寄存器T,C,D

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

16复位多个寄存器T,C,D

表3DVP-PLC地址范围

设备范围地址

S0~10230000~03FF

X0~3770400~04FF

Y0~3770500~05FF

T0~2550600~06FF

M0~12790800~0CFF

C0~2550E00~0EFF表中,X-输入继电器,Y-输出继电器,M-辅助继电器,S-状态元件,T-定时器,C-计数器,D-数据寄存器。

(3通信初始化

MSComm1.CommPort=2c设定COM2为PC与PLC的通信端口

MSComm1.Settings=d9600,E,7,1d

MSComm1.InputMode=ComInputModeTextc返回文本数据

MSComm1.InBufferSize=1024

MSComm1.PortOpen=Truec打开COM1通信端口

(4计算LRC校验(下转第66页

63

2005年第12期#控制与检测#

tor仿真器和TimingAnalyzer分析工

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1