使用PLC,实际也就是使PLC能在系统自动化、网络化、信息化及智能化上有所应用。这里的关键是要做两个工作:一是进行PLC系统配置;二是进行PLC应用编程。这涉及PLC使用的硬件与软件两大方面。
1.系统配置
PLC系统配置就是根据现场需要选用性能合适的PLC,确定PLC硬件系统的构成。
(1)系统配置类型
主要有如下几种类型:
1)基本配置。对箱体式PLC,则仅用一个CPU箱体。CPU箱体含有电源、内装CPU板、I/O板及接线器、显示面板、内存块等,是一台完整的PLC。
CPU箱体依CPU性能分成若干型号,并依I/O点数,在型号下又有若干规格。基本配置就是选择一种满足实际要求的箱体。
对模块式PLC,基本配置选择的项目要多些。要选的内容如下:
CPU模块:它确定了可进行控制的规模、工作速度、内存容量等。选的合适与否至关重要,是系统配置中首先要进行的。
内存模块:它可在CPU规定的范围内选择,以满足存储用户程序的容量及其它性能的要求。
电源模块:有的PLC是与CPU模块合二而一的,有的是分开的。但这两者选的原则相同,都是依PLC用的工作电源种类、规格,和要否为I/O模块提供工作及信号电源,以及容量需要作选择。
I/O模块:依I/O点数确定模块规格及数量。I/O模块数量可多可少,但其最大数受CPU所能管理的基本配置所限制。
底板或机架:基本配置仅用一个底板或机架。但底板也有不同规格。所以,还要依I/O模块数作不同选择。有的PLC,如欧姆龙公司的CJ1机,无底板。这样的PLC就没有什么底板或机架可选择了。
2)扩展配置。箱体式PLC扩展配置是增加I/O箱体。I/O箱体有不同的型号和规格。可按所需增加的点数,选用相应的I/O箱体。
模块式PLC的扩展配置有两种:一种为当地扩展,另一种为远程扩展。
当地扩展配置:在基本配置的基础上,于当地增加I/O模块及相应底板或机架,这可使PLC的控制规模有较可观地扩大。
远程扩展配置:这种配置所增加的机架可远离当地,近的几百米,远的可达数千米。远程配置可简化系统配线,而且有的还可扩大控制规模。
3)特殊配置。特殊配置是指增加特殊(有的称功能或智能模块)I/O模块的配置。特殊配置后的PLC可进行哪些方面的控制,与所配置的特殊模块紧密相关。较常见的特殊模块按功能划分以下几种:
高速计数模块:可计入与处理高频脉冲信号,从处理几十kHz到几百kHz,甚至更高频率的都有。
位置控制模块:可通过输出脉冲控制位置移动量及位置移动速度。有单坐标控制的,双坐标控制的,还有多坐标控制的。双坐标或多坐标的还可实现两坐标运动协调。这实际是数控技术通过PLC特殊单元予以实现。
模入、模出模块:可把模拟量转换成数字量存于输入通道中,或把输出通道的数字量转换成模拟量输出。可对一路信号作转换,也可对多路信号转换。有的既有模入,又有模出。
温度检测控制模块:温度也是模拟量,温度检测控制模块只是它做了更多的预处理工作,如可适用不同的温度传感器,可测的温度范围也可相应选择,用起来更方便。检测模块只能用于读温度值并显示,也可用做处理,但要另编程序。而控制模块可自成控制回路,无须编程,也无须PLC运行相关程序,即可实现温度控制。
回路控制模块:用于进行模拟量的回路控制。有的自身带模拟量输入、输出点。如上述温度控制模块一样,既能采集模拟量数据,又能进行数据计算、处理,进而产生控制输出,可完整地实现模拟量控制。而有的自身没有模拟量输入、输出点,只用于进行有关控制算法计算。使用它,虽然必须与别的模拟量输入、输出模块配合,但它的控制计算能力很强,可完成几十、几百路的有关控制运算,使PLC实现很复杂的模拟量控制。
其它特殊模块:如计算机模块,可把有关个人计算机的主板、外设做成PLC的模块,插在底板上,可直接与PLC通信。再如ASCII单元,也具有运算与通信功能,可协助PLC的CPU作数据处理。
更特殊的配置算是多CPU配置,即一个PLC系统或机架中可配置多个CPU模块。这多个CPU可以是不同功能的,也可以是同一功能的。这些CPU模块共享系统I/O总线,但各控制各的I/O模块或对象。同时,各CPU间又可方便地交换数据,进行控制协调。这样的系统,将极大地提升PLC控制规模与功能,是目前大型PLC发展的新动向。
4)安全配置。是为了确保系统安全而进行的配置。可选用安全PLC,也可使用冗余配置。后者指的是除所需的模块之外,还附加有多余模块的配置。目的是提高系统的可靠性。能否进行冗余配置,可进行什么样的冗余配置,代表着一种PLC适应特殊需要的能力,是高性能PLC的一个体现。一般的PLC是不具备这个性能的。
冗余配置的目的是提高整个系统的可靠性。冗余配置能提高可靠性是因为:PLC是由各种模块组成的,而各模块都有其统计出的可靠度及失效率。在PLC非冗余配置时,任一模块出现故障,都会影响PLC工作。按若干独立事件构成的事件概率计算原则,PLC的可靠度应为组成它的各模块可靠度的乘积。即
R=R1R2R3…Rn
式中 R——PLC的可靠度;
R1~Rn——各模块的可靠度。
如有10个模块组成,各模块的失效率(以规定寿命计)为万分之一,则其可靠度为1-1/10000=9999/10000。这10个模块构成的系统的可靠度近似为(9999/10000)10≈999/1000。其失效率为1-999/1000=1/1000。
若为100个模块构成的系统,其失效率将为1/100。可知,系统越大,组成的模块越多,出现故障的几率也越大。
但若为冗余配置,情况就不同了。热备也好,表决系统也好,必须至少有两个模块出现故障系统才不能工作。这两个模块同时出现故障这种独立事件,构成系统出故障的合成事件,其概率关系也是乘,只是失效率的乘。同样以上例作讨论,若这100个模块均为热备,或三选一,则只有在两个相同的模块同时出现故障时,系统才失效。其故障率的计算可先分别算出各模块的失效率,再合成算PLC的可靠度。即
由于各模块为热备或三选一,两个同时失效,模块才失效。两个模块同时失效的几率为(同样以单模块失效率为万分之一计):(1/10000)×(1/10000)=1/108。即亿分之一的几率。
再算PLC失效率的几率为1-(9999999/108)100≈1/1000000。为百万分之一。确实是万无一失。
当然,实际上不会所有的模块都三取一或热备,所以失效率会比这个大。
5)连网配置。为提高控制性能,往往要把在地理上处于不同位置的PLC与PLC,或PLC与计算机,或PLC与其它控制装置或智能装置通过传送介质连接起来,实现通信,以构成功能更强、性能更好的控制系统。
要不要组网,如何组网,选用什么样的通信模块,是在配置PLC时要考虑的重要侧面。连网是PLC技术发展中的活跃领域,内容非常丰富,并不断有新的技术及系统推出。
6)附加配置。附加配置是为PLC配备外部设备。目的是为PLC程序的编制、调试、存储,以及数据的显示、存储及打印提供条件。
附加配置就是按需要选用这些外设,以使所配置的PLC系统合乎设计要求。
(2)系统配置方法
系统配置方法与配置类型有关。如不考虑网络配置,可以用类比法、估算法、计算法及测试法。这4个方法不互相排斥,而是互相兼容与补充。为了正确地进行系统配置,这4个方法可能都要用到。
1)类比法。类比法也就是经验法。用自己的或别人的经验与所要配置的系统作类比。从类比中初步确定要选用什么厂商的PLC,用什么型号,用哪些模块等。
类比法虽不很准确,但由于有经验作借鉴,对一些较为简单的系统倒是一种简便的方法,既快而又有把握。
当然,一些复杂的系统,由于共同性少一些,不大好类比。但类比也仍可作粗略参考,特别可用以确定用什么厂商的PLC,什么类型的PLC。
要注意的是,在类比时一定要考虑PLC的发展,应使用新的机型替代旧机型。
2)估算法。估算法主要用于算I/O点数,以粗略确定PLC的型别,用大型机、中型机、小型机还是微型机。因为机型与厂商有关,还与PLC的结构相联系,估算好了可较有把握地进行配置。
估算法首先算所需的I/O点数。I点数Ni为
式中 Ei——系统所使用的某类输入器件的总数,如用了5个按钮,则为5;
Pi——该类器件可能处于的工作状态,如按钮,一般处于按下与松开两种状态。再如多位开关,可处于多种状态;
I——输入器件类型总数。
O点数No为
式中 Ei——所使用的某类输出元件总数;如用了一台正、反转电机即为1;
Pi——该类输出器件可能处于的工作状态,如电机要求其正、反转则有3种状态,即
正转、反转及停车;
J——输出器件的类型总数。
开关量总数N=Ni+No。
另外,模拟量也要估算。有多少监视量就有多少路输入。有多少控制输出,就有多少路输出。比较好算。
估算出I/O点数及模拟量路数后,可依大、中、小型机划分的大致标准,估算要选用的PLC机型。
一般大、中、小机型间点数均有搭接,没有把握不妨都作考虑,再用计算法进一步确定。
3)计算法。它是估算的再精确一步。要确定用什么模块,用多少模块。一般要作4方面的计算:
(a)模块数计算。确定了I/O点数,还要按I/O的物理要求,确定各用什么样的模块。(www.xing528.com)
对输入点,要依输入信号电压区分,是交流的,还是直流的?信号间有什么隔离要求?进而确定选用多少种,各有多少输入点的模块。
对输出模块要考虑输出型式,是继电器、半导体,还是晶闸管?还有就是公共回路。一般点数多的模块,其公共回路就少,反之则多。选用公共回路多的模块便于电路配线,但要用的模块多。
选定了模块类型,再依I/O总数计算模块数。
模拟量也有相应的模块要选择。如有的是4路入或8路入,有的是2路出或1路出,有的有入还有出等。选了合适的模块之后,再根据总的路数计算模块数。
I/O模块数计算之后,再计算要使用的机架槽位数,进而确定机架数。
(b)电源容量计算。必要时,PLC电源容量也要作计算。箱体式PLC的电源容量一般为自动满足,可不考虑。只是在确定隔离变压器(市电电源经隔离变压器再加载到PLC,以减少电网对PLC的干扰)时,对变压器的容量要稍作计算。模块式的电源种类较多,要作相应计算,然后再选型。
(c)响应时间计算。一般信号响应时间与PLC的循环时间有关,而循环时间与PLC的程序量有关。要计算不大容易。没有编好程序,则无法知道程序有多长?而且,同样长的程序,用的指令不同,循环时间也不相同。当然,计算也可能,只是得放在编程之后。
有的PLC厂商提供经验公式:大体的关系是内存总量与要使用的点数有关,这既可用以确定选多大容量的内存,也可大体确定循环时间。算出循环时间后,就可进一步计算响应时间了。
特殊输入量的响应时间更要分别计算。有的可查有关模块的特性。
(d)投入费用计算。在模块种类及数量确定后,一般还要依报价进行投入费用的计算。
如果配置的方案多,对每个方案的投入费用也都要计算。
费用计算精确有利于依经济性原则对系统进行配置。
4)测试法。系统配置时,一些重要的数据不仅要计算,有的还要进行实际测试。如循环时间,可把编完的程序送入到PLC进行实际测定。有的数据可由厂方提供,或委托厂方作测试。
类比、估算、计算及测试运用得好,可使所配置的系统建立在科学与经验的基础之上,将有助于使系统配置得更为完善。
(3)系统配置步骤
一般讲,不考虑网络配置,其配置步骤如下:
1)用类比法 大致确定可选用的厂商产品及机型,确定时要遵循发展性及继承性原则。
2)用估算法 估算I/O点数及模拟量路数,并确定要选用的机型。
3)用计算法 依完整性原则计算所需的模块数。这里可能有多个方案,那就应计算出各个方案的结果。
4)再依可靠性要求,考虑必要的冷备份、热备份或冗余配置。若为一般系统,这个步骤可省略。
5)计算各个方案的投入费用,并依经济性原则选其中最优者。
6)必要时再进一步作性能计算或进行实物测试。再根据计算或测试结果,对原有的配置作修正。
网络配置相对要复杂一些,可参阅作者另一专著《PLC网络系统配置指南》。在此就不具体介绍了。
2.程序设计
PLC程序只能由用户编制,厂商不提供。而PLC若没有程序,则什么事情也干不了。以下分别对程序设计步骤及程序设计方法予以介绍。
(1)程序设计步骤
仅就单机系统而言,程序设计的步骤大体如下:
1)弄清工艺。首先要弄清使用PLC的目的,要用到PLC的哪些功能。其次,要弄清两方面情况:一为输入、输出部件的特性与分布,即系统的空间情况;二为系统工艺过程,即系统的工作进程。
(a)空间情况。弄清各输入部件的性能、特点,并分配相应的输入点与其连接。分配时,既要考虑布线简单,还要避免信号受外界干扰;弄清各输出部件的性能、特点,分配相应的输出点与其接线;如可能,接输出部件的模块最好能与输入部件的模块适当隔开,以避免输出信号对输入的干扰;此外,还要考虑在编程时地址使用的方便。弄清了这些,才便于合理地分配I/O地址。
(b)进程情况。弄清被控对象的工作要求、工艺过程及各种关系;弄清其工艺过程,看它是怎么开始的,怎么展开的,怎么终止的;弄清输出与输入的对应关系;如果存在时序关系时,两者的时序是怎么对应的。弄清要采集、存储、传送哪些数据;弄清有哪些互锁、连锁关系;有哪些特殊要求。弄清这些问题才能着手设计算法,也才能进一步进行程序设计。
2)配置与设定硬件。为了PLC能按要求工作,在使用PLC之前,要对PLC的硬件作必要的配置与设定。如配置什么CPU及其它模块。设定特殊模块的机号、PLC上电时工作模式(是运行、监控还是编程)等。有的厂商的PLC还可对PLC的内部器件(如要使用多少定时器、计数器等)进行分配或指定。
PLC出厂时,厂商多有其默认设定。但对较复杂的系统,用户必须有合乎自己情况的设定。一般说,硬件设定在开始编程之前是必须进行的。
3)分配I/O。分配I/O指的是给每一个I/O模块、每一个输入、输出点分配地址。这是编程所绝对必需的。
4)设计程序。选择编程语言,逐一编写指令。要一条条指令的编,若为梯形图编程,则应一个图形符号一个图形符号的画,最终要形成一个指令集,或完整的梯形图。
5)调试程序。编写PLC程序是很细致的工作,差错总是难免的。而任何一点差错,即使是一小点,都可能导致PLC工作出现故障。所以,编写程序后,还要进行调试,纠正种种差错。
6)存储程序。把程序录入计算机后,就要作存储。甚至开始编程时,编一部分就要存储一部分。随着程序调试通过及试运行过程的不断完善,还要不时地作存储。
7)程序保护。可以用硬件,也可软件保护。
硬件:有的PLC用硬件开关设置程序保护。读写DIP开关ON保护,否则,不保护。
软件:有的用软件设定保护,如欧姆龙CPM机是DM6602字的0位,设为1,保护;0不保护。
8)程序加密。程序保护可保证程序不被删除或修改。但其它人可读它,重用它。为了保护知识产权,可对程序加密。
PLC程序加密的方法有用指令加密、用编程软件加密。可全程序加密,也可局部加密。
9)程序加锁。除了程序保护、加密,对程序还可加锁。可做到即使PLC程序正常运行,但不产生控制输出。加锁可用置位PLC的输出禁止位实现,也可用自编的一段小程序,使相应的输出禁止。
(2)程序设计方法
PLC编程方法很多。但归纳起来,主要是经验编程与算法编程两种。
1)经验编程。是运用自己的或别人的经验编程。有三个层次:
用作工程设计模板:设计新系统时,选用一个或几个与现有工程类似的、已取得成功的工程作样板进行设计。这可减轻设计工作量,增加设计成功率。这也是信息可重用的一大好处。
用作编程参考:在无成功的工程可作样板时,在新设计的逻辑中,仍有相当一部分控制逻辑,可采用或借用已有典型逻辑,这也可减少设计工作量,增加设计成功率。
用作算法设计参考:在既无样板可参照,又无典型逻辑可借用时,还可运用过去的一些成功的算法。
经验是宝贵的,但是,经验、特别是个人经验总是有限的。所以,经验的应用也还要与编程理论相结合。而本书所做的就是结合作者积累的编程经验,开展编程理论及相关算法研究,为与读者经验相结合提供参考。
2)算法编程。针对问题首先要设计算法,再根据所设计的算法编程。
算法(Algorithm)原是数学计算的名词。在公元前200多年,欧几里得根据自然数的理论,在他的《几何原本》(Euclid's Elements,第VII卷,命题i和ii)一书中,提出了求解两个自然数最大公因数的“辗转相除算法”,使得这个最大公因数的求解变得很容易了。这说明算法对于解决计算问题的重要性。
数学计算算法可用文字、公式、图形表达。应该是有限的、明确的及可实现的步骤。对照数学计算算法,PLC算法则是用文字、公式、图形表达的、实现输入输出变换的、有限的、明确的及可实现的步骤。
正如数学计算算法不等于数学计算一样,PLC算法也不是PLC程序。只是PLC程序的原型、雏形、思路,PLC无法执行。而程序则是算法的具体化,PLC可以执行。
(a)算法设计。PLC算法设计与PLC的应用有关。用于顺序控制有顺序控制算法,用于模拟量控制有模拟量控制算法等。同时,算法设计还要用到相关控制的理论。
算法设计是问题的综合,可能有很多解决方案。所以,算法设计还有个算法优化问题。为此,需要对算法进行分析或评价。评价数学算法的主要依据是算法的时间复杂度与空间复杂度。PLC算法评价也类似,也要看时间复杂度,看算法步骤多少及执行各步骤的时间。也要看空间复杂度,看算法预计要使用的硬件资源。显然,所用的步骤越少、时间越短、使用的硬件资源越少,这个算法就越好。
本书以后各章的内容,主要是根据相关理论研究实际应用的种种算法,并且,还要探讨怎样用目前国内最常用的PLC去实现这些算法。
(b)算法实现。就是根据算法要求编写相应PLC程序。它涉及的问题有指令选用及资源利用等问题。
指令选用与PLC编程语言的选择、编程软件或编程工具的使用密切相关。至于具体选用什么指令,应做到:先用、多用高效率和执行时间短的指令。要使所编的程序比较简练、运行时间短、程序的可读性好。
资源利用涉及I/O分配及内部器件,如定时器、计数器、存储器的运用。I/O分配除了考虑实现算法的方便,还要考虑硬件接线及防止输入信号受干扰。一般讲,PLC的内部器件是足够多的,但也要运用得当,要有规律性,便于理解、查找和调整等。
至于针对种种问题如何设计算法,如何实现算法,则是本书的任务。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。