西门子6ES7223-1PM22-0XA8参数说明
用SFC编制用户程序时,有时程序需要跳转或重复,则用OUT指令代替SET指令
(1)部分重复的编程方法
在一些情况下,需要返回某个状态重复执行一段程序,可以采用部分重复的编程方法,如图1所示
(2)同一分支内跳转的编程方法
在一条分支的执行过程中,由于某种需要跳过几个状态,执行下面的程序。此时,可以采用同一分支内跳转的编程方法。如图2所示。
(3)跳转到另一条分支的编程方法
在某种情况下,要求程序从一条分支的某个状态跳转到另一条分支的某个状态继续执行。此时,可以采用跳转到另一条分支的编程方法,如图3所示。
(4)复位处理的编程方法
在用SFC语言编制用户程序时,如果要使某个运行的状态(该状态为1)停止运行(使该状态置0),其编程的方法如图4所示。
图4中,当状态S22为1时,此时若输入X21为l,则将状态S22置0,状态S23置1;若输入X22为1,则将状态S22置0,即该支路停止运行。如果要使该支路重新进入运行,则必须使输入X10为1。
.概述
随着时代的发展和科学技术水平不断的tigao,工业工程逐渐走向大规模化、集成化。同时,越来越多的各具功能的工业产品充斥在我们设计人员的周围,如何更好的利用这些多如繁星的产品,做到工程的优化,是设计人员一直努力的目标。本文结合实际,谈谈PLC在工程项目中的如何与其他产品巧搭配,使得整个系统更经济、高效、可靠。
2.项目背景
在中海石油炼化公司惠州项目离心鼓风机配套电自控系统中,系统配置如下:就地安置的低压电控柜六套,用来完成各自风机子系统的启停等功能;PLC远地自控机柜一套,选用S7-300系列,采集整个风机系统的温度、liuliang、油压等模拟量后通过上位机输出显示、报警。风机系统的温度采集点有很多,本项目中每套风机各有3个电机定子温度、2个电机支撑轴承的温度、风机的2个支撑轴承的温度和1个止推轴承的温度,温度点共计48个。若选择西门子8点模拟量输入模块,则共需要6块。(如图1)再加上轴震动度、油管压力、出口风压等模拟量输入,需要选用的PLC的模拟量输入模块的数量太多,成本高、安装难。那么,如何在保证甚至tigao系统性能的前提下尽可能的减少扩展模块呢?
3.提出新思路
S7-300系列PLC的部分CPU配备了PROFIBUS DP主站/从站接口,所以我们可以利用PROFIBUS总线传输协议来批量的获取现场温度信号。PROFIBUS –DP用于现场层的高速数据传送。主站周期地读取从站的输入信息并周期地向从站发送输出信息。总线循环时间必须要比主站(PLC)程序循环时间短。除周期性用户数据传输外,PROFIBUS-DP还提供智能化设备所需的非周期性通信以进行组态.诊断和报警处理。
我们知道,温度信号可以通过巡检的方式集中采集,所以根据实际情况,我选择陕西工业自动化工程公司研制生产的SS7-16型16路温度巡检仪共3台。但这种型号的温度巡检仪采用Modbus RTU协议(RS485口)进行通信,Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它作为一种通用工业标准,已经广泛应用在不同厂商生产的控制设备所组成的工业网络中,实现集中监控。
图1 模拟量输入模块采集温度结构示意图
图2 主—从传输形式采集温度信号结构示意图
两示意图分别是使用模拟量扩展模块和温度巡检仪采集温度信号的示意图,直观的比较两图不难发现,主—从站的结构形式具有以下优势:
1、节省硬件数量与投资。
2、节省安装费用。
3、节省维护开销。
4、用户具有高度的系统集成主动权。
5、tigao了系统的准确性与可靠性。
既然这种思路有很大的优势,那么我们就可以抛弃模拟量输入模块,用温度巡检仪取而代之,下面我们对其更深入的进行分析。
4.列出两种方案
针对两种设备采用两种协议的情况,下位机需要增加一个设备来完成Modbus RTU协议转POFIBUS协议的工作。虽然改变了选型思路给我们带来了新问题,但工控市场上琳琅满目的产品能帮我们轻松的解决。针对Modbus RTU协议转POFIBUS协议的问题,容易想到两种方案。
方案一:利用CP341通信模块。
CP341模块是S7—3001400系列PLC中的串行通讯模块。该模块具有1个可选的串行通讯口(本项目选为RS485口)CP341模块可以同时与多台串行通讯设备进行通讯,如同时连接多个变频器、巡检仪等。其处理器可以特别方便和简单地进行参数化。如果采用RS422/485 Modbus RTU通讯方式,需要在发送的数据包中包括站号、数据区、读写指令等信息。供CP341模块所连接的从站设备鉴别数据包是发给哪个站的。以及该数据包是对那个数据区进行的读或写的功能。
方案一的通信硬件选择表
使用CP341的好处在于这种通信模块与CPU同厂家,兼容性和可靠性好。缺点在于此模块需要另付软件和硬狗的费用,对小型项目来说成本不低。
方案二:利用协议转换器进行协议转换
协议转换器就是网桥,或称工业网关,用于在链路层完成LAN之间或LAN与WAN之间数据包的存储和转发及不同物理接口之间的转换。如果以太网的网络类型不同(比如以太网以及令牌环),因为彼此不识别对方的帧格式传输方法,所以单纯依靠数据链路层协议是无法实现两个网络的相互连接因此这个问题在网络层上进行解决:方法是在不同的网络类型中分别置两个网关,网络与网络之间通过网关相连,因此网关起到协议转换的作用 。
近年来协议转换器产品的品质、性能日趋成熟,品牌也多种多样,功能也十分强大,我们拿瑞典的“Anybus”为例说明如何在项目中使用。
根据本项目的要求,我们可以选择Profibus-DP Serial Gateway系列产品,通过配套的软件可以选择不同类型的串口(RS232/422/485/) Anybus Communicator提供了一种Modbus RTU主站模式。在这种模式下网关轮询一个或多个Modbus从设备并将从设备中获取的数据映射到网关内部存储区。用户可以选择使用预定义的标准Modbus命令,也可以利用网关的数据处理功能来定义通讯报文,这样网关和现场总线主站之间交换的仅仅是所选择的数据。这种功能很适合将温度巡检仪作为从站,然后利用网关依次对其采集到的数据进行读取。
方案二的通信硬件选择表
比较两种方案,前者由于通信模块与CPU同一厂家,系统较为可靠稳定。但由于需要购买软件和加密狗,使得成本偏高;而后者更为经济,而且协议转换器体积小巧、使用简便,更适合应用在某些特殊的场合。另外,在项目要求宽泛的情况下,我们可以采用与PLC同协议的从站设备,这样省去了协议转换这一程序,让系统更加优化。
5.结束语
选择产品、设备的目的是使控制系统的设计、安装、投运到正常生产运行及其检修维护,都体现出优越性。五花八门的硬件、模块就像一块块七巧板,不同的搭配组合会产成不同的效果。所以,当我们在拿到一个项目并开始考虑选择硬件时,可以多换几种思路,并将每一种方案思路落实在图纸上便于更加清晰的比较、推敲。科技的进步有目共睹,产品的功能日新月异,在工业设计中已没有一成不变的方法,作为工业控制的一名技术设计人员,我们应该勤动脑、开阔思路,多快好省的解决问题。
1 引言
MOCVD(bbbbl Organic Chemical Vapor Debbbbbbbb)(金属有机化合物化学气相沉积)是一项制备高质量半导体晶体的新技术。此技术的优点在于[1]:可制成各种薄膜结构型的材料;可制成大面积、高均匀性的外延膜;可jingque控制膜的厚度、组成及掺杂浓度;灵活的气体源路控制技术、气体源路的快速切换技术、生长过程全自动控制,使得人的随机因素影响减至小且重复性很好。要使MOCVD的这些特点能够顺利实现,就必须对工艺参数严格控制。而MOCVD的工艺参数特别多且复杂,这就对控制方法提出了越来越高的要求。因此,有必要采取计算机自动控制。目前MOCVD控制系统大部分依靠国外进口,成本高。研制出具有自主知识产权的MOCVD设备将是发展我国光电子产业的关键环节,意义重大,特别是随着“国家半导体照明工程”的启动,MOCVD的国产化已变得非常紧迫。
根据MOCVD控制系统的具体工艺要求,我们自主研发设计了基于PLC的MOCVD控制系统,该系统采用上位机和可编程控制器实现整个系统的控制和管理,现场试验运行表明该系统性能稳定,响应快速。
2 系统的组成及实现原理
本系统主要由计算机、Siemens PLC S7-300(控制单元的核心),温度控制系统、气体处理系统、反应室等组成。控制系统的基本结构见图1所示。
2.1上位机
选用工业控制计算机作为上位机,利用WINCC 工控组态软件通过MPI 和PLC 进行通讯,从PLC 得到信息,同时向PLC 传送命令,其负责对系统的监控、数据记录、报警记录、数据分析,参数配置。
2.2 PLC
选用PLC 作控制器,是因为其具有可靠性高、抗干扰能力强、硬件配套齐全、维护方便、适合于恶劣的工业应用环境等特点。PLC作为系统的核心控制器,负责整个系统运行,包括各种信号的采集、数据的处理以及各种输出信号的控制。输入信号采集包括各类仪表传感器的liuliang、压力、报警信号等。输出信号涉及电磁阀、接触器、电动机、压力控制器、liuliang控制器、RF感应加热器等控制量。
2.3 温度控制系统
温控器、感应加热器、上位机、PLC组成了系统的温度控制系统。这里的温控系统是一个闭环控制系统,温控器通过热电偶实时地采集反应室的温度,由RS232串口反馈给上位机,经过上位机的控制算法处理后,计算出合适的控制量,传送给PLC,由PLC运行程序控制感应加热器来控制反应室的温度。
2.4 气体处理系统
气体处理系统其硬件主要有经过化学抛光的不锈钢管道、气体纯化器、liuliang控制器、压力控制器、电磁阀和气动阀等组成。气体控制系统的主要作用是通过控制压力和liuliang控制器,调节气路上各种阀门的开度,从而达到控制各种气源配比的目的,并通过管道向反应室输送反应剂,为保证反应剂的纯度,要求管道的密封性要很好。
气路上压力与liuliang的控制均由压力和liuliang控制器来完成。传感器将采集来的实际测量值传送给控制系统,控制系统将采集的实际值,实时与设定值比较。如果用户对控制效果不满意,可以采用闭环回路控制,实时修改传送的设定值。
3 系统软件设计
系统的控制主要指通过PLC对信号进行自动和手动的控制,从而实现对加热系统、气体liuliang和气体压力、气动阀等的控制。我们设计的MOCVD控制系统有自动控制程序和手动控制程序两种控制方式,自动和手动可以互相切换控制。其子程序主要包括步序控制,模拟量输出控制,模拟量输入控制,数字量输出控制,数字量输入控制。
3.1 步序控制
在MOCVD控制系统中,根据不同的配方,所控制的步运行时间不同,所要求的循环位置都不同。本系统设计方案的一个设计难点,就是在编写程序的时候,无法预先确知循环体的开始及停止位置,如何编写一个可以供多种不同配方使用的程序。
针对MOCVD 系统工艺的要求,结合本系统运行流程,采用顺序控制设计法来控制不同步之间的动作和命令,执行不同步序循环控制策略。该方法灵活、准确地采用一个循环控制程序,根据不同配方,在不同循环位置,实现不同功能。其基本的思想是将系统的工作周期划分为50 个顺序相连的阶段,这些阶段称为步(Step),然后用编程元件(存储器位M)来代表各步,每步设定运行开始标志位和结束标志位,进入循环标志位和循环结束标志位,步之间的转换条件可以是外部中断输入“前跳”信号,或者是每步运行的定时器提供的信号。
对于处理不确定的循环位置问题,在每步结束时,判断该步循环结束标志位是否为1,如果不为1,则直接跳到下一步运行,如果为1 再读取剩余循环次数是否为0,如果为0 则跳到下一步运行,如果不为0 则剩余循环次数减1,跳到进入循环的步序运行。其算法流程如图2 所示。
3.2 模拟量输出控制
模拟量输出,主要包括8路压力、20路liuliang以及温度。在模拟量输出中,防止冲击是一项很重要的指标。为了防止冲击,输出时采用爬行渐增的输出控制策略,使模拟量的输出在额定时间内,准时渐增到所需要的输出值,每一次所递增的量要尽量的小,以降低冲击的可能性,保证生长的进行。
基本思想:每步运行开始时,读取步序号并调用该步的模拟量的目标设定值(IN2),前级步结束的输出值(IN1)及要爬升的步数(D),求出步进量S=(IN2-IN1)/D,再判断实际值和设定值的大小,决定实际值是加上或者减去步进量,然后再判断实际值是否达到设定值,如果满足则结束本步爬升。分两种情况考虑,步进量为大于等于0或为负,如图3所示为步进量S为大于等于0的程序算法流程图。
模拟量输出程序主要采用语句表(STL)的编程方法,它是一种类似于汇编的语言,执行速度高于梯形图,占用内存空间小,能够解决复杂的循环及跳步。针对于本系统多模拟量,步序复杂且循环不定,而CPU内存有限,此方案能很好的解决这个问题。
3.3 模拟量输入控制
MOCVD 控制系统有29 路模拟输入量,如果全部用模拟量输入模块直接输入,需要29 点的输入。这样设计成本较高,考虑到本系统对模拟量采集实时性要求不高,采用ADG408 译码选择通道,分时输入。每个ADG408 可以接入8 路模拟量信号,使用4 个模拟量通道,就可以输入32 路模拟量,本方案中模拟量输入子系统的成本可以大幅度降低。在系统实时性要求不高的情况下是一种较佳的选择。
模拟量输入子程序采用多路分时选择输入方案,通过译码器在某一时刻选择其中的一路作为输出传送到模拟量输入模块上的一个通道。ADG408 芯片译码选通和PLC 模拟输入量读数处理,在时序上应该严格区分,避免读数混乱。保证在译码选通和PLC 读数的任何时刻,仅有一路模拟输入量处于选通及输入读数状态。如图4 所示,8 路模拟量AI1—AI8,接入ADG408 中,编写程序输出数字量信号控制ADG408 的使能端EN,信号控制端A2、A1、A0,从而实现分时选择多路模拟量中的一路,将其输入到PLC 的模拟量输入模块中,数据进行相应的存储及处理。
3.4 数字量输出控制
数字数出量的控制对象主要由电磁阀、接触器、电机、气动阀等。对于数字量输出控制,其程序设计思想,在每步开始的时候,从相应的数据区中,调用本步对应数字量的数据,同时为了实现上位机实时控制的功能,首先判断上位机监控系统是否实时修改某个数字量的输出值,如果上位机修改了, 则数字量的有效输出值以上位机修改值为准,否则按配方表的配方设定的进行输出。
3.5 数字量输入控制
数字量输入控制主要指系统的报警及故障处理程序,报警程序设计包括自动和手动。报警信号由传感器检测,传送给PLC,程序根据报警信号做出相应的安全保护动作,给出触发信号使报警信号灯亮,蜂鸣器响,暂停系统运行,切断感应加热器、或者关闭相应的liuliang压力控制器。
4 结论
本文提出的控制系统应用于西安电子科技大学第二代MOCVD系统,相对于代MOCVD控制系统,特别在步序子程序设计和模拟量输出控制上有了很大的改进,在步序控制上采用顺序控制设计法来控制不同步之间的动作和命令,相对于代移位控制方法[2],步序控制法对于解决复杂循环的问题,更加灵活、可靠。在模拟量输出控制上采用PLC语句表(STL)的编程方法,编写模拟量渐进爬升子程序,解决了在代系统中,大量的模拟量输出由上位机来计算处理再通过PLC进行控制,造成上位机负载过大,控制延迟,响应速度较慢的问题。系统现场试验运行表明,该控制系统稳定、快速、安全,完全满足工艺的要求,具有很高的应用价值,同时本系统的研制成功将促进国内微电子行业的发展,在国内居于地位。
本文作者创新点:本文提出了一种基于PLC的MOCVD控制系统的设计及实现。特别是在软件程序设计上运用了先进的控制思想,采用顺序控制法解决了MOCVD系统中对于复杂步序的控制,在模拟量输出控制上采用了PLC的语句表(STL)编程方法,来编写模拟量渐进爬升子程序,其处理速度快于梯形图,内存占用少,解决了模拟量输出防止冲击的可能。本系统提出的控制方案,完全满足了系统