您现在的位置是:首页 > PLC技术 > PLC技术

Visual Basic下用MSComm实现计算机与PLC的串行通信

来源:艾特贸易2017-06-04

简介由于 Visual Basic 语言简单实用,下面介绍 Visual Basic 下使用 MSComm 实现计算机与 PLC 之间串行通信的方法。 如前所述, MSGomm 控件处理接收信息的方式可以采用事件驱动法或查询法。用事

    由于Visual Basic语言简单实用,下面介绍Visual Basic下使用MSComm实现计算机与PLC之间串行通信的方法。    如前所述,MSGomm控件处理接收信息的方式可以采用事件驱动法或查询法。用事件驱动法设计程序时,每当有新字符到达,或端口状态改变,或发生错误时,MSComm控件将产生OnComm事件,而应用程序在捕获该事件后,通过检查MSComm控件的CommEvent属性可以获知所发生的事件或错误,从而采取相应的操作。而查询法是每当应用程序执行完某一串口操作后,将不断检查某一事件是否发生。例如,当程序向串口发送某个命令后,等待收到一个PLC的特定响应串。    因为查询方式占用CPU的时间太多,本例采用事件驱动方式。通信的界面包括一个发送按钮和一个文本框。采用主从方式通信,计算机作主机,PLC作从机。单击“发送”按钮,计算机发送数组Array中的数据。计算机接收到可编程序控制器返回的数据后存放在数组rcv内,并在文本框中显示出来。    1.串口及通信参数初始化
串口及通信参数初始化
    2.发送程序    要发送报文的格式如下。
    约定起始字符为0,结束字符为十六进制数&HFF。校验码为报文中第二个字节与数据区内各字节的异或和。    下面是发送程序的代码。
    3.收数据    PLC只有在接收到计算机发送的信息后,才发送数据,故可以将发送完成后接收到的第一个字节作为接收报文的开始,直到串口无接收事件时认为报文结束。    下面是接收程序的代码:
    运行程序,计算机就能实现简单的发送和接收数据的功能了。    注意:可以改变发送程序中函数Array的参数列表(即改变数据的个数和数值),来改变发送内容。