基于vb实现plc与上位机通讯内容摘要:

(FBD)三种程序编辑器提供用户选择。 STEP7Micro/Win 的编程界面如图 : 图 程序编辑窗口 沈阳航空工业学院毕业设计(论文) 8 建立计算机与 S7200 的硬件连接 在本次毕业设计中首先要解决的就是上位机与 S7200 可编程控制器之间的连接, 然而它们之间是不能直接相连的, 要通过一条 PC/PPI电缆 才能实现 计算 机与西门子 S7200可编程控制器 之间的 连接 , 如图 : 图 PC机与 PLC的连接方式 当数据从 RS232C传到 RS485端口时, PPI电缆是发送模式。 当数据从 RS485端口传送到 RS232C口时,电缆是接 收 模式。 在编程软件中设置通信接口参数 我们在上位计算机上启动 STEP7Micro/Win 编程软件 , 选择菜单命令 “ 检视 ” “ 元件 ” “ 设置 PG/PC 接口 ” , 此时我们将看到 设置 “ PG/PC 接口 ” 对话框 如图 : 图 “设置 PG/PC接口 ”对话框 打开 “ 设置 PG/PC 接口 ” 对话框,在 “接口参数指定 ”列表中选择通信接口协议,沈阳航空工业学院毕业设计(论文) 9 如果 是 PPI多主站电缆,选择 “ PC/PPI cable(PPI)”。 然后选择 “ Properties” 钮,将出现接口属性对话框,检查有关属性,确保其正确。 PPI 标签中, “ Transmission Rate”的设置必须与 PC/PPI电缆上的设置相同( 或 ) 如图 : 图 PC/PPI电缆的 PPI参数设置 西门子 S7200可编程控制器与上位机的在线联系 在本次毕业设计中要按照严格的通信协议及通信参数进行 设定, 只有这样才能建立 上位机 与 西门子 S7200 CPU的在线联系。 1. 在 STEP7Micro/Win32下,单击通信图标,则会出现一个通信通道对话框 ,显示是否连接了 CPU主机 , 如图。 2. 双击通信 对话框中的刷新图标, STEP7Micro/ Win32 将检查所有连接的S7200 CPU主站,并建立一个 CPU的图标 , 如图。 3. 双击 CPU图标,在通信对话框中 显示所选的通信参数 如图 所示。 沈阳航空工业学院毕业设计(论文) 10 图 通信参数设置 图 通信设置 图 通信参数 沈阳航空工业学院毕业设计(论文) 11 本章 在 充分掌握 STEP7Micro/Win 的基础上 完成 了 对 S7200可编程控制器 通信参数 的 设置。 通过对 S7200 可编程控制器的学习, 建立 了上位机与S7200 可编程控制器之间的联系。 结合 在本次毕业设计中 调试通信 的 过程 , 给出 了图例 ,并 进行 详细的 讲解。 沈阳航空工业学院毕业设计(论文) 12 第 三 章 基于 VB 与 PLC 的 串口 通信研究 本章论述了 基于 VB 建立 上位机 与 PLC 之间的 串口 通信 问题,为了解决 二者之间的通信,此章节 从如何 使用 VB 开发串行通信到 PLC 采用何种方式与之相连这两个方面对其进行 了 说明。 串口通信的基本概念 终端与其他设备(如 其他终端、计算机和外部设备)通过数据传输进行通信。 数据传输可以通过两种方式进行,即并行通信和串行通信。 串口通信与并行通信 数据通讯中有两种类型的通信形 式,即并行通信( Parallel Communication)和串行通信( Serial Communication)。 例如,如果有 8位数据需要传送,那么并行通信一次就可以完成 8位的传输量;而串行一次只能传送 1位。 如图 表示了两种不同的通信模式,常用的串行通信也有两种,分别为 RS232和 RS485。 图 串行与并行传输的比较 RS232 的信号准位是参考地线而言的 , 如图。 相对于参考接地端 1 传沈阳航空工业学院毕业设计(论文) 13 输端传送数据;接收端则相对于参考接地端 2展现出 传送端的传送的数据。 图 RS232 串行通信示意图 RS485的信号被传送出去时会分成正负两条线路,当到达接收端后, 再 将信号相减还原成原来的信号如图 : 图 RS485串行通信示意图 通信参数 串行端口的通信方式是将字节拆分成一个接一个的位在传送出去。 接到此电位信号的一方再将此一个一个的位组合成原来的字节 , 如此形成一个 完整 的 字节传送。 在传送过程当中 , 双方明确传送信息的具体方式 , 否则双方就没有一套共同的译码方式 , 从而无法了解对方所 传 过来的信息意义。 因此双方为了进行通信 , 必须遵守一定的通信规则 , 这个规则就是通信端口的初始化,通信端口初始化必须对以下的几项参数进行设置 : 沈阳航空工业学院毕业设计(论文) 14 1. 数据的传输速度 串行通信的传输是 通信双方配备性能及通信线路的特性所左右 的 ,收、发双方必须按照同样的速率进行串行通信,即双方的传输速率。 2. 数据的传送单位 一般串行通信 端口所传送的数据是字符型 ; 用来传送文件,则会使用二进制的数据类型。 在不同的情况下, 使用的传送单位 不 同。 3. 起始位与停止位 由于异步串行通信传输 中并没有使用同步脉冲作基准,故接收端完全不知道传送端何时发送完 数据。 发送端准备要开始传送数据时, 就 会在所发送的字符前后分别加上高电位的起始位及低电位的停止位,即所谓的起始位与停止位。 4. 校验位 为了防止错误的发生, 使用校验位作为检查机制。 校验位又分为奇校验与偶校验,二者都是 校验传送数据正确性的一种核对码。 VB通信原理及界面设计 Visual Basic 之所以被广泛的应用是因为它具有以下优点 : 真正的 面向对象 型编程 ; 的 代码就可以达到设计要求; 提供 了 强大的控件功能,轻松的让你与其他的设备进行 通信。 VB 串口通信方式 Visual Basic 在串口开发程序主要有两种方法:一是利用 MSComm串口控件,二是调用 WINDOWS API函数。 在实践中,使用 Visual Basic 串口控件实现通信的方法比调用 API动态链接库的方法更加方便、快捷。 本文采用 MSComm串口控件进行与西门子 S7200可编程控制器进行串行通讯。 MSComm控件通过对串行 端口 的数据 传输和接收,为应用程序提供通信功能, 同时它 还 提供两种 通信处 理方式;事件驱动方式和查询方式,这两种事件处理方法都可以起到实现通信的 功能。 在 VB 编写 的集成环境中,选择 “工程 ”菜单中 “部件 ”子菜单,在弹出 “部件 ”对话框中,选中 “MicrosoftCommmControl ”复选框,点中之后出现一沈阳航空工业学院毕业设计(论文) 15 个 “电话 ”的图标如图 : 图 添加 MSComm串口控件 VB 串口通信程序的设计 Visual Basic 在开发可视 化监控系统方面有独特的优势,它 本身提供的串行端口控件 MSComm就是为了应用程序提供串行通信而设计的,在应用时只需要设置、监视 MSComm的控件属性和事件 即 可 完成对串行口的初始化和数据输入工作。 该通信程序的设计程序流程图 如图 : 图 程序流程图 沈阳航空工业学院毕业设计(论文) 16 1. MSComm串口控件的属性 如果要利用 MSComm串口控件进行通信,要了解 MSComm控件的属性的,该属性的功能如下 : CommPort设置并返回通信端口号。 设计端口号可设置从 116的任何数。 Settings 设置并返回波特率、奇偶校验、数据位长度、停止位长度。 Settings = string 它包含 4 部分的字符串,格式为:第一部分为波特率;第二部分为奇偶校 验;第三部分为数据位长度;第四部分为停止位长度。 PortOpen设置并返回通讯端口的状态,也可以打开和关闭通信端口。 Input从接收区返回和删除字符,该属性在运行时为只读。 Output向传送缓冲区写数据,要传送的数据可以是二进制文本。 CommEvent返回最近的通讯事件或错误。 只有通讯错误或事件发生时才会产生OnComm事件。 通过对上述属性进行设置 可以 实现 VB 与连接设备 之间的 串口通信。 2. 对 MSComm进行串口初始化 要对通信口进行初始化把初始化程序放在窗口装入事件 FormLoad( )中。 实现串口设置的初始化具体代码如下: Private Sub Form_Load( ) = 1 39。 设置通信端口号为 COM1 = 9600,n,8,1 39。 设置通信参数 = True 39。 打开串口 = 0 39。 接 收文本型数据 =200 MSComml. OutBufersite=200 End Sub 选定串行口 COM1,设定波特率为 9 600B/S,无奇偶校验,数据传输位为 8位, 1位停止位。 InputLen = 0表明输人时读取缓冲区的全部内容,根据发送和接收字符串的长度,设置输人、输出缓冲区大小。 沈阳航空工业学院毕业设计(论文) 17 3. 发送字符命令代码 设定一个命令按钮,将发送代码编辑到该命令按钮的 Click()事件当中 , 实现该功能的代码如下: Private Sub Cmdsend_Click() If = False Then = True 39。 打开通信口 = Trim() 39。 把字符通过串口发送出去 End Sub 如果该通信串口没有打开的话,应用一个 IF 语句把设定的串口打开,之后把所要发送的字符通过 的属性发送出去。 4. 接收字符命令代码 设定一个命令按钮,将发送的代码编辑到该命令按钮的 Click()事件中, 接收 PLC发送回来的字符。 Private Sub CmdReceive_Click() Dim buf$ = False buf = Trim() 39。 将缓冲区内的数据读入 buf变量中 If Len(buf) = 0 Then 39。 判断缓冲区内是否存在数据 = Else = buf End If End Sub Private Sub Cmdauto_Click() 39。 启动自动接收 = True End Sub Private Sub Timer1_Timer() 39。 接收数据 If 0 Then = + End If End Sub 沈阳航空工业学院毕业设计(论文) 18 通过上述程序初始化 MSComm 串口控件进行通信, 通过 发送 、接收指令 , 就可以在 上位机与 PLC之间建立通信连接 了。 VB 控制界面的程序设计 1. 登陆界面模块的设计 VB在可视化编程方面的功能是十分强大的,利用 VB在开发可视化监控系统方面有其独特的优势,它可以制作良好的人机操作界面。 本文为控制实验设置了两种登陆模式;一种是普通用户模式,当在登陆界面选择 “普通用户 ”时 ,不需要访问密码,按 “确定 ”按钮 会 直接 进入 “监控选择页面 ”;另一种则是管理员模式,当选择 “管理员用户 ”时,需要用户名及访问密码,当密码正确后才可以登录到 “监 控选择页面 ”, 如图 : 图 登录选择界面示意图 当选择 “普通用户 ”模式时,进入监控选择界面,此时测试通信 权限将被限制,即不能测试 是否与 PLC之间建立了通信渠道。 此时的通信参数及发送数据, 接收数等 设置都不能执行, 相应 按钮将呈现出 灰白色不能对其进行点击,如图 红线标注所示。 但可以在 “控制实验程序 ”中选择所要控制的实验,选中之后就可以进入到相应的操作监控界面。 当选择 “管理员用户 ”模式时,相对普通用户限制的权限将被开放,如图 红线所标注的,如回路测试、数据的发送、数据的接 收、通信参数 设置等。 同时发送给PLC 的数据可以在发送显示窗口及接收显示窗口上显示出来,这时可以随时测试通沈阳航空工业学院毕业设计(论文) 19 信回路的状态。 图 以 “普通用户 ”模式进入监控页面示意图 图 以 “管理员用户 ”模式进入监控页面示意图 该段程序部分代码如下: Private Sub Cmdok_Click() Select Case 39。 限制普通用户在监控选择界面的功能 Case 普通用户 沈阳航空工业学院毕业设计(论文) 20。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。