泉州西门子(中国)授权总代理商
泉州西门子(中国)授权总代理商
一、翻译法
翻译法是用所选机型的PLC能相当的软器件,代替原继电器—接触器控制线路原理图中的器件,将继电器—接触器控制线路翻译成PLC梯形程序图的方法。
1.设计步骤
2.设计举例
图1为用翻译法将原有继电器—接触器控制线路改用PLC进行控制的电路图和梯形图
二、功能图法
功能图又称状态流程图,主要是针对顺序控制方式或步进控制方式的程序设计。
1.设计步骤
2.设计举例
三、逻辑设计法
在进行程序设计时以布尔逻辑代数为理论基础,既以逻辑变量“0”或“1”作为研究对象,以“与”、“或”、“非”三种基本逻辑运算为分析依据,对电气控制线路进行逻辑运算,把触点的“通、断”状态用逻辑变量“0”或“1”来表示具有多变量的“与”逻辑关系表达式可以直接转化为触点串连的梯形图。如图2(a)所示。
具有多变量的“或”逻辑关系表达式可以直接转化为触点并联的梯形图。如图2(b)所示。
具有多变量“与或”、“或与”逻辑关系表达式可以直接转化为触点串并联的梯形图。如图2(c)所示。
输出模块的功率放大元件有驱动直流负载的大功率晶体管和场效应管、驱动交流负载的双向晶闸管,以及既可以驱动交流负载又可以驱动直流负载的小型继电器。输出电流的典型值为0.3~2A,负载电源由外部现场提供。
图2-5是继电器输出电路。内部电路使继电器的线圈通电,它的常开触点闭合,使外部负载得电工作。继电器同时起隔离和功率放大作用,每一路只给用户提供一对常开触点。与触点并联的RC电路和压敏电阻用来消除触点断开时产生的屯弧,以减轻它对CPU的干扰。
图2.6是晶体管集电极输出电路。。输出信号送给内部电路中的输出锁存器,再经光耦合器送给输出晶体管,后者的饱和导通状态和截止状态相当于触点的接通和断开。图中的稳压管用来抑制关断过电压和外部的浪涌电压,以保护晶体管,晶体管输出电路的延迟时间<1ms。场效应管输出电路的结构与晶体管输出电路基本上相同。
除了上述几种输出电路外,还有双向晶闸管输出电路,它用光电晶闸管实现隔离。双向晶闸管由关断变为导通的延迟时间小于1ms,由导通变为关断的延迟时间小于10ms。晶闸管在负载电流过小时不能导通,遇到这种情况时可以在负载两端并联电阻。
除了输入模块和输出模块,还有一种既有输入电路又有输出电路的模块,输入、输出的点数一般相同,这种模块使用户确定PLC的硬件配置更为方便。
输出电流的额定值与负载的性质有关,例如FX的继电器输出模块可以驱动2A/220V AC的电阻性负载,但是只能驱动80VA/220V AC的电感性负载和100W的白炽灯。额定输出电流还与温度有关,温度升高时额定输出电流减小,有的PLC提供了有关的曲线。
由于散热的原因,有的输出模块需要考虑属于同一公共点(COM)的几个输出点的总电流,例如FX的晶体管输出模块的额定输出电流是0.5A/点,0.8A/COM。
继电器输出模块的使用电压范围广,导通压降小,承受瞬时过电压和过电流的能力较强,但是动作速度较慢,寿命(动作次数)有一定的限制。如果负载的通断变化不是很频繁,建议优先选用继电器型的。
晶体管型与双向晶闸管型模块分别用于直流负载和交流负载,它们的可靠性高,反应速度快,寿命长,但是过载能力稍差
1. 条件跳转指令CJ
2. 子程序调用指令CALL与返回指令SRET
3. 中断返回指令IRET、允许中断指令EI与禁止中断指令DI
4. 主程序结束指令FEND
5. 监视定时器刷新指令WDT
6. 循环开始指令FOR与循环结束指令NEXT
1、条件跳转指令CJ
CJ、CJP指令用于跳过顺序程序某一部分的场合,以减少扫描时间。条件跳转指令CJ应用说明如图
2、子程序调用指令CALL与返回指令SRET
子程序应写在主程序之后,即子程序的标号应写在指令FEND之后,且子程序必须以SRET指令结束
3、中断返回指令IRET、允许中断指令EI与禁止中断指令DI
PLC一般处在禁止中断状态。指令EI~DI之间的程序段为允许中断区间,而DI~EI之间为禁止中断区间。当程序执行到允许中断区间并且出现中断请求信号时,PLC停止执行主程序,去执行相应的中断子程序,遇到中断返回指令IRET时返回断点处继续执行主程序。
4、主程序结束指令FEND
FEND指令表示主程序的结束,子程序的开始。程序执行到FEND指令时,进行输出处理、输入处理、监视定时器刷新,完成后返回第0步。
FEND指令通常与CJ-P-FEND、CALL-P-SRET和I-IRET结构一起使用(P表示程序指针、I表示中断指针)。CALL指令的指针及子程序、中断指针及中断子程序都应放在FEND指令之后。CALL指令调用的子程序必须以子程序返回指令SRET结束。中断子程序必须以中断返回指令IRET结束。
5、监视定时器刷新指令WDT
如果扫描时间(从第0步到END或FEND)超过100ms,PLC将停止运行。在这种情况之下,应将WDT指令插到合适的程序步(扫描时间不超过100ms)中刷新监视定时器。
6、循环开始指令FOR与循环结束指令NEXT
FOR~NEXT之间的程序重复执行n次(由操作数指定)后再执行NEXT指令后的程序。循环次数n的范围为1~32767。若n的取值范围为-32767~0,循环次数作1处理。
FOR与NEXT总是成对出现,且应FOR在前,NEXT在后。FOR~NEXT循环指令多可以嵌套5层。
利用CJ指令可以跳出FOR~NEXT循环体。