西门子KP900 精智面板6AV2124-1JC01-0AX0
V B采用了面向对象的程序设计思想。它的基本思路是把复杂的程序设计问题分解为一个个能够完成独立功能的相对简单的对象集合,所谓“对象"就是一个可操作的实体,如窗体、窗体中的命令按钮、标签、文本框等。面向对象的编程就好像搭积木一样,程序员可根据程序和界面设计要求,直接在屏幕上“画\"出窗口、菜单、按钮等不同类型的对象,并为每个对象设置属性。
2.2串行通信控件MSComm的使用和设置
VB提供了支持串行通信的可编程组件MSComm,用户只需要将其加载到应用程序中,对其进行简单的属性设置即“可使用。现将控件的加载及属性设置方法进行介绍。
2.2.1将MSComm控件加载到应用程序中
在VB集成开发环境(IDE)中选择“工程"选项卡中的“部件"子菜单进入控件选择页面。
在控件选择页面中选上Microsoft Comm Cotrol 6.0控件加载项,单击“确定"按钮完成MSComm控件的加载。
当完成MSComm控件的加载后,在IDE中的常规控件栏即可看到MSComm控件,此时就可使用此控件了。
2.2.2 MSComm控件属性设置
当应用程序成功添加MSComm控件后,就可在其属性设置页面完成其属性的设置,如图4所示。在一般的串行通信应用程序中只需要对MSComm控件的如下几个属性进行设置。
CommPort:通信程序使用的串口序号,根据计算机的串口硬件配置进行选择,可以为1、2等。
Settings:属性设置字符串,属性有:波特率、奇偶校验、字节数据位数、字节停止位数。可以为9600、e、7、2。也可在程序中动态设置,属性设置程序代码如下:
3 PLC通信数据帧介绍
计算机与P L C通信时,按应答方式进行。由计算机发给PLC一组ASCII码字符数据,这一组数据成为命令帧。P L C对收到的命令帧进行校验,并将校验结果返回给计算机,P L C返回给计算机的这一组数据称为响应帧,只有当校验正确时P L C才按照命令执行。计算机和P L C通信时,PLC是被动的,必须先由计算机给PLC发出命令帧,PLC再给计算机发出响应帧,每帧最多由1 3 1个字符组成。下面将命令帧与响应帧的组成结构介绍如下:
3.1命令帧
帧结构解析:
@:在起始处必须放置;
节点号:有效值为00~31,表示PC机最多可同32台PLC通信;
头代码:PLC的命令代码;
发送文本:P C机发送的命令参数;
FCS(Frame Check Sequence):
帧检查顺序代码(帧校验码);帧校验码是2位(Bit)十六进制数。它是由帧数据包含的所有字符的ASCII码进行位异或运算的结果。
终止符:“*"号和回车符“CR"。
3.2响应帧
帧结构解析:
@:返回命令头;
节点号:有效值为00—31,返回数据的PLC节点号
头代码:PLC的命令代码;
尾代码:返回命令完成状态码;
接收文本:在有数据时返回的数据;
FCS:帧检查顺序代码;
终止符:“*"号和回车符“CR"。
3.3 FCS(帧数据冗余校验码)的计算
为了降低串行通信的误码率,在接收和发送端都必须对数据进行校验,常用的方法是进行F C S校验。对帧数据进行冗余校验计算时,应对帧数据中各个字符的ASCII码进行位异或运算,然后将结果转为2位十六进制字符。
4计算机与PLC串行通信程序实例
4.1通信主程序的设计架构
设计通信主程序的主要功能是:实现计算机对PLC的运行控制和状态监视,即构成一个闭环监控系统。
4.2打开串行通信端口
打开通信端口,对端口进行初始化设置,程序设计流程。
4.3写PLC数据
将计算机发出的命令写入PLC,实现计算机对PLC的控制功能。程序设计流程
4.4读PLC数据。