一种基于工业PC的软PLC控制系统_第1页
一种基于工业PC的软PLC控制系统_第2页
一种基于工业PC的软PLC控制系统_第3页
一种基于工业PC的软PLC控制系统_第4页
一种基于工业PC的软PLC控制系统_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一种基于工业PC的软PLC控制系统首先介绍了基于PC的控制系统的发展状况以及软PLC技术的概念和组成结构。然后详细地叙述了基于工业PC的软PLC的软、硬件实现方案,最后给出了应用实例。0、引言 基于PC的控制系统是国际上继PLC和DCS之后推出的工业控制系统。目前在工业控制领域,基于PC的控制系统得到日益广泛的应用。同时由于计算机软、硬件技术的迅速发展以及工控领域国际编程标准-IEC 61131-3的制定和推广应用,在工业PC上以软件技术实现PLC的功能,即软PLC技术,成为一项新兴的技术。 1、基于PC的软PLC控制系统的发展现状 1.1 IEC 61131-3国际编程标准1 IEC 611

2、31国际标准的制订是软PLC技术发展的一个重要基础。为了规范工业控制领域的编程语言,20世纪90年代初,IEC(国际电工委员会)颁布了IEC 61131国际标准。该标准共分八个部分,依次包括:基本概念、硬件装置和测试、编程语言标准、用户指南、通信服务规范、现场总线通信(未公布)、模糊控制语言和编程实施方针。其中IEC 61131-3是PLC编程语言标准,它详细地说明了句法、语义和5种编程语言:指令表(Instruction),结构化文本(Structured Text),顺序功能图(Sequential Function Diagram),梯形图(Ladder Diagram),功能块图(Fu

3、nction Block Diagram)。在这五种编程语言中,指令表和结构化文本是文本语言,易于实现一些复杂的算法;顺序功能图、梯形图和功能块图是图形语言,它们则擅长处理逻辑控制。同时该标准还允许在同一项目中,使用多种语言进行混合编程,而且支持POU(程序组织单元)的重复使用,为不同知识背景的编程人员提供了方便。 1.2 基于PC的软PLC控制系统的发展现状4 目前,国外许多工业控制系统开发商正在发展基于PC的控制系统,推出了符合IEC 61131-3标准的产品。在国内市场上常见的控制产品有:法国CJ International公司的ISaGRAF,德国KW公司的MULTIPROG,BECK

4、HOFF公司的TWinCAT以及SOFTPLC公司的SoftPLC等。作为典型的基于PC的控制系统,西门子公司的WinAC在国内得到了广泛的应用。 1.3 基于PC的软PLC控制系统的优点 软PLC基于PC机,建立在PC机的软、硬件平台之上,因此具有PC机的优点和PLC的特性。 具有良好的开放性。全面支持Windows、Linux等操作系统,通过OPC或DDE等通信方式易于与第三方的产品集成运行。其硬件结构不再封闭,用户可以选择不同的I/O模块来满足自己的要求。 具有广泛的兼容性。软PLC的技术是基于IEC 61131-3标准的,用户在掌握了标准语言后,开发比较容易。由于该标准继承了传统PLC

5、的编程方式,因此不同知识背景的工程人员容易接受和使用。 可以节省投资。与传统的PLC解决方案相比,基于PC的软PLC由于其良好的开放性和兼容性,可以大大减少设备投资和系统的集成费用。 性价比日益提高。PC处理器的速度日益提高,充分利用CPU的超强速度容易实现数据处理、多回路调节和多任务。 基于以上原因,许多学者就软PLC控制系统的实现方案作了相应的探讨,在此,笔者设计了一种基于工业PC的软PLC控制系统。 2、基于工业PC的软PLC控制系统的实现 2.1 系统的硬件结构搭建 该软PLC控制系统的硬件平台选用的是凌华PACK-610工业计算机,I/O板卡分别选用的是研华公司的PCI-1710,P

6、CL-720和中泰公司的PC6311。在工业PC中可以驱动多块板卡,根据被控对象而定。系统结构如图1。图1 系统结构图 2.2 软PLC系统的软件实现 该软PLC系统由编程系统和运行系统构成。编程系统用来完成PLC应用程序的开发,运行系统负责对整个系统的管理和对应用程序的执行。由于编程系统和运行系统运行于同一台工控机,所以两者之间的通信采用了动态连接库(DLL)函数的方法实现数据交换。系统整体框图如图2。图2 软PLC系统框图 (1)编程系统 按照IEC 61131-3的标准,编程系统中提供了对整个工程的管理、资源配置和POU(程序组织单元)的编辑调试功能。POU包括程序、功能块和函数,其中程

7、序可以调用程序、功能块和函数;功能块可以调用功能块和函数;函数可以互相调用。 工程管理功能提供了整个工程所需文件的管理,在这个工程中可以同时用五种语言编程来实现控制功能。POU编辑功能包含两个窗口:一个是变量定义窗口,在此用户可以声明POU所需的元素,这些变量包含局部变量、外部变量,而且用户还可以声明相应的功能块和函数的名称。另外一个窗口则是程序的编辑窗口,用户在此可以编辑图形语言的程序和文本语言的程序。此外,在编程系统中还可以嵌入复杂的控制算法,如智能PID算法等。 调试工具栏包含编译和调试功能:编译功能是将用户创建的图形或者文本程序编译成运行系统可以执行的目标代码,同时也提供了语法语义的检

