产品描述
西门子模块6ES7221-1BH22-0XA8厂家供应
在采用PLC对自动模切压痕机等包类机械实现电气自动化控制的系统中,像经典的继电-接触器控制系统中的大部分联锁控制都可转移到PLC中实现,继电-接触器控制系统大大地简化,成为只含有一些必要的电气联锁的MCC(MotorControlCentre)系统,成为PLC系统指令的有条件的执行者。
应保留继电-接触器的联锁
在PLC与继电-接触器系统综合设计中,这种联锁主要是指重要的联锁,包括人身和设备两方面。从人身的角度出发,应保留一些对人身至关重要的联锁,如事故开关、紧急停机装置等,这些开关一般要求采用非半导体的机电元件组成。从设备的角度出发,往往需要保留一些重要的限开关和保护手段。
PLC和MCC系统的接口
PLC和MCC系统的接口方法常见的有两种:一种是采用继电器隔离的方法,一种是PLC直接接受MCC系统的信号,并且由PLC直接驱动MCC中的接触器的方法。
采用种方法时,进人PLC的信号要先经过光电隔离继电器,再由其触点接入PLC的输入模板。PLC的输出信号也是动继电器线圈,然后再由继电器的触点参与MCC的联锁控制。这种方法的优点是:方便了PLC模板的选取,从而有可能降低PLC的造价,基本上了外部强电侵入PLC的可能性,有效地保证了PLC系统的运行。其缺点是增加了大量的继电器,从而增加了可能的新故障点。在实用中,应选用高质量的继电器,选用带有能指示吸合动作的发光器件的继电器。采用PLC和MCC系统直接接口的方法的优点是简单明了,整个控制系统的故障点少。缺点是系统的性不如种方法高。
工程实践中,两种方法应用都很广泛,而且很多系统中两种方法兼而有之。选取接口要视环境和具体条件、元件水平等灵活考虑决定。
I/O分站的热备
在一些对PLC系统性要求高的系统设计中,不仅要求主机有热备,有时还要考虑系统中某些I/O分站也要热备,出现故障时,实现I/0通道的自动或手动切换。
为了实现功能,在系统设计中应建立起两个一样的I/0分站,其系统的输人是并联的,而输出信号则要求可切换。作为自动切换的应用,切换装置应当是受PLC控制的。
就地操作
就地操作是指机旁单机操作,它有两种设计原则,一是不经过PLC,直接通过MCC盘控制电气设备,二是经过PLC,实则是又一种手动方式。但无论采用哪一种,上述人身、设备等必要的联锁仍然在继电-接触器系统中实现。
采用不经过PLC的就地控制方式,优点是就地操作试验时只要将转换开关一转换,就可脱离PLC,不用考虑PLC系统的硬软件问题,集中力量检验机械动作性能。国外设计一般都采用这种方法。缺点是增加了MCC盘上联锁的复杂性。如果采用经PLC就地操作,将就地开关接人PLC模板即可。这样外部电缆、MCC盘都显得简单。在远距离情况下,PLC输入可以通过选择高电压范围输人模板的办法保输人信号的性,输出由干是通过MCC盘直接控制继电器,消去了采用不经过PLC就地操作方式时继电器回路的长电缆,保证了继电器动作电压。所以这种方法也有优点。合理科学地编制PLC程序
PLC程序摒弃了微机常用的计算机编程语言的表达方式,具风格地形成一套以继电器梯形图为基础的形象编程语言和模块化的软件结构。用户根据PLC说明书的提示,就可以按照继电器梯形图和逻辑代数式来直接编程。但是在编制PLC程序过程中,使设备,其中重要的就是误操作影响。误操作主要包括人为误操作和系统本身产生的失误两方面。
1.人为误操作
1)手指颤动造成失误解决的方法是使用微分指令DIFU(13)来检索按钮送人电信号的上升沿,在一个执行周期里PLC只执行一次,从而避免些类误操作的发生,如图1中,00005为高压泵停止按钮,HR0005为低压泵起动标志位。当按下低压泵起动按钮00003时,信号转化为微分指令HR0005,HR0005在一个程序扫描周期里,只接收一个上升沿脉冲,从而过滤掉由于手指颤动产生多余的脉冲,保证定时器TIM000正常延时1min,确保高压泵按时起动。
2)无意误操作解决的方法有两种。一是通过程序来优化显示功能,减少人为失误,在设计中使用一个指示灯来显示各种不同的工作状态平光—显示系统处于运行状态高频闪光——显示系统处于试验状态,每1s闪1次;低频闪光——显示系统处于步进状态,每3s闪1次。二是通过输入信号之间的联锁,这种方法工作量大,考虑要,否则也会出现输入信号相互干扰,起反作用。图2是简化的梯形图,00003为1号低压泵起动按钮;00005为2号低压泵起动按钮;HR0400为1号主机停止24h后标志;HR0401为2号主机停止24h后标志。
图2的工作原理为1号或2号低压泵任意一台工作,1号2号互为备用,保证有一台在工作。1号2号低压泵停止按钮的常闭接点(00004,00006)互为联锁,当操作人员误按停机按钮00004(00006)时,程序会自动起动另台低压泵(2号或1号低压泵),从而避免造成低压泵停机严重事故的发生。HRO100为低压泵停机起动标志,常开(闭)接点广泛串联到各个相关回路中,尤其是串联到高压泵控制回路中,保证在低压泵未起动的前提下,起动高压泵无效,从而避免对高压泵的误操作。1号或2号低压泵起动后,HRO100得电,技术要求只有三种情况低压泵起动标志HRO100失电:1号2号主机00000、00001同时停运,且按下系统总停按钮00002;PLC上电复位信号25315;1号2号主机同时停运24h后HR0400、HR0401。除了上述三种情况外,总保持上电状态,保证整个控制系统的稳定,误按下系统总停按钮也不要紧。
2.系统本身产生的失误
由于PLC输人信号来源复杂,目PLC的动作响应时间远远短于继电接触控制系统的响应时间,因而在继电接触控制系统中不太引起注意的触点瞬间跳动问题,将会在PLC控制系统中产生误操作。
TIM000用于00104接点断开时,因机械振动影响出现的瞬间闭合,TIM001用于00104接点闭合时,因跳动与受干扰的影响出现的瞬间断开。CNT020用于保持输人的信号。HR0410、HR0411为相关的运行设备。
当00104(油位下限开关)断开后,由于以上原因造成00104瞬间闭合,起动定时器TIM000,如果在设定时间内,00104断开,则系统判定此次闭合为误动作,不执行以下程序;若00104在设定时间内仍为闭合,由系统判定此次闭合为正常的命令,通过计数器CNT020保持输入的信号,起动相关的运行设备;当00104闭合后,由于以上原因造成00104瞬间断开,方法同上,TIM000、TIM001的时间设定为#0002(0.2s),它不会对控制系统有什么影响。一般来讲TIM000,TIM001时间的设定值是按输入继电器吸合后立即断开这一过程的时间考虑的,约0.2~0.5s,在此范围内都可以达到触点跳动干扰的目的。如果时间设定值过大,将使系统动作延迟;太小,则收不到滤除干扰的效果。
4 模糊控制算法的PLC实现
在控制系统中选用了OMRON公司的CQM1型PLC。将模糊化过程的量化因子置入PLC的保持继电器中,然后利用A/D模块将输入量采集到PLC的DM区,经过限幅量化处理后,根据所对应的输入模糊论域中的相应元素,查模糊控制量表求出模糊输出量,再乘以输出量化因子即可得实际输出值,由D/A模块输出对pH值进行控制。
4.1 模糊控制算法流程
(1)将输入偏差量化因子Ke、偏差变化率量化因子Kec和输出量化因子Ku置入HR10~HR12中。(2)采样计算e和ec,并置入DM0000和DM0001中。
(3)判断e和ec是否越限,如越限令其为上限或下限值。否则将输入量分别量化为输入变量模糊论域中对应的元素E和Ec并置入DM0002和DM0003中。
(4)查模糊控制量表,求得U。
(5)将U乘以量化因子Ku,得实际控制量u。
(6)输出控制量u。
(7)结束。
4.2 查表梯形图程序设计
在模糊控制算法中,模糊控制量表的查询是程序设计的关键。为了简化程序设计,将输入模糊论域的元素[-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6]转化为[0,1,2,3,4,5,6,7,8,9,10,11,12],将模糊控制量表中U的控制结果按由上到下,由左到右的顺序依次置入DM0100~DM0268中。控制量的基址为100,其偏移地址为Ec×13+E,所以由E和Ec可得控制量的地址为100+Ec×13+E。梯形图程序如图4—1所示。其中DM0002和DM0003分别为E和Ec在模糊论域中所对应的元素,MOV*DM0031DM1000是间接寻址指令。它将DM0031的内容(即控制量地址100+Ec×13+E)作为被传递单元的地址,将这个地址单元的内容(即控制量U),传递给中间单元DM1000再通过解模糊运算得u,然后由模拟输出通道传送给D/A转换器。
5 结 论
将模糊控制与PLC相结合,利用PLC实现模糊控制,既保留了PLC控制系统、灵活、适应能力强等特点,又提高了控制系统的智能化程度。结果表明,对于那些大滞后、非线性、数学模型难以建立且控制精度和快速性要求不很高的控制系统,基于PLC的模糊控制方法不失为一种较理想的方案。只要选择适当的采样周期和量化因子,可使系统获得较好的性能指标,从而满足控制性能要求。
1、系统组成
某电厂化学水处理系统基础设备具有良好的可控性,利用PLC和工业控制计算机对其进行实时监控管理,系统基本组成如图1所示。
采用3台西门子公司的SIMATIC S5—115U可编程序控制器控制现场的一次设备,程控系统分为3套,依次为#1补给水处理单元、#2补给水处理单元、#3凝结水处理单元。
操作员站选用两台研华586工控机,软件开发平台选用美国Inbbtion公司的FIX5.5组态软件。FIX5.5是一种能完成数据采集及控制、报警、图形数据显示等功能的完整工业自动化软件,该版本在bbbbbbS或bbbbbbSNT环境下运行,采用了图形用户界面,相应其内部的图形处理是基于三代图形技术。
数据通信系统采用SINEC L2网,它把SIMATIC系列可编程序控制器以及工控机连成网络。SNEC L2是令牌总线网,网络传输介质是双绞线或光缆。每个节点通过总线连接器连到总线网上,在本系统中,三台PLC之间以及与两台工控机之间都实现了数据通讯。
该方案配置体现了分散控制系统的优点,即控制功能分散,操作管理集中。控制功能分散意味着系统实时响应快和系统危险分散,操作管理集中便于集中管理,方案配置还具有冗余特性。
2、PLC及其程序设计
2.1 SIMATIC S5-115U硬件组成及编程概要
可编程序控制器SIMATIC S5-115U采用标准的模块式结构,电源、CPU、各种I/O模件都插在一块母板上,并可以根据不同的I/O点数增加扩展母板,输入、输出模件和存储器的精细分级,使得这种装置具有较强的配置适应能力;通过通讯处理器和局部网,可方便地实现PLC之间及与计算机的通讯。
SIMATIC S5-115U的编程语言是STEP5,有3种表达方法,即控制系统流程图CSF,梯形图LAD和语句表STL。其中语句表STL接近于机器内部的控制程序,功能也比前两种方法丰富得多,因此在本系统实际编程应用中全部采用语句表STL。
STEP5的大特点是采用了结构化编程方法,并提供大量标准功能块如乘法功能块FB242、通讯功能块FB244等,使得编程工作大大简化,而且所编程序条理清晰,易于读懂、修改和测试,这一优点尤其在编制大型复杂程序时能显现出来。
要完成复杂任务,可以把整个程序分成一个个立的程序块,STEP5有5种块类型,即组织块(OB)、程序块(PB)、顺序块(SB)、功能块(FB)和数据块(DB),其中组织块(OB)用以管理用户程序,形成了操作系统和控制程序之间的接口,所有其它类型块在此被调用执行。功能块(FB)用于实现反复调用或者特别复杂的程序功能,这些功能块可以是系统以标准功能块的形式提供的,也可以由用户自己编制。例如标准功能块FB242就可以实现16位二进制乘法功能、FB244可以实现CPU与通讯处理器之间的数据传送,用到这些功能时可以直接调用这些功能块。
2.2 SIMATIC S5-115U大型程序的设计
以本系统#1补给水处理单元的控制程序为例,在组织块OB1内主要有下面几条语句,完成各功能块的无条件调用。
JU FB1 (定义PLC1向两台工控机传送的数据)
JU FB2 (定义两台工控机向PLC1传送的数据)
JU FB231 (完成PLC1与两台工控机之间通讯的基本设置)
JU FB232 (完成PLC1与PLC2、PLC3之间通讯的基本设置)
JU FB4 (实现自动控制及无扰切换功能)
JU FB3 (气动门及电动门控制)
JU FB10 (实现模拟量处理功能)
JU FB11 (报警处理)
在FB1、FB2内主要将需要通讯的数据分别写入某数据块如DB10的相应位,由此才能与通讯处理器中的变量一致。在FB231中调用两个STEP5本身提供的标准功能块FB244(发送数据)、FB245(接收数据),再根据通讯处理器填写一些必要的参数如接口、作业号等,从而实现数据通讯功能。在FB232内按照通讯处理器分配的数据位,定义3台PLC之间需要传送的数据。在FB4内根据生产工艺流程要求及操作规范,充分利用其它功能块及I/O模块传送的数据,实现系统的自动控制及无扰切换功能;针对多个被控对象相似的特点,分别编制了几个有代表性的功能块FB20、FB30、FB40,例如在FB4内多次调用了FB20以便解决PLC内某程序步时间和工控机画面显示时间保持一致的问题,而且FB20内又调用了乘法功能块FB244。FB3根据FB4发出的自动程序步指令去控制气动门、电动门及泵等现场设备。FB10负责所有模拟量的处理,在此调用了开方功能块FB5。FB11根据FB10转换出来的数据,对模拟量进行报警处理,在此一定要注意模拟量和PLC内部数字量的对应关系,以保证模拟量显示和报警的准确性。
3、工控机监控管理软件的设计
工控机监控管理软件在FIX5.5软件平台下完成,FIX55是一个模块化的软件系统,包括十几种软件模块,在此主要介绍开发本应用软件时所用到的几种软件模块。
(1) 系统配置模块(SCU):它主要完成网络、I/O驱动程序、数据库名称、系统启动参数及初始启动任务等配置。Inbbtion公司和三方厂商为PLC、I/O卡编写了300多种I/O驱动程序,如SIEMENS、OMRON、MODICON、ABB等公司产品的驱动程序,并提供I/O驱动程序开发工具包,供用户开发自己的I/O驱动程序。
(2) 数据扫描、报警和控制模块(SAC):它用来实现现场数据的扫描、信号调理、数据格式和数据类型的转换,报警条件判别及实现遥控输出等功能,SAC将处理的现场数据送入实时数据库,或将遥控输出的数据送到I/O驱动程序,以便实现遥控输出功能。
(3) 实时数据库管理模块(DATABASE BUILDER):它提供以交互方式建立实时数据库和在线显示/修改实时数据库的功能,它是系统运行的主要数据来源。用户需要在此做很大一部分工作,主要的是填写变量的标签名,从而将现场数据与数据库中的变量标签一一对应起来,以便在其它模块中调用此数据。在填写变量标签名时既要讲究规范性又要有技巧性,需要遵循FIX软件的语法要求,其次按照一定的分类标准定义标签名,以便在以后的数据查询及应用中提率。
(4) 绘图模块(DRAW):FIX拥有一个直观的、基于对象的图形化用户接口(GUI),它简化了图形开发过程。为了建立画面,可以用DRAW提供的工具箱(TOOL BOX)生成某些对象如阀门、泵、记录表等,并定义其动态特性,即对象基于现场数据改变状态、大小、颜色、产生旋转、移动等,例如阀门的开或关、泵的转或停,这些工作可以在一个对话框内完成,主要是将实时数据库中的变量标签与相应对象联系起来,从而使对象状态随着现场数据改变。为了减少图形开发时间,Inbbtion公司还提供了一个常用设备对象的图形库,其中有多种标准图形,可随时粘贴到用户画面中,同时用户可以把自己画好的常用图形保存到图形库中,以方便以后使用。
(5) 显示模块(VIEW):它的主要功能是动态显示由DRAW建立的画面,可以在多幅画面间切换、改变画面形态、输入数据、实现监控等,这就是提供给用户的实际操作画面。
4、系统功能
系统具有上位机监控功能和模拟盘监控功能,两者互为热备用方式并列运行。在上位机画面上设有上位机手动、上位机自动、上位机监视3种工作方式,方式之间的切换是无扰动的。
当系统需要由模拟盘监控时,上位机画面选择上位机监视工作方式。此时系统状态由模拟盘M/A转换开关状态决定,M/A置手动,可利用模拟盘按键在模拟盘上进行一对一手动操作。当M/A置自动时,系统可由自动程序实现水处理的自动控制。
当系统需要由上位机监控时,可在上位机画面上选择上位机手动和上位机自动功能。选择上位机手动时,可在上位机画面上实现就地设备的一对一手操。选择上位机自动时,可在上位机画面上进行自动启停控制,自动控制程序与模拟盘自动控制功能相同。
5、结束语
在大中型生产系统中,单机使用可编程控制器的时代已经过去,其与工控机的结合以及计算机网络的应用,大大提高了生产现场的自动化控制水平和管理水平,这是必然的趋势。
1 引言
随着计算机通讯技术的日益成熟及企业对工业自动化程度要求的提高,自动控制系统从传统的集中式控制向多级分布式控制方向发展,构成控制系统的PLC也就具备通信联网功能。在具体应用过程中,若要监视PLC内部的数据与运行状况,选用市场上的人机界面或组态软件,虽然功能丰富,但大都价格昂贵,尤其在一些中小规模的生产场合。所以许多企业希望能自己用语言开发一个简易实用的通信程序,通过面向对象的可视化编程语言VB6.0很容易地实现分布式监控。PLC等下位机控制生产过程,本地计算机进行实时监测或参与控制生产现场的参数。本文通过对OMRON的CPM1A小型机与上位计算机通信原理和通信方法的研究,介绍了如何用VB6.0实现上位计算机对PLC的实时监控,并了良好的效果。
2 监控原理
2.1 通信方法
上位机作为主站要能够通过PLC监控下层设备的状态,要实现上位机与PLC间的通信。由于串行通信具有线路简单、应用灵活、性高等优点,并且普通计算机均带有串行口,所以PC与PLC间通常采用串行通信方式。串行通信可以通过bbbbbbs的API函数实现,也可以串行通信控件实现,但后者较容易,本文采用VB的通信控件。如果只实现对一台CPM1APLC的监控,需要CPM1-CIFO1(OMRON提供的的RS232适配器)形成RS232C口与上位机通信;如果是实现对多台PLC的监控,则需用RS232—RS422/RS485转换器ADAM-4520和CPM1-CIF11(OMRON提供的RS422适配器)与上位机通信,多可连接32台PLC,连接方式如图1所示。
2.2 通讯协议
(1)通讯条件设计。要使上位机与下位机正确地交换数据,确保以下几点:
● 双方在初始化时要使波特率、数据位数、停止位数、奇偶校验均保持一致;
● 要严格按照PLC的通信协议的规定及帧格式编写PC的通信程序。
(2)通讯的命令帧设计。OMRON公司的CPMIA小型PLC的传输协议的一般格式为:
(3)通讯的响应帧设计
2.3 MSComm控件介绍
VB中的MSComm控件具有功能完善的串口数据发送和接收功能。 MSComm控件具有两种通信方式:事件驱动方式和查询方式[3]。因为查询方式占用CPU时间太多,我们采用事件驱动方式。要完成通信,必需正确设置MSComm控件的相关属性,本设计在窗体中对其进行初始化,主要包括端口设置,波特率设置,奇偶设置等。主要属性如表1所示。
3.1 串口初始化程序
If MSComm1.PortOpen <> True Then
MSComm1.PortOpen=True
End If
MSComm1.Settings=“9600,E,7,2”
MSComm1.bbbbbLen=0
MSComm1.InBufferCount=0
MSComm1.bbbbbMode=combbbbbModeText
MSComm1.Handshaking=comNone
3.2 计算机与PLC通信的VB程序
Public Function ReadData(ByVal bbbbbStr As bbbbbb, ByVal Num1 As Integer, ByVal Num2 As Integer) As bbbbbb
4 结束语
本文给出了利用VB中的MSCOMM控件实现上位机与多个PLC之间的通信方法,实现了上位机对多个PLC的实时监控。对于分布是控制系统大幅度地减小了通讯成本,具有一定的推广。
产品推荐