绍兴西门子一级代理商
弄通有关PLC程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办。复杂的就不好办了。不仅无从下手,而且花了很多时间与精力,也难编出效率较高、质量也较高的程序,常常是事倍功半。
但是,编程的具体实践,以及在这个实践中得来的知识或技能,即经验,也是重要的。没有经验,仅有理论,既无法深刻理解理论,又无法灵活应用理论。这正如学数学,如仅了解一些定理或记住一些公式,没有作相应的练习,肯定是学不好的。更不用说,任何理论也都只是经验的总结,归根到底也都有是来自实践。
1、 经验积累
经验有别人的,也有自己的,都很重要。前者要靠细心学习,后者要靠用心积累,都要在一定的时间与必要的精力。
别人的经验有上了书的或登载在杂志上的。有的是细心学习别人的,但多数是我自己的经验。所有的例子都经我测试过,都经实践证明是可行的。我想,别的书本或杂志上介绍的也会是这样的。所以学习这样杨功的经验是必要的。
还有就是你同事的经验,也是值得学习。这种经验离你很“近”,很易借鉴。
自己的经验则是较重要的。要在自己的实践中,积累自己的经验。同时,较好在学别人的经验时,也能亲自作些测试,能使自己也有类似的经历,进而把这些经验变成自己的。这也是自己经验的重要积累。
还有一些失败的经验,这往往是不会公开的,但这些经验也要学习,也要积累。
经验的积累要用自己的脑记,更要用电脑记。较好作些分类,建立一个自用的程序库,以便于随时引用。
2、 经验升华
经验还有待升华。升华有三个层次:
较低的层次就是建立一个典型的程序库,供今后再用。若程序复杂,还可建一些功能块,或子程序,以便以后引用。
其次,要总结出有效算法。如单按钮起停程序库等。
较高层次的升华是把经验上升到理论的高度,为丰富PLC程序设计理论作贡献。我想,随着PLC使用的普及与提高,是会有越来越多从经验中升华出来的,而又能用以指导实践的PLC编程理论的。
3、 经验应用
经验积累、经验升华都是为了应用。经验应用有三方面:
1) 用作工程设计模板。设计新系统时,选用一个或几个与现设计工程类似的,已取得成功的工程,作样板进行设计。这既可减轻设计的工作量,又增加设计的成功率。这也是信息可重用的一大好处。
2) 用作程序设计参考。在无成功的工程可作样板时,在新设计的逻辑中,仍有相当一部分控制逻辑,可采用或借用已有典型逻辑,这也可减少设计的工作量,增加设计的成功率。
3) 用作算法设计参考。在既无样板可参照,又无典型可采用时,还可运用过去的一些成功的算法。
经验是宝贵的,但是经验特别是个人经验,总是有限的。所以,经验的应用也还要与编程理论相结合
工控较重要的**是稳定,*二是稳定,*三还是稳定,而稳定不单是硬件方面,软件其实也非常重要,再有就是抗于扰。这里只谈PLC软件。
我把PLC程序规范为以下几个组成部分:
一、系统初始化,
二、过程或状态的描述(相当于继电、接触控制中的中间继电器),
三、人机操作控制(手动操作,参数修改等),
四、设备控制输出(电机、阀等),
五、通信(各控制设备间的互锁和数据交换)、
六、过程或状态的故障描述,
七、报警输出和故障位置等信息显示,
八、生产过程报表(产、质量等)。
下面主要谈谈过程或状态的描述和设备控制输出,因为这基本上是程序的主要部分。
程序好坏的标准:稳定、易调试、易修改、易扩展、易读、实时性(快)。在这么多年的实践中,我感到先由过程或状态的描述得到各种状态变量,再对设备输出进行编程能比较好的达到上述目标,可能它在快的方面有所欠缺(因为程序长一些)但这完全可以从其它方面得到解决(例如中断)。这种想法主要源自数学上的状态方程:Q=f(S1,S2,S3……..,Sn)其中Q为设备输出,S1、S2、S3…….Sn为状态变量(包括输入输出)。f是由指令系统组成的算法。一般地,在一个系统中状态变量是确定不变的(这取决于你的状态描述),就象组成世界的元素是是基本不变一样,所以只要改变算法就可以得到不同的控制输出,因此扩展和修改都非常方便。在调试和排除故障时,根据状态进程,可以很快找到故障原因。因为控制输出一般都是几种状态的函数(算法),它们是有冗余关系的,因此稳定可靠性、抗干扰性得到大大增强。PLC的容量包括I/O点数和用户存储容量两个方面。
(一)I/O点数的选择
PLC平均的I/O点的价格还比较高,因此应该合理选用PLC的I/O点的数量,在满足控制要求的前提下力争使用的I/O点较少,但必须留有一定的裕量。
通常I/O点数是根据被控对象的输入、输出信号的实际需要,再加上10%~15%的裕量来确定。
(二) 存储容量的选择
用户程序所需的存储容量大小不仅与PLC系统的功能有关,而且还与功能实现的方法、程序编写水平有关。一个有经验的程序员和一个初学者,在完成同一复杂功能时,其程序量可能相差25%之多,所以对于初学者应该在存储容量估算时多留裕量。PLC的I/O点数的多少,在很大程序上反映了PLC系统的功能要求,因此可在I/O点数确定的基础上,按下式估算存储容量后,再加20%~30%的裕量。存储容量(字节)=开关量I/O点数×10 + 模拟量I/O通道数×100另外,在存储容量选择的同时,注意对存储器的类型的选择。
PLCI/O模块的选择步骤与原则
一般I/O模块的价格占PLC价格的一半以上。PLC的I/O模块有开关量I/O模块、模拟量I/O模块及各种特殊功能模块等。不同的I/O模块,其电路及功能也不同,直接影响PLC的应用范围和价格,应当根据实际需要加以选择。
(一)开关量I/O模块的选择
1. 开关量输入模块的选择
开关量输入模块是用来接收现场输入设备的开关信号,将信号转换为PLC内部接受的低电压信号,并实现PLC内、外信号的电气隔离。选择时主要应考虑以下几个方面:
1)输入信号的类型及电压等级
开关量输入模块有直流输入、交流输入和交流/直流输入三种类型。选择时主要根据现场输入信号和周围环境因素等。直流输入模块的延迟时间较短,还可以直接与接近开关、光电开关等电子输入设备连接;交流输入模块可靠性好,适合于有油雾、粉尘的恶劣环境下使用。
开关量输入模块的输入信号的电压等级有:直流5V、12V、24V、48V、60V等;交流110V、220V等。选择时主要根据现场输入设备与输入模块之间的距离来考虑。5V、12V、24V用于传输距离较近场合,如5V输入模块较远不得**过10米。距离较远的应选用输入电压等级较高的模块。
2)输入接线方式
开关量输入模块主要有汇点式和分组式两种接线方式,
汇点式的开关量输入模块所有输入点共用一个公共端(COM);而分组式的开关量输入模块是将输入点分成若干组,每一组(几个输入点)有一个公共端,各组之间是分隔的。分组式的开关量输入模块价格较汇点式的高,如果输入信号之间不需要分隔,一般选用汇点式的。
3)注意同时接通的输入点数量
对于选用高密度的输入模块(如32点、48点等),应考虑该模块同时接通的点数一般不要**过输入点数的60%。
4)输入门槛电平
为了提高系统的可靠性,必须考虑输入门槛电平的大小。门槛电平越高,抗干扰能力越强,传输距离也越远,具体可参阅PLC说明书。
2. 开关量输出模块的选择
开关量输出模块是将PLC内部低电压信号转换成驱动外部输出设备的开关信号,并实现PLC内外信号的电气隔离。选择时主要应考虑以下几个方面:
1)输出方式
开关量输出模块有继电器输出、晶闸管输出和晶体管输出三种方式。
继电器输出的价格便宜,既可以用于驱动交流负载,又可用于直流负载,而且适用的电压大小范围较宽、导通压降小,同时承受瞬时过电压和过电流的能力较强,但其属于有触点元件,动作速度较慢(驱动感性负载时,触点动作频率不得**过1HZ)、寿命较短、可靠性较差,只能适用于不频繁通断的场合。
对于频繁通断的负载,应该选用晶闸管输出或晶体管输出,它们属于无触点元件。但晶闸管输出只能用于交流负载,而晶体管输出只能用于直流负载。
2)输出接线方式
开关量输出模块主要有分组式和分隔式两种接线方式,
分组式输出是几个输出点为一组,一组有一个公共端,各组之间是分隔的,可分别用于驱动不同电源的外部输出设备;分隔式输出是每一个输出点就有一个公共端,各输出点之间相互隔离。选择时主要根据PLC输出设备的电源类型和电压等级的多少而定。一般整体式PLC既有分组式输出,也有分隔式输出。
3)驱动能力
开关量输出模块的输出电流(驱动能力)必须大于PLC外接输出设备的额定电流。用户应根据实际输出设备的电流大小来选择输出模块的输出电流。如果实际输出设备的电流较大,输出模块无法直接驱动,可增加中间放大环节。
4)注意同时接通的输出点数量
选择开关量输出模块时,还应考虑能同时接通的输出点数量。同时接通输出设备的累计电流值必须小于公共端所允许通过的电流值,如一个220V/2A的8点输出模块,每个输出点可承受2A的电流,但输出公共端允许通过的电流并不是16A(8×2A),通常要比此值小得多。一般来讲,同时接通的点数不要**出同一公共端输出点数的60%。
5)输出的较大电流与负载类型、环境温度等因素有关
开关量输出模块的技术指标,它与不同的负载类型密切相关,特别是输出的较大电流。另外,晶闸管的较大输出电流随环境温度升高会降低,在实际使用中也应注意。
(二)模拟量I/O模块的选择
模拟量I/O模块的主要功能是数据转换,并与PLC内部总线相连,同时为了安全也有电气隔离功能。模拟量输入(A/D)模块是将现场由传感器检测而产生的连续的模拟量信号转换成PLC内部可接受的数字量;模拟量输出(D/A)模块是将PLC内部的数字量转换为模拟量信号输出。
典型模拟量I/O模块的量程为-10V~+10V、0~+10V、4~20mA等,可根据实际需要选用,同时还应考虑其分辨率和转换精度等因素。
一些PLC制造厂家还提供特殊模拟量输入模块,可用来直接接收低电平信号(如RTD、热电偶等信号)。
(三)特殊功能模块的选择
目前,PLC制造厂家相继推出了一些具有特殊功能的I/O模块,有的还推出了自带CPU的智能型I/O模块,如高速计数器、凸轮模拟器、位置控制模块、PID控制模块、通信模块等。