西门子镇江授权代理商
工控较重要的**是稳定,*二是稳定,*三还是稳定,而稳定不单是硬件方面,软件其实也非常重要,再有就是抗于扰。这里只谈PLC软件。
我把PLC程序规范为以下几个组成部分:
一、系统初始化,
二、过程或状态的描述(相当于继电、接触控制中的中间继电器),
三、人机操作控制(手动操作,参数修改等),
四、设备控制输出(电机、阀等),
五、通信(各控制设备间的互锁和数据交换)、
六、过程或状态的故障描述,
七、报警输出和故障位置等信息显示,
八、生产过程报表(产、质量等)。
下面主要谈谈过程或状态的描述和设备控制输出,因为这基本上是程序的主要部分。
程序好坏的标准:稳定、易调试、易修改、易扩展、易读、实时性(快)。在这么多年的实践中,我感到先由过程或状态的描述得到各种状态变量,再对设备输出进行编程能比较好的达到上述目标,可能它在快的方面有所欠缺(因为程序长一些)但这完全可以从其它方面得到解决(例如中断)。这种想法主要源自数学上的状态方程:Q=f(S1,S2,S3……..,Sn)其中Q为设备输出,S1、S2、S3…….Sn为状态变量(包括输入输出)。f是由指令系统组成的算法。一般地,在一个系统中状态变量是确定不变的(这取决于你的状态描述),就象组成世界的元素是是基本不变一样,所以只要改变算法就可以得到不同的控制输出,因此扩展和修改都非常方便。在调试和排除故障时,根据状态进程,可以很快找到故障原因。因为控制输出一般都是几种状态的函数(算法),它们是有冗余关系的,因此稳定可靠性、抗干扰性得到大大增强我们要了解plc在工业控制中为什么具有高度可靠性与稳定性的原因,首先我们要了解PLC 的工作原理,PLC可编程序控制器采用周期循环扫描方式,在执行用户程序过程中与外界隔绝,从而大大减小外界干扰;在硬件方面,采用良好的屏蔽措施、对电源及I/O电路多种形式的滤波、CPU电源自动调整与保护、CPU与I/O电路之间采用光电隔离、输出联锁、采用模块式结构并增加故障显示电路等措施;在软件方面,设置自诊断与信息保护与恢复程序。PLC由于采用现代大规模集成电路技术,采用严格的生产工艺制造,内部电路采取了先进的抗干扰技术,因此用PLC实现对系统的控制是非常可靠的。这是因为PLC在硬件与软件两个方面都采取了很多措施,确保它能可靠工作。事实上,如果PLC工作不可靠,就无法在工业环境下运用,也就不成其为PLC了。
1、在硬件方面:
PLC的输入输出电路与内部CPU是电隔离。其信息靠光耦器件或电磁器件传递。而且,CPU板还有抗电磁干扰的屏蔽措施。故可确保PLC程序的运行不受外界的电与磁干扰,能正常地工作。
PLC使用的元器件多为无触点的,而且为高度集成的,数量并不太多,也为其可靠工作提供了物质基础。在机械结构设计与制造工艺上,为使PLC能地工作,也采取了很多措施,可确保PLC耐振动、耐冲击。使用环境温度可高达摄氏60度,有的PLC可高达80--90度。
有的PLC的模块可热备,一个主机工作,另一个主机也运转,但不参与控制,仅作备份。一旦工作主机出现故障,热备的可自动接替其工作。
还有更进一步冗余的,采用三取一的设计,CPU、I/O模块、电源模块都冗余或其中的部分冗余。三套同时工作,较终输出取决于三者中的多数决定的。这可使系统出故障的机率几乎为零,做到万无一失。当然,这样的系统成本是很高的,只用于特别重要的场合,如铁路车站的道叉控制系统。
2、在软件方面:
PLC的工作方式为扫描加中断,这既可保证它能有序地工作,避免继电控制系统常出现的"冒险竞争",其控制结果总是确定的;而且又能应急处理急于处理的控制,保了PLC对应急情况的及时响应,使PLC能可靠地工作。
为监控PLC运行程序是否正常,PLC系统都设置了监控程序。运行用户程序开始时,先清定时器,并开始计时。当用户程序一个循环运行完了,则查看定时器的计时值。若**时(一般不**过100ms),则报警。(//www./版权所有)严重**时,还可使PLC停止工作。用户可依报警信号采取相应的应急措施。定时器的计时值若不**时,则重复起始的过程,PLC将正常工作。显然,有了这个监控程序,可保证PLC用户程序的正常运行,可避免出现"死循环"而影响其工作的可靠性。
PLC还有很多防止及检测故障的指令,以产生各重要模块工作正常与否的提示信号。可通过编制相应的用户程序,对PLC的工作状况,以及PLC所控制的系统进行监控,以确保其可靠工作。
PLC每次上电后,还都要运行自检程序及对系统进行初始化。这是系统程序配置了的,用户可不干预。出现故障时有相应的出错信号提示。
正是PLC在软、硬件诸方面有强有力的可靠性措施,才确保了PLC具有可靠稳定工作的特点。它的平均无故障时间可达几万小时以上;出了故障平均修复时间也很短,几小时以至于几分钟即可
西门子S7-200plc程序数据的断电保存方法,主要可分三种,其数据断电保存方法及特点如下:
一、在系统块中设置断电数据保持功能来保存数据。
在S7-200的编程中,系统块中有一项功能为断电数据保持设置,设置范围包括V存储区、M存储区、时间继电器T和计数器C(其中定时器和计数器只有当前值可被保持,而定时器位或计数器位是不能被保持的)。其基本工作原是在PLC外部供电中断时,利用PLC内部的**级电容供电,保持系统块中所设置的断电数据保持区域的数值保持不变,而将非保持区域的数据值归零。由于**级电容容量的限制,在西门子的资料中宣称只能保存几天时间。对于M存储区中的**四个字节(即MB0-MB13),当设为断电数据保持,在PLC外部供电中断时,PLC内部自动将以上存储区的数据转移到EEPROM中,因此可实现断电*保存。
若需更长的RAM存储器断电数据保存时间,西门子公司可提供一个可选的电池卡,在**级电容耗尽后继续提供电能,延长数据保存时间(约200天)。
二、在编程时建立数据块来保存数据。
在程序设计的编程阶段,可在编程中建立数据块,并赋予需要的初始值,编程完成后随程序一起下载到PLC的RAM存储器中,CPU同时自动将其转存于EEPROM,作为EEPROM储器中的V数据永存储区。因EEPROM的数据保存不需要供电维持,所以可以实现*保存。若在系统块中相应V存储区未设为断电数据保持,在每次PLC上电初始,CPU自动将EEPROM中的V数据值读入RAM的V存储区。若相应V存储区设为断电数据保持,在每次PLC上电初始,CPU检测断电数据保存是否成功。若成功,则保持RAM中的相应V数据保持不变。若保存不成功,则将EEPROM中的相应V数据值读入RAM的V存储区。此方法只适用于V数据的断电数据保存。
三、在程序中用SMB31和SMW32来保存数据。
在程序中将要保存的V存储器地址写入SMW32,将数据长度写入SMB31,并置SM31.7为1。在程序每次扫描的末尾,CPU自动检查SM31.7,如果为1,则将*的数据存于EEPROM中,并随之将SM31.7置为零,保存的数据会覆盖先前EEPROM中V存储区中的数据。在保存操作完成之前,不要改变RAM中V存储区的值。存一次EEPROM操作会将扫描时间增加15至20毫秒。因为存EEPROM的次数是有限制的(较少10万次,典型值为100万次),所以必须控制程序中保存的次数,否则将导致EEPROM的失效。
结合以上的了解和工地调试的经验,在实际应用中,若遇到需程序数据保持的时候,要多种方法结合运用以达到较理想的结果。针对程序中需保存数据的不同,采取不同的方式实现。对于需在程序**次运行时进行预置并在程序运行过程中个别情况下进行重新设置的数据,如高度、荷重等相关标定参数,可在程序的数据块中建立数据,并赋予初始数值。同时在程序中编入SMB31和SMW32命令,在相关条件下对EEPROM的V数据区进行重新保存,修改先前的初始值。示例如下,当进行参数设置时,置M0.0为1,完成一次VD100的EEPROM存储器保存操作。
对于程序运行过程中数值变化比较频繁,且需断电长期保存的数据,则可将数据存于MB0至MB13存储区,且系统块的断电数据保存设置中将相应的M存储区设为断电数据保存。也可使用程序中的V存储区,在必要时如上图所示进行一次程序数据存储,而在断电数据保持设置中可选取,也可不选取