




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈 阳 航 空 工 业 学 院本科毕业设计论文基于VB实现PLC与上位机之间的通信姓 名 谭鹏 学 号 200403072026院 系 自动化学院 专 业 自动化 2008 年 6月 基于VB实现PLC与上位机之间的通信院 系自动化学院专 业自动化班 级4407201学 号200403072026姓 名谭 鹏指导教师席剑辉负责教师席剑辉沈阳航空工业学院2008年6月沈阳航空工业学院毕业设计(论文)摘 要目前,以可编程逻辑控制器(PLC)为核心,上位计算机为实时监控体的控制系统已成为工业自动化PLC控制系统的一个发展方向。本文围绕自动化学院实验中心THSMS-C型网络可编程控制器实验台,研究基于VB6.0实现西门子S7-200 系列PLC与上位机之间的串行通信,旨在提高PLC控制系统的实时监控性,完善实验台控制系统的控制功能。一方面,利用VB6.0 制作友善的人机监控界面,可以根据需要设置输入参数并实时显示实验输出结果。另一方面,通过VB6.0提供的串行通信ActiveX 控件MSComm,采用自由口通信协议实现PLC与上位机之间的通信,使上位机能够及时获取相关实验数据进行存储和处理。本次毕设将上位机与PLC之间通信的研究应用到十字路口交通灯的控制实验当中,验证了该研究的正确性,表明了本文的设计可以获得良好的监视和控制功能,具有经济、可靠、灵活、实时性强等优点。关键词:可编程控制器;串行通信;自由口通信协议AbstractAt present, control system, in which the programmable logic controller (PLC) is seen as the core equipment, and the host computer is used for real-time monitoring, has become a development direction of the industrial automation PLC control system. Centering on the THSMS-C type network programnable controller in the Experimental Center of school of automation, this paper realized the communication between Siemens s7-200 PLC and the host computer based on VB6.0. The objectives are to enhance the real-time monitoring function and to improve the experimental performance of PLC control system. On the one hand, The controlled interface of man-machine is designed by VB6.0, which can input parameters in need and display real-time output results. On the other hand, The serial communication ActiveX controller MSComm is provided by VB6.0, using the free port communication protocol to achieve communications between PLC and PC, then PC stores and processes the experiment data timely. This paper applies the study of communication to the crossed traffic light experiment, proving the correstness of the study. The results show that the design will get good monitoring and control function, which has advantages such as economy, reliability, flexibility, real-time performance and so on.Key words: PLC; serial communication; free port communication protocol目 录第一章 绪 论11.1可编程控制器的发展过程11.2可编程控制器与上位机之间通信的研究现状21.3本文研究的主要内容3第二章 西门子S7-200系列PLC的通信设置42.1 THSMS-C型网络型可编程控制器实验台42.1.1 SMS-01型控制屏42.1.2 SMS-02型控制台52.1.3 实验连接及使用说明52.2西门子S7-200系列PLC52.2.1 CPU模块62.2.2 数字量扩展模块62.2.3 模拟量扩展模块62.3 STEP7-Micro/Win V4.0编程软件72.3.1 建立计算机与S7-200的硬件连接82.3.2 在编程软件中设置通信接口参数82.4 西门子S7-200可编程控制器与上位机的在线联系92.5本章小结11第三章 基于VB与PLC的串口通信研究123.1 串口通信的基本概念123.1.1 串口通信与并行通信123.1.2 通信参数133.2 VB通信原理及界面设计143.2.1 VB串口通信方式143.2.2 VB串口通信程序的设计153.2.3 VB控制界面的程序设计183.3西门子PLC的通信程序的设计233.3.1 S7-200 PLC自由口通信程序的设计243.3.2 S7-200 PLC的控制实验软件设计263.4本章小结29第四章 VB与PLC通信调试与实验304.1 VB与PLC通讯控制实验调试304.2调试过程中的问题与解决方案364.3 本章小结36结论37社会经济效益分析38参考文献39致 谢40附录 VB程序41附录 PLC程序58-IV-沈阳航空工业学院毕业设计(论文)第一章 绪 论在市场经济的推动下,工业产品的品种不断更新换代,从而要求产品生产线及附属的控制系统不断的修改甚至更换。在1969年由美国数字设备公司研制出第一台可编程控制器(PLC),现在已成为工业控制领域中最常见、最重要的控制装置。但是PLC不能提供良好的人机界面,对数据的采集和处理能力较弱。随着计算机科学技术的发展,PLC与PC机结合可以很好的弥补不足,完善系统功能,并且已成功地应用到工业控制领域中。1.1可编程控制器的发展过程在20世纪60年代,为适应生产线的更新,美国通用汽车公司于1968年提出10项招标指标,随后在1969年美国数字设备公司中标并且研制成功了一台符合要求的控制器,称为可编程控制器,并在通用汽车公司的装配生产线试验成功。美国电气制造商协会经过四年的调查,于1980年把这种控制器正式命名为可编程控制器,英文缩写为PC,为了与PC机区分,而写成PLC。可编程控制器的出现,立即引起了各国的注意。日本于1971年引进可编程控制器技术;德国于1973年引进了可编程控制器技术。中国于1973年开始研制可编程控制器,1977年应用到生产线上。可编程控制器以其编程方法易学,功能强性能价格比高,硬件配套齐全,用户使用方便,适应性强,可靠性高,抗干扰能力强,系统的实际、安装、调试工作量小,维修方便,体积小能耗低等优点被广泛的应用在自动化的工业控制领域中。但是它本身也有缺点,即数据的计算和管理能力较弱,不能给用户提供良好的界面,而计算机恰好能弥补它的不足,计算机不但有很强的数据处理和管理能力而且还能为用户提供诸如工艺流程图显示、动态数据画面显示、报表显示等多种窗口技术,使PLC控制系统更加人性化。并且通过上位计算机对PLC数据的读写来控制生产现场数据的自动采集、传送以及生产调度的自动化和信息化,其应用的前景是十分广阔的。但是要实现二者的通信也是有困难的,首先,PC机与可编程控制器相连要求双方采用的总线标准一致,否则要通过“总线标准变换单元”变换之后才能实现互联;其次,要对双方进行初始化,如波特率、数据位数、停止位数、奇偶校验都要相同;再次,要对PLC的通信协议分析清楚,严格的编写PLC的程序。克服了以上难点就可以让PC机与PLC之间的通信变的简单易行。1.2可编程控制器与上位机之间通信的研究现状目前,工业自动化控制技术已经发展到一个新的高度,可编程控制器已经在工业控制领域得到广泛的应用,它是经济全球化和中国走向世界的一个必然。在PLC与上位机组成的集散控制系统中,PLC作为下位机,完成数据采集、逻辑分析、数学运算、输出控制等功能,上位机完成数据存储、结果处理、状态显示、打印输出等功能,实现对系统的实时监控和在线处理。这样不仅提高了PLC的控制功能,扩大了它的控制范围,而且能够使PLC间的资源共享,便于实现集中控制和网络化管理。近年来使用上位机与可编程控制器通信的应用软件发展迅速,如WINCC、组态王软件、VC、VB等,既可以实现二者的通信,也能制作出良好的人机监控界面。下面分别简要介绍上述各软件的性能特点:1. SIMATIC WINCC 是德国西门子公司开发的,它提供了丰富的选件(options)和附加件(add-ons)。它的系统设计,模块化结构,以及灵活的扩展方式,使其不但可以做单用户应用,还可以做多用户应用。WINCC集生产自动化和过程自动化于一体,实现了相互之间的整合,同时它制作的界面是完全国际化的。2. 组态王软件是北京亚控科技发展公司自主知识产权的组态软件。它应用的非常广泛,在图形处理和画面设计方面十分方便,并且有强大的控件,且编程十分的简单,对于工程人员上手十分容易。3. VC是微软公司开发的一种可视化编程软件,其功能十分强大,它在数据处理能力以及运算方面有着独到之处,并且提供有十分强大的函数库可供编程人员进行调用,在图形处理以及界面的设计方面的功能也十分突出,被广泛应用在工业控制领域。4. VB是美国Microsoft公司推出的、专门用于开发运行于Windows操作系统上的应用程序。相对其他编程软件,VB兼有开发应用程序简单、编程工作量小,并且成本低、方便快捷等优点,可以很好地实现用户应用程序之间的通信。1.3本文研究的主要内容本文采用配有西门子S7-200可编程控制器的THSMS-C型实验台作为研究对象,利用VB6.0实现PLC与PC机串行通信,完成数据采集、实时监控等功能。论文中主要结合十字路口交通灯实验进行说明如何把PC机与PLC之间的通信研究应用到所要监控的实验上。 第一章绪论讲述上位机与可编程控制器通信的背景及研究价值;第二章叙述可编程控制器的一些基本知识及西门子S7-200系列PLC的应用;第三章讲述基于VB的上位机与PLC的通信研究,并具体阐述了VB通信的原理及如何制作良好的人机界面,同时说明如何对S7-200 PLC进行通信编程;第四章则给出了二者的调试过程;最后是本文的结论。第二章 西门子S7-200系列PLC的通信设置通信参数的设置是实现上位机与可编程控制器之间通讯的关键,本章主要论述在毕业设计中如何应用STEP7-Micro/Win V4.0编程软件完成对S7-200可编程控制器通信参数的设置,并且给出具体图例。2.1 THSMS-C型网络型可编程控制器实验台“THSMS-C型网络型可编程控制实验装置”是专为自动化学院开设的“可编程控制器技术”课程配套设计的实验设备。它由控制屏、实验桌组成,集大中型可编程逻辑控制器、编程软件、MCGS工控组台软件、模拟控制实验板、实物等于一体。在本装置上,可直观地进行PLC的基本指令练习,多个PLC实际应用的模拟实验及实物实验,而主机则配备S7-200可编程控制器如图2.1所示:图2.1 配有S7-200可编程控制器的THSMS-C型实验装置2.1.1 SMS-01型控制屏控制台配有S7-200系列可编程控制器,功能强大、性能优越,并采用了模块化设计,组合灵活,用户可根据不同的需要组成不同的控制系统,同时配有齐全的实验项目,含数字量、模拟量变频调速、触摸屏、网络通信及电器控制,可以很好地对工程进行实验模拟。2.1.2 SMS-02型控制台该部分装有计算机(配有西门子的编程软件STEP7),主要是对S7-200可编程控制器进行编程,并将程序下载到可编程控制器当中,完成所做实验。通过该实验台还可以应用其他的开发软件如WinCC、组态王、VC、VB等,通过设计良好的人机操作界面,实现对控制实验的监控。2.1.3 实验连接及使用说明1. 编程时,先用编程电缆将主机和计算机连接起来,再将主机的“RUN”、“STOP”模式置于“STOP”状态,即可将程序写入主机。2. 实验时,断开电源开关,按实验要求连接外部连线。检查无误后,接通电源开关,将主机的“RUN”、“STOP”置于“RUN”状态,即可进行实验。3. 在进行“电气控制技术”与“变频器调速控制技术”系列实验时,务必将交流电源功能模块的开关置于“关”位置。尽管该实验装置有上述的优点,但是它仍有不足之处,该实验装置的实时性能差,可操作性不灵活,功能扩展性弱,不能符合实际工程的要求,对实际工程的模拟有相当程度的差距,所以该实验台对较为繁琐的工程模拟有着一定的缺陷。如果要实现对工程模拟进行监控首先要实现上位机与可编程控制器之间的连接,对通信协议及通信参数的设置是必不可少的,这样才能实现二者的连接。2.2西门子S7-200系列PLCSIMATIC S7 -200 PLC是西门子公司1985年推出的新一代产品,该型号PLC属于小型PLC,可用于代替继电器的简单控制场合,也可用于复杂的自动化控制系统。由于其极强的通信功能,在大型网络控制系统中也能充分发挥其作用。S7-200可靠性高,可用梯形图、语句表及功能模块进行编程。它易于掌握,内有高速计数器,高速输出,PID控制等。S7-200系列PLC如图2.2所示:图2.2 西门子S7-200 PLC2.2.1 CPU模块S7-200有5种CPU模块,CPU模块有CPU221、CPU222、CPU224、CPU224XP、CPU226等5种型号。其中CPU221无扩展功能,适用作小点数的微型控制器。CPU222有扩展功能,CPU224是具有较强控制功能的控制器,CPU224XP的功能除了具备升级CPU的功能特性外,还有集成的2路模拟量输入,1路模拟量输出,有2个RS-485通信口,同时有PID自整定功能,这种新型的CPU增强了S7-200在运动控制、过程控制、位置控制、数据监视和采集以及通信方面的功能。CPU226和CPU226XM适用复杂的中小型控制系统,有2个RS-485通信接口。RS-485串口通信的外部信号与逻辑电路之间不隔离,支持PPI、DP/T、自由通信口协议和点对点PPI主站模式,可作MPI从站。所以S7-200的CPU增强了PLC的功能,使它能更好的应用到工业领域中。2.2.2 数字量扩展模块可选用8点16点和32点的数字量输入/输出模块来满足不同的控制需要。除CPU221外,其他CPU模块均可以陪接多个扩展模块,连接时CPU模块放在最左侧,扩展模块用扁平电缆与左侧的模块相连。2.2.3 模拟量扩展模块在工业控制中,某些输入量要求PLC输出模拟信号,而PLC的CPU只能处理数字量。模拟量首先被传感器和变送器转换为标准量程的电流或电压,S7-200 有3种模拟量扩展模块(EM231、EM232、EM235),S7-200的模拟扩展模块中A/D、D/A转换器的位数均为12位,PLC用A/D转换器将它们转换成数字量。D/A转换器将PLC的数字输出量转换为模拟电压和电流,再去控制执行机构。模拟量I/O模块的主要任务就是实现A/D转换和D/A 转换。A/D转换器和D/A转换器的二进制位数反映了他们的分辨率,位数越多,分辨率越高。以上S7-200的各个功能模块作用的体现都需要一种编程软件STEP7-Micro/Win来实现。2.3 STEP7-Micro/Win V4.0编程软件STEP7-Micro/Win V4.0 是S7-200 PLC系列产品的最新版编程软件,包括一下升级功能:PID自整定控制面板、超级项目树形结构、状态趋势图、PLC历史纪录和时间缓存区、数据归档向导、新的字符变量等。STEP7-Micro/Win V4.0的兼容性能极强,支持当前所有的S7-200 CPU22X系列产品。STEP7-Micro/Win V4.0编程软件可在个人计算机上提供西门子S7-200系列PLC的编程环境。有梯形图(LAD)、语句表(STL)、和功能块图(FBD)三种程序编辑器提供用户选择。STEP7-Micro/Win V4.0的编程界面如图2.3所示:图2.3 程序编辑窗口2.3.1 建立计算机与S7-200的硬件连接在本次毕业设计中首先要解决的就是上位机与S7-200可编程控制器之间的连接,然而它们之间是不能直接相连的,要通过一条PC/PPI电缆才能实现计算机与西门子S7-200可编程控制器之间的连接,如图2.4所示:图2.4 PC机与PLC的连接方式当数据从RS-232C传到RS-485端口时,PPI电缆是发送模式。当数据从RS-485端口传送到RS-232C口时,电缆是接收模式。2.3.2 在编程软件中设置通信接口参数我们在上位计算机上启动STEP7-Micro/Win V4.0编程软件,选择菜单命令“检视” -“元件”-“设置PG/PC接口”,此时我们将看到设置“PG/PC接口”对话框如图2.5所示:图2.5 “设置PG/PC接口”对话框打开“设置PG/PC接口”对话框,在“接口参数指定”列表中选择通信接口协议,如果是PPI多主站电缆,选择“PC/PPI cable(PPI)”。然后选择“Properties”钮,将出现接口属性对话框,检查有关属性,确保其正确。PPI标签中,“Transmission Rate”的设置必须与PC/PPI电缆上的设置相同(9.6kbps或19.2kbps)如图2.6所示:图2.6 PC/PPI电缆的PPI参数设置2.4 西门子S7-200可编程控制器与上位机的在线联系在本次毕业设计中要按照严格的通信协议及通信参数进行设定,只有这样才能建立上位机与西门子S7-200 CPU的在线联系。1. 在STEP7-Micro/Win32下,单击通信图标,则会出现一个通信通道对话框,显示是否连接了CPU主机,如图2.7所示。2. 双击通信对话框中的刷新图标,STEP7-Micro/ Win32 将检查所有连接的S7-200 CPU主站,并建立一个CPU的图标,如图2.8所示。3. 双击CPU图标,在通信对话框中显示所选的通信参数如图2.9所示。图2.7 通信参数设置图2.8 通信设置图2.9 通信参数2.5本章小结本章在充分掌握STEP7-Micro/Win V4.0编程软件的基础上完成了对S7-200可编程控制器通信参数的设置。通过对S7-200 可编程控制器的学习,建立了上位机与S7-200 可编程控制器之间的联系。结合在本次毕业设计中调试通信的过程,给出了图例,并进行详细的讲解。第三章 基于VB与PLC的串口通信研究本章论述了基于VB建立上位机与PLC之间的串口通信问题,为了解决二者之间的通信,此章节从如何使用VB开发串行通信到PLC采用何种方式与之相连这两个方面对其进行了说明。3.1 串口通信的基本概念终端与其他设备(如其他终端、计算机和外部设备)通过数据传输进行通信。数据传输可以通过两种方式进行,即并行通信和串行通信。3.1.1 串口通信与并行通信数据通讯中有两种类型的通信形式,即并行通信(Parallel Communication)和串行通信(Serial Communication)。例如,如果有8位数据需要传送,那么并行通信一次就可以完成8位的传输量;而串行一次只能传送1位。如图3.1所示表示了两种不同的通信模式,常用的串行通信也有两种,分别为RS-232和RS-485。图3.1 串行与并行传输的比较RS-232的信号准位是参考地线而言的,如图3.2所示。相对于参考接地端1传输端传送数据;接收端则相对于参考接地端2展现出传送端的传送的数据。图3.2 RS-232 串行通信示意图RS-485的信号被传送出去时会分成正负两条线路,当到达接收端后,再将信号相减还原成原来的信号如图3.3所示:图3.3 RS-485串行通信示意图3.1.2 通信参数串行端口的通信方式是将字节拆分成一个接一个的位在传送出去。接到此电位信号的一方再将此一个一个的位组合成原来的字节,如此形成一个完整的字节传送。在传送过程当中,双方明确传送信息的具体方式,否则双方就没有一套共同的译码方式,从而无法了解对方所传过来的信息意义。因此双方为了进行通信,必须遵守一定的通信规则,这个规则就是通信端口的初始化,通信端口初始化必须对以下的几项参数进行设置:1. 数据的传输速度串行通信的传输是通信双方配备性能及通信线路的特性所左右的,收、发双方必须按照同样的速率进行串行通信,即双方的传输速率。2. 数据的传送单位一般串行通信端口所传送的数据是字符型;用来传送文件,则会使用二进制的数据类型。在不同的情况下,使用的传送单位不同。3. 起始位与停止位由于异步串行通信传输中并没有使用同步脉冲作基准,故接收端完全不知道传送端何时发送完数据。发送端准备要开始传送数据时,就会在所发送的字符前后分别加上高电位的起始位及低电位的停止位,即所谓的起始位与停止位。4. 校验位为了防止错误的发生,使用校验位作为检查机制。校验位又分为奇校验与偶校验,二者都是校验传送数据正确性的一种核对码。3.2 VB通信原理及界面设计Visual Basic之所以被广泛的应用是因为它具有以下优点:1.它是真正的面向对象型编程;2.可视化编程只需编写少量的代码就可以达到设计要求;3.它提供了强大的控件功能,轻松的让你与其他的设备进行通信。3.2.1 VB串口通信方式Visual Basic在串口开发程序主要有两种方法:一是利用MSComm串口控件,二是调用WINDOWS API函数。在实践中,使用Visual Basic串口控件实现通信的方法比调用API动态链接库的方法更加方便、快捷。 本文采用MSComm串口控件进行与西门子S7-200可编程控制器进行串行通讯。MSComm控件通过对串行端口的数据传输和接收,为应用程序提供通信功能,同时它还提供两种通信处理方式;事件驱动方式和查询方式,这两种事件处理方法都可以起到实现通信的功能。在VB编写的集成环境中,选择“工程”菜单中“部件”子菜单,在弹出“部件”对话框中,选中“MicrosoftCommmControl 6.0”复选框,点中之后出现一个“电话”的图标如图3.4所示:图3.4 添加MSComm串口控件3.2.2 VB串口通信程序的设计Visual Basic在开发可视化监控系统方面有独特的优势,它本身提供的串行端口控件MSComm就是为了应用程序提供串行通信而设计的,在应用时只需要设置、监视MSComm的控件属性和事件即可完成对串行口的初始化和数据输入工作。该通信程序的设计程序流程图如图3.5所示:图3.5 程序流程图1. MSComm串口控件的属性如果要利用MSComm串口控件进行通信,要了解MSComm控件的属性的,该属性的功能如下:CommPort设置并返回通信端口号。设计端口号可设置从1-16的任何数。Settings设置并返回波特率、奇偶校验、数据位长度、停止位长度。Settings = string 它包含4部分的字符串,格式为:第一部分为波特率;第二部分为奇偶校验;第三部分为数据位长度;第四部分为停止位长度。PortOpen设置并返回通讯端口的状态,也可以打开和关闭通信端口。Input从接收区返回和删除字符,该属性在运行时为只读。Output向传送缓冲区写数据,要传送的数据可以是二进制文本。CommEvent返回最近的通讯事件或错误。只有通讯错误或事件发生时才会产生OnComm事件。通过对上述属性进行设置可以实现VB与连接设备之间的串口通信。2. 对MSComm进行串口初始化要对通信口进行初始化把初始化程序放在窗口装入事件Form-Load( )中。实现串口设置的初始化具体代码如下:Private Sub Form_Load( )MSComm1.CommPort = 1 设置通信端口号为COM1MSComm1.Settings = 9600,n,8,1 设置通信参数MSComm1.PortOpen = True 打开串口MSComm1.InputMode = 0 接收文本型数据MSComml.InbuferSite=200MSComml. OutBufersite=200End Sub选定串行口COM1,设定波特率为9 600B/S,无奇偶校验,数据传输位为8位,1位停止位。InputLen = 0表明输人时读取缓冲区的全部内容,根据发送和接收字符串的长度,设置输人、输出缓冲区大小。3. 发送字符命令代码设定一个命令按钮,将发送代码编辑到该命令按钮的Click()事件当中,实现该功能的代码如下:Private Sub Cmdsend_Click()If MSComm1.PortOpen = False Then MSComm1.PortOpen = True 打开通信口MSComm1.Output = Trim(Textsend.Text) 把字符通过串口发送出去End Sub如果该通信串口没有打开的话,应用一个IF语句把设定的串口打开,之后把所要发送的字符通过MSComm1.Output的属性发送出去。4. 接收字符命令代码设定一个命令按钮,将发送的代码编辑到该命令按钮的Click()事件中,接收PLC发送回来的字符。Private Sub CmdReceive_Click() Dim buf$ Timer1.Enabled = False buf = Trim(MSComm1.Input) 将缓冲区内的数据读入buf变量中 If Len(buf) = 0 Then 判断缓冲区内是否存在数据 TextReceive.Text = Else TextReceive.Text = buf End IfEnd SubPrivate Sub Cmdauto_Click() 启动自动接收Timer1.Enabled = True End SubPrivate Sub Timer1_Timer() 接收数据 If MSComm1.InBufferCount 0 Then TextReceive.Text = TextReceive.Text + MSComm1.Input End IfEnd Sub通过上述程序初始化MSComm串口控件进行通信,通过发送、接收指令, 就可以在上位机与PLC之间建立通信连接了。3.2.3 VB控制界面的程序设计1. 登陆界面模块的设计VB在可视化编程方面的功能是十分强大的,利用VB在开发可视化监控系统方面有其独特的优势,它可以制作良好的人机操作界面。本文为控制实验设置了两种登陆模式;一种是普通用户模式,当在登陆界面选择“普通用户”时,不需要访问密码,按“确定”按钮会直接进入“监控选择页面”;另一种则是管理员模式,当选择“管理员用户”时,需要用户名及访问密码,当密码正确后才可以登录到 “监控选择页面”,如图3.6所示:图3.6 登录选择界面示意图当选择“普通用户”模式时,进入监控选择界面,此时测试通信权限将被限制,即不能测试是否与PLC之间建立了通信渠道。此时的通信参数及发送数据,接收数等设置都不能执行,相应按钮将呈现出灰白色不能对其进行点击,如图3.7红线标注所示。但可以在“控制实验程序”中选择所要控制的实验,选中之后就可以进入到相应的操作监控界面。当选择“管理员用户”模式时,相对普通用户限制的权限将被开放,如图3.8红线所标注的,如回路测试、数据的发送、数据的接收、通信参数设置等。同时发送给PLC的数据可以在发送显示窗口及接收显示窗口上显示出来,这时可以随时测试通信回路的状态。图3.7 以“普通用户”模式进入监控页面示意图图3.8 以“管理员用户”模式进入监控页面示意图该段程序部分代码如下:Private Sub Cmdok_Click()Select Case Cbo0.Text 限制普通用户在监控选择界面的功能Case 普通用户frm2.Showfrm1.Hidefrm2.Cmdshezhi.Enabled = Falsefrm2.CmdReceive.Enabled = Falsefrm2.Cmdauto.Enabled = Falsefrm2.Cmdclear.Enabled = Falsefrm2.Cmdquit.Enabled = Falsefrm2.TextReceive.Enabled = Falsefrm2.Cmdsend.Enabled = Falsefrm2.Textsend.Enabled = Falsefrm2.mnuchuankou.Enabled = Falsefrm2.Timer2.Enabled = Truefrm2.Timer3.Enabled = FalseCase 管理员用户 选择管理员用户需要密码验证If txt1.Text = 1 Then If txt2.Text = password Then frm1.Hide frm2.Show frm2.Timer2.Enabled = True frm2.Timer3.Enabled = False Else MsgBox 密码无效, vbCritical txt2.Text = txt2.SetFocus End IfElse MsgBox 请输入用户名, vbYesNo + vbInformation txt2.Text = txt1.SetFocusEnd IfEnd Select2. 控制界面模块的设计进入监控选择界面之后,针对于管理员用户来说可以对通讯参数进行任意的设置,点击“通讯设置”按钮,则会出现如图3.9所示的对话框,在对话框上通过下拉菜单对各项参数进行选择,根据实际情况选择所要应用的通信参数,然后点击“确定”按钮即可完成通信参数的设置。图3.9 通信参数设置对话框实现该界面功能的部分代码如下:If Serial = COM1 Then 选择串口通道,对通道进行设置 frm2.MSComm1.PortOpen = False frm2.MSComm1.CommPort = 1 frm2.MSComm1.PortOpen = TrueEnd IfIf Serial = COM2 Then frm2.MSComm1.PortOpen = False frm2.MSComm1.CommPort = 2 frm2.MSComm1.PortOpen = TrueEnd Iffrm2.MSComm1.Settings = BaudRate + , + Parity + , + Data + , + StopBit无论是“普通用户”还是“管理员用户”,选择“控制实验程序”即可进入所要监控的实验,本文以THSMS-C型网络型可编程控制器实验台所提供的十字路口交通灯的实验为例对其进行监控,监控界面如图3.10所示。当按“启动”按钮时,所控制的实验启动,在监控界面的交通指示灯图标根据由PLC发送回来的数据进行相应的校验,如果符合则监控界面的交通灯指示图标会把实验台上的实际情况反映在界面上,当按“暂停”按钮时,整个实验系统停止(包括实验台);若按右边的“管制”类按钮时,实验台上的交通灯实验会根据管制类按钮的设置进行相应的变换,同时在监控界面上会显示出交通灯亮灭的实际情况。图3.10 十字路口交通灯监控页面实现该功能的部分代码如下:Private Sub Cmdqidong_Click() 发送字节T为启动命令 If frm2.MSComm1.PortOpen = False Then frm2.MSComm1.PortOpen = True number1 = T Timer2.Enabled = True frm2.Timer1.Enabled = FalseEnd SubPrivate Sub cmdguangzhi_Click() 发送字节P为管制指令 If frm2.MSComm1.PortOpen = False Then frm2.MSComm1.PortOpen = True number1 = P Timer2.Enabled = True frm2.Timer1.Enabled = FalseEnd Sub为了配合监控界面对十字路口交通灯实验的监控,特地在选择菜单的“串口设置”命令中设置了“指示灯指令监控”选项,对十字路口交通灯实验返回的状态指令进行监控,如图3.11所示。当接收到PLC反馈回来的数据后,与上位机预先设定好的数据进行校验,如果符合则带有指令的图标会显示颜色。图3.11 指示灯指令监控实现该功能及显示交通指示灯亮灭的部分代码如下: If fumu = H Then 东西方向 frm4.Shape15.FillColor = QBColor(10) frm4.Shape16.FillColor = QBColor(10) frm4.Label17.BackColor = QBColor(10) frm6.Label25.BackColor = QBColor(8) frm6.Label11.BackColor = QBColor(10) Else If fumu = X Then frm4.Shape15.FillColor = QBColor(8) frm4.Shape16.FillColor = QBColor(8) frm4.Label17.BackColor = QBColor(8) frm6.Label25.BackColor = QBColor(10) frm6.Label11.BackColor = QBColor(8) End If End If3.3西门子PLC的通信程序的设计本次毕业设计采用的S7-200可编程控制器是西门子S7系列中的重要成员,它支持多种通信协议,如点对点接口PPI、多点接口MPI和PROFIBUS等,而其用户自定义的协议(自由口)很有特色,它通过用户程序可以控制S7-200 CPU通讯口的操作模式。利用自由口模式,可以实现用户自定义的通讯协议连接多种职能设备,在自由口模式下,通讯完全由用户程序控制。用户通过使用接收中断、发送中断、发送指令和接收指令控制通讯口的操作,这个程序设计带来很大的灵活性。本次设计采用自由口模式来让S7-200 PLC与上位机实现通信。该流程图如3.12所示:图3.12 PLC通信程序流程图3.3.1 S7-200 PLC自由口通信程序的设计采用自由协议实现计算机与S7-200可编程控制器实现通信,计算机作为主站,可以实现对PLC从站寄存器的对写操作。计算机通过COM口发送指令到PLC的PORTO口,PLC通过RCV接收指令,然后对指令译码后实现指令要求的操作,并通过XMT指令返回执行指令数据。要实现通信首先要设置通信参数让PLC与上位机的参数一致,所以要对其内部的特殊字节存储器SMB30进行设置,把十进制数9送给SMB30则代表波特率9600kb/s、无奇偶校验、8位数据位1位停止位。对自由口初始化之后,要初始化RCV信息控制,将16进制数B0送给SMB87则给出了RCV允许检测信息结束符,检测空闲线空闲条件。设定接收到的结束字符为“0A”(回车),SMB94设定值为100,给出了接收到的最大字符为100个,然后连接一个接收完成中断及发送完成中断,这样就完成了对自由端口的通信设置。实现该功能的具体程序如下:/ 对PLC进行自由端口的初始化LD SM0.1MOVB 16#09, SMB30 /初始化自由通信MOVB 16#B0, SMB87/初始化RCV指令MOVB 16#0A, SMB89/设定接收到的结束字符MOVB 100, VB100 /最多接收100个字符MOVW +5, SMW90 /设定空闲5msMOVB 100, SMB94 /最多接收完成事件 MOVB 100, SMB94ATCH INT0, 23 /接收完成事件连接中断ATCH INT2, 9 /发送完成事件连接中断ENIRCV VB100, 0 进行初始化之后,便完成了PLC与上位机之间的参数设定,之后便可进行通信了。但是要想将接收到的数据应用到PLC控制的模拟实验上,以及将反馈信息发送回上位机,就要设置接收完成中断与发送完成中断。实现该功能的具体程序如下:/ 接收完成中断LDB= SMB86, 16#20 /接收状态显示接收到结束字符MOVB 10, SMB34 /连接一个10ms的时机中断,触发到接受的字符ATCH INT1, 10 CRETINOT RCV VB100, 0/ 发送完成中断 LD SM0.0LPSDTCH 10 /断开定时器中断CALL SBR0AB= VB101, 1 /等于1将控制交通灯指令发给上位机XMT VB100, 0LPPXMT VB200, 0 /端口0返回用户信息 通过上述程序与VB的通信程序相连,可以很好的实现二者的通信,PLC将上位机发送过来的数据接收到缓冲器中,经过处理把反馈信息发送给上位机并在接收回显框中显示出来。3.3.2 S7-200 PLC的控制实验软件设计针对本次毕业设计,本文采用THSMS-C型网络型可编程控制器实验台提供的十字路口交通灯实验进行模拟控制,该程序通过自由口设定的通信程序,接收到上位机发送过来的指令然后对实验进行相应的控制操作。此实验启动时,南北红灯亮维持25秒,在南北红灯亮的同时东西绿灯亮,并维持20秒。到20秒,东西绿灯亮,闪亮3秒后熄灭。在东西绿灯熄灭时,东西黄灯亮,维持2秒。到2秒,东西黄灯熄灭,东西红灯亮,同时,南北红灯熄灭,绿灯亮,东西绿灯维持30秒,南北绿灯维持20秒然后闪亮3秒后熄灭。同时南北黄灯亮,维持2秒后熄灭,这时南北红灯亮东西绿灯亮,代表南车辆通行及东西车辆通行的交通指示灯亮,周而复始。该实验连线如表3.1所示:表3.1 实验连线图表面板SD南北G南北Y南
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脑梗塞遗症的护理查房
- 远程培训A3作业
- 《西游记》讲课课件
- 《表达要得体》课件
- 新人入职汇报
- 急性左心衰病人护理查房
- 消毒和隔离技术规范解读
- 放疗病人教学护理查房
- 2025年招标采购从业人员专业技术能力考试(招标采购项目管理中级)冲刺试题及答案(山东菏泽)
- 腰椎骨折手术病人的护理
- 4.1夯实法治基础教学设计 2025-2026学年度九年级上册 道德与法治 统编版
- 连铸工岗位操作规程考核试卷及答案
- 2025兵团普通职工考试试题及答案
- 《中国老年危重患者营养支持治疗指南(2023)》解读 4
- 2025年广东国家公务员申论考试真题及答案-地市级
- 绿色矿山培训课件
- 国有企业十五五人力资源规划框架
- 无人机实操训练课件
- 十二大报告解读
- 格拉斯哥(GCS)昏迷评估量表(详xi操作)
- 肝硬化患者健康宣教知识
评论
0/150
提交评论