8、查功能。就调试功能而言,用户可以下载程序,而且可以在线仿真和调试。 (2)运行系统 运行系统的主要功能有三个:与编程系统的通信、目标代码的执行和各种I/O硬件的驱动。 为了便于软件的日后维护和升级,将运行系统和编程系统分开,以便于移植到不同的硬件平台。两者的通信依靠动态连接库提供的函数,以下是动态连接库提供的函数: PlcNetInitialize(); / 通信初始化 PlcNetShutDown(); / 关闭通信 PlcNetSendData();/ 接收数据 PlcNetRecData();/ 发送数据 PlcNetGetRxStatus();/ 得到通信就绪信号 在运行系统的工程中加

9、入动态连接库的导入库文件IPCDrv.lib,这样就可以在运行系统中调用这些库函数了。当程序运行时,即可启动编程系统和运行系统的数据交换软PLC运行系统虚拟机是运行系统的核心,也是整个软PLC系统的核心。它一方面负责处理操作系统的服务请求,另一方面对应用程序进行管理和执行。程序执行时,首先为应用程序分配内存,将程序加载到分配好的内存里,然后在虚拟机中解释并执行编程系统下载的目标代码。该运行系统虚拟机支持IEC 61131-3标准规定的100余种函数、功能块和操作符。使用虚拟机技术,可以方便地将运行系统移植到不同的硬件平台。 运行系统的I/O驱动模块直接驱动具体的硬件。为了完成与I/O模块的数据

10、交换,运行系统在内存中开辟了一个段表,称为I/O映象区域。这个I/O映象区域在编程系统和运行系统之间起一个桥梁的作用,其作用是将编程系统定义的某一个地址的物理变量直接映射到段表的某一个地址,并根据这个地址的偏移量来操作具体的硬件。 这个段表分成四段,依次为:段头(header),输入区(input),输出区(output)和标志区(maker)。段表的段头占用6个字节(byte),从0到5,定义了整个段的长度,输入和输出各占用的字节数等。输入区从6开始,也就是输入区的偏移量(offset)是6,如果将输入的变量值放在输入区的第1个字节(byte),则该变量的地址是7。如果输入区的长度占有2个字

11、节数,则输出区的偏移量是8,这样输出变量的地址应该加上偏移量8。标志区(maker)则用来存放中间变量。原理如图3所示。图3 I/O映象原理图 I/O驱动模块中提供了四个函数,依次为: LzsEnvInitialize (void);/ 初始化过程 LzsEnvShutDown (void);/ 关闭过程 LzsEnvWriteProcImg ();/ 写过程映象 LzsEnvReadProcImg ();/ 读过程映象 按照上面的原理,以研华板卡PCI-1710为例,为了读写编程系统中定义的三个变量(地址分别为%IX0.5、%IX1.6、%QX0.7)其主要代码如下: LzsEnvReadP

12、rocImg() ptDioReadBit.port = 0; /读输入区的第零个字节 ptDioReadBit.bit = 6; /读输入区第零个字节的第六位,编程系统中的地址为%IX0.5 ptDioReadBit.state = &usState; / 返回值 dwErrCde = DRV_DioReadBit(lDriverHandle, (LPT_DioReadBit)&ptDioReadBit); *(LZSBYTE*)pProcImgSeg_p+0) = usState; 写过程映象,也按照上面的方法。整个系统在Visual C+6.0环境下开发,目前,已对多个试验对象实现成功控

13、制。 3、应用实例 按照以上的系统构建方案,控制对象既有开关量又有模拟量,分别为五层电梯模型和三容液位水槽。 (1)对于电梯模型的控制而言,主要涉及到开关量信号,故采用梯形图编程语言。以研华公司的PCL-720板卡为I/O硬件,PCL-785B继电器板卡将信号放大,已对五层电梯模型实现控制。部分梯形图程序如图4。图4 电梯控制梯形图 (2)三容液位水槽是一个强耦合、变结构的复杂被控对象,在此采用了PID算法。由于结构化文本是一种类pascal语言,擅长一些复杂算法和模拟信号的控制,故采用结构化文本语言,以中泰公司的PC6311板卡作为I/O硬件,应用PID算法对三容液位水槽实现成功控制。部分代

14、码如下: VAR t : ton; t_in,t_out : bool; aoutport0_1 :REAL AT %QX2.0; ain_1 :REAL AT %IX6.0; END_VAR /以上声明了中间变量和输入输出变量 if now_f 2.0 then now_control := 4.96; aoutport0_1 := now_control; else if now_f 2.64 then now_control := k_p * now_e; aoutport0_1 := now_control + 1.01; else control_error_p := k_p * (now_e - past_e); control_error_i := k_i * now_e; control_error_d := k_d * (now_e - 2.0 * past_e + pp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论