产品描述
西门子模块6ES7231-7PD22-0XA8产品
PLC是专为工业控制而开发的装置,其主要使用者是工厂广大电气技术人员,为了适应他们的传统习惯和掌握能力,通常PLC不采用微机的编程语言,而常常采用面向控制过程、面向问题的“自然语言”编程。电工(IEC)1994年5月公布的IEC1131-3(可编程控制器语言标准)详细地说明了句法、语义和下述5种编程语言:功能表图(sequential function chart)、梯形图(Ladder diagram)、功能块图(Function black diagram)、指令表(Instruction list)、结构文本(structured text)。梯形图和功能块图为图形语言,指令表和结构文本为文字语言,功能表图是一种结构块控制流程图。
梯形图是使用得多的图形编程语言,被称为PLC的编程语言。梯形图与电器控制系统的电路图很相似,具有直观易懂的优点,很容易被工厂电气人员掌握,特别适用于开关量逻辑控制。梯形图常被称为电路或程序,梯形图的设计称为编程。
梯形图编程中,用到以下四个基本概念:
1.软继电器
PLC梯形图中的某些编程元件沿用了继电器这一名称,如输入继电器、输出继电器、内部辅助继电器等,但是它们不是真实的物理继电器,而是一些存储单元(软继电器),每一软继电器与PLC存储器中映像寄存器的一个存储单元相对应。该存储单元如果为“1”状态,则表示梯形图中对应软继电器的线圈“通电”,其常开触点接通,常闭触点断开,称这种状态是该软继电器的“1”或“ON”状态。如果该存储单元为“0”状态,对应软继电器的线圈和触点的状态与上述的相反,称该软继电器为“0”或“OFF”状态。使用中也常将这些“软继电器”称为编程元件。
2.能流
如图5-1所示触点1、2接通时,有一个想的“概念电流”或“能流”(Power Flow)从左向右流动,这一方向与执行用户程序时的逻辑运算的顺序是一致的。能流只能从左向右流动。利用能流这一概念,可以帮助我们好地理解和分析梯形图。图5-1a中可能有两个方向的能流流过触点5(经过触点1、5、4或经过触点3、5、2),这不符合能流只能从左向右流动的原则
3.母线
梯形图两侧的垂直公共线称为母线(Bus bar),。在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧母线(左母线和右母线)之间有一个左正右负的直流电源电压,母线之间有“能流”从左向右流动。右母线可以不画出。
4.梯形图的逻辑解算
根据梯形图中各触点的状态和逻辑关系,求出与图中各线圈对应的编程元件的状态,称为梯形图的逻辑解算。梯形图中逻辑解算是按从左至右、从上到下的顺序进行的。解算的结果,马上可以被后面的逻辑解算所利用。逻辑解算是根据输入映像寄存器中的值,而不是根据解算瞬时外部输入触点的状态来进行的。
本文利用虚拟仪器技术, 采用了LABV IEW 图形编程环境, 开发了 一个通用的液位控制测控系统, 本测控系统主要完成对液位、流量等参数的采集和控制。同时对测试结果进行保存和打印。硬件使用外部设备。同时还描述了其与上位机的通讯方式。
1 引 言
工业液位控制中, 常常用到液位控制。如工业锅炉的汽包水位、给水排水工程中的储液容器等是常见的设备。重要的参数是压力和流量。因此, 有必要对液位控制进行自动的、实时的监控。过去通用的方法是由工作人员分班定时监测液位计的指示值, 将指示值与规定液位数值比较, 并算出两者的差值, 根据液位变化大小作出判断。控制阀门的关和开的大小。这样的弊端: 定时查看缺乏实时性, 不能对系统中的突发事件进行及时地处理; 不能排除人为发生错误的因素, 如记录时的误读和误记等。所以, 本文设计一套实时、自动的液位控制监控系统。充分引入虚拟仪器的概念, 使所设计的监控系统结构清晰、概念简单明了, 系统的软、硬件具有开放性、兼容性。
2 系统结构设计
整套装置的设计即以微处理机为基础, 将计算机技术控制技术、通信技术和图形显示技术结合在一起,由 PENM IUM N E 微机为上位机, 实现过程监控和信息管理的功能, 可编程控制器ADAM 5510 作为下位机与现场设备(控制柜) 相联, 完成系统各种联锁要求,实施对设备控制操作。如图 1 系统框图
图 1 系统框图
虚拟仪器技术的出现使自动化测试系统结构从传统的机架层迭式结构发展成为模块式结构。根据虚拟仪器技术的系统结构, 将工业液位监控系统进行如下抽象:
整个系统被分为五个层次: 仪器模块、硬件接口、I/O 接口、仪器驱动程序和系统软件。系统结构明了,层次划分清晰, 每一层的功能明确。
ADAM 5510 是闽台研华公司开发的基于 PC 的可编程智能控制器, 用于数据的采集和控制。每个系统有 4 个 I/O 模块 ( I/O 点数 64 点) , 系统提供通讯口(RS2232/485) 允许系统与其他设备通讯。ADAM 5510可直接连接多种类型的传感器, 实用于测量温度、压力、流量、电压、电流及多种类型数字信号: 信号类型(电流、电压) 及输入、输出范围有多种选择。
ADAM 5510 提供了很多 I/O 模块, 大致有 4 类 I/O 模块。模拟 I/O 模块、数字 I/O 模块、延时输出模块、计数器/频率计模块。在本设计中我们主要用到了数 字 I/O 模 块 ADAM 5050 和 模 拟 I/O 模块ADAM 5017。本液位测控系统硬件设备用来采集数据和控制,选用 PLC, 测量温度、压力、流量及由电机带动的阀门开关大小数字信号。数据采集和阀门控制部分是以PLC 为的, 它和上位机采用串行通信。软件工具采用虚拟仪器基于数据流的编译型图形编程环境——L abV IEW 软件。
3 通信的实现
ADAM 5510 可编程控制器基于 PC 的控制, 它既能作为立单元工作, 又能做为分布式控制系统的一部分。对ADAM 5510 进行采集和控制, 这就涉及到通信问题。以实现远程下载和监控。
ADAM 5510 与上位机进行通信之前, 对 RS2232 通信端口进行初始化。使两者按相同的通信格式。初始化参数包括波特率、起始位、停止位和奇偶校验位等。RS2232 通信口一般设置为波特率 9600b/s, 1 个起始 位, 7 个 数 据 位, 2 个 停 止 位 和 奇 偶 校 验 位,ADAM 5510 可以用 TUBRO C2. 0 进行编程。
ADAM 5000/485 以串行通信模式, 它有 RS2485异步通信串行接口, 其通信协议A SC II 命令/响应协议。如果没有响应到达, 程序中断并且主机返回控制命令。
其命令格式:
[分隔字符][地址][插槽][通道][命令][数据][校验位][回车]
每个命令开始有一个分隔符, 它只有四个有效字符: $ # % @。分隔符跟有两个字符地址(16 进制);
指明了目标系统。这两个字符后的地址指明了模块插槽和通道。根据这个命令, 可选的数据段可以跟命令串。一个可选两位校验位也添加到命令串。每条命令可以回车结束。
由于L abV IEW 软件不支持ADAM 5510 的驱动,ADAM 5510 和LABV IEW 之间的通信则需要用户对LABV IEW 进行二次开发。本文在编写通信程序是将ADAM 5510 成 ADAM 5000/485, 由于 L abV IEW支持ADAM 5000/485 的驱动, 按ADAM 5000/485 的命令格式发送和接收命令。在ADAM 5510 里面进行编程时将收到的指令进行, 然后转去执行 5510 的相应函数, 再将结果按照ADAM 25000 的格式发给上位机, 实现对ADAM 5510 的控制和采集。例将 5000改 成 5510, 其 他 配 置 不 变, L abV IEW 要 获 取ADAM 5510 中模块 5017 的数据。即当L abV IEW 发送# 01S0 至 5510 时, 5510 中用户程序对LAB2V IEW 发送的命令进行判断, 如果接收的命令符合5000/485 指令集 (如为# 01S0 (CR ) ) , 则按照指令集的响应格式返回(如: > + 1. 4567 + 1. 4852 + 1. 5661+ 1. 6821 + 1. 5459 + 2. 789 + 1. 7768 + 1. 1623(CR) )。这时LABV IEW 就将 5510 认为是 5000/485了。
4 系统软件设计
应用软件是整个液位控制系统的关键的部分, 它起着枢纽的作用, 对上和用户打交道, 对下和各种设备通信以信息。该软件要完成的主要任务有: 系统初始化、测量参量的集中显示、数据测试、数据存储、打开记录、数据库存储、报警、报表打印。
充分利用L abV IEW 模块化、层次化的设计思想和设计方法, 采用自向下的结构化设计方法, 建立系统的层次图。其层次结构图如图 2。
图 2 层次结构图
4. 1 模规功能
(1) 实时监测模块(包括压力流量数据监测、参数设定)。在实时监测模块的设计中我们将液位控制模拟系统的当前运行状况通过图形和数字的方式集中的显示在计算机屏幕上。用模拟屏监测模式直观, 界面起到了显示数据的作用, 而后台运行的数据采集才是的部分。默认情况下, 数据由软件自动完成, 当然, 也可以随时切换到手工控制采集。即在上位机点击屏上的阀按钮, 下位机开始进行控制和采集。
(2) 报警处理模块。报警处理模块包含声音报警、视觉报警和报警的查询功能。实时报警包含声音报警和视觉报警。声音报警是通过ADAM 5510 的5050 输出量与液位控制屏中的报相连。当液位过给定值的上限或下限, 报发出声音报警。视觉报警是通过在屏幕上的一个不停闪烁的灯来实现的。操作员还可以设置报警的上下限。
(3) 通讯模块。通信功能实际上是由仪器驱动程序和 I/O 接口软件共同实现的。即将可编程控制器采集的值(下位机) 通过双绞线将数据传递到微机(上位机)。
(4) 数据库管理模块。对采集的数据进行保存和分析处理, 从趋势图上看出它的曲线变化。并且从数据库中查询历史数据。
(5) 控制。上位机 PC 能对ADAM 5510 的电磁阀、泵进行控制, 从而进行手动控制。起到监控的作用。
(6) 报表模块。对数据库内的数据进行报表打印,及时反映测试数据的变化。用户可以查询任何符合EXCEL 格式的报表。
4. 2 大致过程
(1) 建立板。从控制模块上选择你需要的对象, 放在虚拟仪器的板上。然后再分别设计各个要调用的V Is。设计各调用模块(V Is) 时先在板上放置实现输入/输出所需的控制器、指示器, 再根据功能需求将V Is 细分成多个子V Is(subV Is) 分别实现不同的功能。
(2) 构建图形化的数据流图。对虚拟仪器进行程序设计, 自己构建数据流图。从功能模板上选择处理数据需要的“Functions”(用图标表示) , 并用线将它们连接起来以便数据进行传递。构建数据流图是创建虚拟仪器致关重要的一步, 不管板设计的多好, 数据流图上的数据处理不合理, 功能无法实现。
(3) 模块化和层次。创建自己的虚拟仪器图标和连接器, 建好低级子VI。
5 结 语
由于采用了虚拟仪器技术的思想, 使得开发出来的液位控制系统结构明了、层次清楚。现场液位控制是用压力传感器来显示液位的变化, 操作者是通过肉眼来观察储存罐内液位的变化。有可能产生误差。使用虚拟仪器直观, 将仪表设计到软件上, 数据显示通过波形或仪表面板直观来反映。系统具有开放性、可扩展性和可重用性, 开发等优点。
可编程控制器(PLC)的工作有两个要点:入出信息变换、物理实现,入出信息变换主要由运行存储于PLC内存中的程序实现。这程序既有系统的(这程序又称监控程序,或操作系统),又有用户的。系统程序为用户程序提供编辑与运行平台,同时,还进行必要的公共处理,如自检,I/O刷新,与外设、上位计算机或其它PLC通讯等处理。用户程序由用户按照控制的要求进行设计。什么样的控制,就有什么样的用户程序。
物理实现主要通过输入(I, bbbbb)及输出(O,OUTPUT)电路。每一输入点或输出点就有一个I或O电路。而且,总是把若干个这样电路集成在一个模块(或箱体)中,然后再由若干个模块(或箱体)集成为PLC完整的I/O系统(电路)。尽管这些模块相当多,占了PLC体积的大部分,但由于它们都是由高度集成化的,所以,PLC的体积还是不太大的。
输入电路时刻监视着输入点的(通、ON或断、OFF)状态,并将此状态暂存于它的输入暂存器(还可能有别的称谓)中。每一输入点都有一个与其对应的输入暂存器。
输出电路有输出锁存器(还可能有别的称谓)。它也有两个状态,高、低电位状态,并可锁存。同时,它还有相应的物理电路,可把这个高、低电位的状态传送给输出点。每一输出点都有一个与其对应的输出锁存器。
这里的输入暂存器及输出锁存器实际是PLC的I/O电路的寄存器。它们与PLC内存交换信息通过PLC I/O总线及运行PLC的系统程序实现。
把输入暂存器的信息读到PLC的内存中,称输入刷新。PLC内存有专门开辟的存放输入信息的映射区。这个区的每一对应位(bit)称为输入继电器,或称软触点,或称为过程映射输入寄存器(the process-image bbbbb register)。这些位(bit)置成1,表示触点通,置成0为触点断。由于它的状态是由输入刷新得到的,所以,它反映的就是输入点的状态。
输出锁存器与PLC内存中的输出映射区也是对应的。一个输出锁存器也有一个内存位(bit)与其对应,这个位称为输出继电器,或称输出线圈,或称为过程映射输出寄存器(the process-image output register)。通过PLC I/O总线及运行系统程序,输出继电器的状态将映射给输出锁存器。这个映射的完成也称输出刷新。
PLC除了有接收开关信号的输入电路,有时,还有接收模拟信号的输入电路(称模拟量输入单元或模块)。只是后者先要进行模、数转换,然后,再把转换后的数据存入PLC相应的内存单元中。
如要产生模拟量输出,则要配有模拟量输出电路(称模拟量输出模块或单元)。靠它对PLC相应的内存单元的内容进行数、模转换,并产生输出。
这样,用户所要编的程序只是,PLC输入有关的内存区到输出有关的内存区的变换。这是一个数据及逻辑处理问题。由于PLC有强大的指令系统,编写出满足这个要求的程序是可能的。
简单地说,PLC工作过程是:输入刷新---运行用户程序---输出刷新,再输入刷新---再运行用户程序---再输出刷新……停止地循环反复地进行着。
有了上述过程,用PLC实现控制显然是可能的。因为:有了输入刷新,可把输入电路监视得到的输入信息存入PLC的输入映射区;经运行用户程序,输出映射区将得到变换后的信息;再经输出刷新,输出锁存器将反映输出映射区的状态,并通过输出电路产生相应的输出。又由于这个过程是停止地循环反复地进行着,所以,输出总是反映输入的变化。只是响应的时间上,略有滞后。但由于PLC的工作速度很快,所以,这个“略有滞后”的时间是很短的,一般也就是几毫秒、几十毫秒,多也不会过100到200毫秒。
图2a所示的是简化的过程,实际的PLC工作过程还要复杂些。除了I/O刷新及运行用户程序,还要做些其它的公共处理工作。公共处理工作有:循环时间监视、外设服务及通讯处理等。
监视循环时间的目的是避免用户程序“死循环”,保证PLC能正常工作。为避免用户程序“死循环”的办法是用“”(Watching dog),即设一个定时器,监测用户程序的运行时间。只要循环时,即报警,或作相应处理。
外设服务是让PLC可接受编程器对它的操作,或向编程器输出数据。
通讯处理是实现与计算机,或与其它PLC,或与智能操作器、传感器进行信息交换的。这也是增强PLC控制能力的需要。
也就是说,实际的PLC工作过程总是:公共处理——I/O刷新——运行用户程序——再公共处理——…反复不停地重复着。图2b所示的是实际的过程。
此外,PLC上电后,也要进行系统自检及内存的初始化工作,为PLC的正常运行做好准备。
用这种不断地重复运行程序以实现控制,称扫描方式工作。是PLC基本的工作方式。
此外,为了应对紧急任务,PLC还有中断工作方式。在中断方式下,需处理的任务先申请中断,被响应后停止正运行的程序,转而去处理中断工作(运行有关中断的服务程序)。待处理完中断,又返回运行原来程序。
PLC的中断方式的任务,或称事件,是分等级的。同时出现两个或多个中断事件,则级高的先处理,继而处理低的。直到全部处理完中断任务,再转为执行扫描程序。
PLC对大量控制都用扫描方式工作,而对个别急需的处理,则用中断方式。这样,既可做到所有的控制都能照顾到,而个别应急的任务也能及时进行处理。
当然,PLC的实际工作过程比这里讲的还要复杂一些,分析其基本原理,也还有一些理论问题。但如果能弄清上面介绍的思路,也可知到PLC是怎么工作的了。
产品推荐