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

2021-09-24 11:41

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通信模块还有

VB下PLC与PC串口通信的实现(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:cTreeList与Xml操作结合

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: