第一节程序设计PLC的选择主要应从PLC的机型、容量、I/O模块、电源模块、特殊功能模块、通信联网能力等方面加以综合考虑。一、PLC机型的选择1.合理的结构型式PLC主要有整体式和模块式两种结构型式。整体式PLC的每一个I/O点的平均价格比模块式的便宜,且体积相对较小,一般用于系统工艺过程较为固定的小型控制系统中;而模块式PLC的功能扩展灵活方便,在I/O点数、输入点数与输出点数的比例、I/O模块的种类等方面选择余地大,且维修方便,一般于较复杂的控制系统。第七章PLC程序设计应用举例2.相应的功能要求一般小型(低档)PLC具有逻辑运算、定时、计数等功能,对于只需要开关量控制的设备都可满足。对于以开关量控制为主,带少量模拟量控制的系统,可选用能带A/D和D/A转换单元,具有加减算术运算、数据传送功能的增强型低档PLC。对于控制较复杂,要求实现PID运算、闭环控制、通信联网等功能,可视控制规模大小及复杂程度,选用中档或高档PLC。但是中、高档PLC价格较贵,一般用于大规模过程控制和集散控制系统等场合。3.响应速度要求PLC是为工业自动化设计的通用控制器,不同档次PLC的响应速度一般都能满足其应用范围内的需要。如果要跨范围使用PLC,或者某些功能或信号有特殊的速度要求时,则应该慎重考虑PLC的响应速度,可选用具有高速I/O处理功能的PLC,或选用具有快速响应模块和中断输入模块的PLC等。4.机型尽量统一一个企业,应尽量做到PLC的机型统一。主要考虑到以下三方面问题:1)机型统一,其模块可互为备用,便于备品备件的采购和管理。2)机型统一,其功能和使用方法类似,有利于技术力量的培训和技术水平的提高。3)机型统一,其外部设备通用,资源可共享,易于联网通信,配上位计算机后易于形成一个多级分布式控制系统。二、PLC容量的选择PLC的容量包括I/O点数和用户存储容量两个方面。1.I/O点数的选择PLC平均的I/O点的价格还比较高,因此应该合理选用PLC的I/O点的数量,在满足控制要求的前提下力争使用的I/O点最少,但必须留有一定的裕量。通常I/O点数是根据被控对象的输入、输出信号的实际需要,再加上10%~15%的裕量,以满足今后生产的发展或工艺的改进。2.存储容量的选择用户程序所需的存储容量大小不仅与PLC系统的功能有关,而且还与功能实现的方法、程序编写水平有关。一个有经验的程序员和一个初学者,在完成同一复杂功能时,其程序量可能相差25%之多,所以对于初学者应该在存储容量估算时多留裕量。PLC的I/O点数的多少,在很大程序上反映了PLC系统的功能要求,因此可在I/O点数确定的基础上,按下式估算存储容量后,再加20%~30%的裕量。存储容量(字节)=开关量I/O点数×10+模拟量I/O通道数×100此外,提高编程技巧,合理使用基本功能、控制、比较指令以及某些高级指令,可以大大简化程序,节省内存空间。三、PLC程序设计的基本步骤1.分析被控对象并提出控制要求详细分析被控对象的工艺过程及工作特点,了解被控对象机、电、液之间的配合,提出被控对象对PLC控制系统的控制要求,确定控制方案,拟定设计任务书。2.确定输入/输出设备根据系统的控制要求,确定系统所需的全部输入设备(如:按纽、位置开关、转换开关及各种传感器等)和输出设备(如:接触器、电磁阀、信号指示灯及其它执行器等),从而确定与PLC有关的输入/输出设备,以确定PLC的I/O点数。3.选择PLCPLC选择包括对PLC的机型、容量、I/O模块、电源等的选择。4.分配I/O点并设计PLC外围硬件线路1)分配I/O点画出PLC的I/O点与输入/输出设备的连接图或对应关系表,该部分也可在第2步中进行。2)设计PLC外围硬件线路画出系统其它部分的电气线路图,包括主电路和未进入PLC的控制电路等。由PLC的I/O连接图和PLC外围电气线路图组成系统的电气原理图。到此为止系统的硬件电气线路已经确定。5.程序设计1)程序设计根据系统的控制要求,采用合适的设计方法来设计PLC程序。程序要以满足系统控制要求为主线,逐一编写实现各控制功能或各子任务的程序,逐步完善系统指定的功能。2)程序模拟调试程序模拟调试的基本思想是,以方便的形式模拟产生现场实际状态,为程序的运行创造必要的环境条件。根据产生现场信号的方式不同,模拟调试有硬件模拟法和软件模拟法两种形式。四、PLC的编程特点梯形图编程是PLC编程中最常用的方法。它源于传统的继电器电路图,但发展到今天两者之间有了较大的差别。1.程序的执行顺序①继电器梯形图和PLC梯形图执行顺序的比较X1Y1Y2X1Y1Y2继电器梯形图X1闭合后,Y1、Y2同时得电PLC梯形图X1闭合后,Y1先输出,Y2后输出②PLC程序的扫描执行结果扫描执行方式优点:可滤掉高频干扰,增强抗干扰能力。缺点:产生响应滞后,影响可靠性。2.继电器自身的延时效应Y1Y1Y2X1X1Y2Y1Y1X1闭合后,Y1、Y2在同一扫描周期内动作X1闭合后,Y1、Y2在两个扫描周期内动作X1X1Y1Y2X0Y1Y0X0X1动作时,Y1、Y2不同时得电与断电X1动作时,Y0、Y1同时得电与断电3.PLC中的软继电器所谓软继电器是指PLC存储空间中的一个可以寻址的位。在PLC中,软继电器种类多、数量大。如FP1-C24,共有R内部继电器1008个,特殊继电器64个,定时器/计数器144个。寄存器中触发器的状态可以读取任意次,相当于每个继电器有无数个常开和常闭触点。五、PLC的编程原则1.输入/输出继电器、内部辅助继电器、定时器、计数器等器件的触点可以多次重复使用,无需复杂的程序结构来减少触点的使用次数。2.梯形图每一行都是从左母线开始,线圈终止于右母线。触点不能放在线圈的右边。接点和线圈的顺序:X0X1Y0X2X0X1Y0X2正确程序错误程序3.除步进程序外,任何线圈、定时器、计数器、高级指令等不能直接与左母线相连。如果需要任何时候都被执行的程序段,可以通过特殊内部常闭继电器或某个内部继电器的常闭触点来连接。4.在程序中,不允许同一编号的线圈两次输出。下面的梯形图是不允许的。R9010TMR0,K100TMR0,K100R0利用内部特殊继电器实现常闭输出利用内部继电器常闭接点实现常闭输出X1X0Y0Y05.不允许出现桥式电路。注意:触点应画在水平线上,不能画在垂直分支上。6.程序的编写顺序应按自上而下、从左至右的方式编写。为了减少程序的执行步数,程序应为“左重右轻,上重下轻”。如:X0X2X4X1X3Y0Y1X2X4X1Y0X0X0X2X4X3Y1错误的桥式电路桥式电路的替代电路X0X1X2Y00STX01STX12ANX23ORS4OTY0不符合上大下小的电路,共5步编程中应注意的几个问题(ED)X0Y0X1Y0(ED)X1Y0X0Y0一、用电路变换简化程序(减少指令的条数)二、逻辑关系应尽量清楚(避免左轻右重)X3X2X5X4X6X8X7Y0X9(ED)X3X2X5X4X6X8X7Y0X9(ED)X5X6X2X2STX2AN/X3ANX4STX2ANX5AN/X6ANX7ORSSTX2ANX5AN/X6ANX8AN/X9ORSOUTY0ED三、避免出现无法编程的梯形图X5(ED)X1X3X2Y1X4Y2X1(ED)X3X2Y1X5X3X1X4Y2X5STX3ANX5ORX1AN/X2OTY1STX1ANX5ORX3AN/X4OTY2EDX1X2X0Y00STX11ANX22ORX03OTY0符合上大下小的电路,共4步X0X1X2Y00STX01STX12ORX23ANS4OTY0不符合左大右小的电路,共5步X1X0X2Y1符合左大右小的电路,共4步第二节基本电路一.AND运算二.OR运算例如:在锅炉控制过程中,无论是水罐的压力过高,还是水温过高都要产生声光报警。X1X2Y0AND电路,Y0接受X1和X2的AND运算结果块1块2Y0AND扩展电路,Y0接受块1和块2的AND运算结果X1X2Y1例如:只有当设备的状态为就绪状态,并且按下“开始”按扭,设备才能开始工作。OR扩展电路,Y1接受的是块1和块2的OR运算结果Y1块1块2OR电路,Y1接受的是X1和X2的OR运算结果三.自锁(自保持)电路自锁电路分为:关断优先式和启动优先式关断优先式自锁电路:当执行关断指令,X2闭合时,无论X1的状态如何,线圈Y1均不得电。启动优先式自锁电路:当执行启动指令,X1闭合时,无论X2的状态如何,线圈Y1都得电。X1X2Y1Y10STX11ORY12AN/X23OTY1关断优先式自锁电路Y1X2X1Y10STY11AN/X22ORX13OTY1启动优先式自锁电路四.互锁电路互锁电路用于不允许同时动作的两个继电器的控制,如电机的正反转控制。五.时间电路时间电路主要用于延时、定时和脉冲控制中。时间控制电路既可以用定时器实现也可以用标准时钟脉冲实现。在FP1型PLC内部有多达100个定时器和三种标准时钟脉冲(0.01s、0.1s、1s)可用于时间控制。X0X2Y1Y1Y2X1X2Y2Y2Y10STX01ORY12AN/X23AN/Y24OTY15STX16ORY27AN/X28AN/Y19OTY2互锁控制电路1.延时电路下图利用两个定时器组合以实现长延时。即Y0在X0闭合30秒之后得电。X1TMX1,K30T1Y1时间继电器TMX1起到延时30×0.1=3秒的作用。X0TMY0,K10T0TMY1,K20T1Y00STX01TMY0K105STT06TMY1K2010STT111OTY0X0T1Y020s10sT0下图利用定时器串联实现长延时。即Y2在X0闭合30秒之后导通。X0TMY2,K20T1Y1TMY1,K10T2Y20STX01TMY1K105TMY2K209STT110OTY111STT212OTY2X0T2Y120s10sT1Y22.脉冲电路利用定时器可以方便地产生脉冲序列。在上图程序的运行过程中,R0每隔3秒产生一次脉冲,其脉宽为一个扫描周期。在FP1的内部有七种标准的时钟脉冲继电器,分别为R9018(0.01s),R9019(0.02s),R901A(0.1s),R901B(0.2s),R901C(1s),R901D(2s),R901E(1min)。若需要这几种时间的脉冲,可直接利用这几个时间脉冲发生器。R0TMX0,K30T0R00ST/R01TMX0K304STT05OTR0六.分支电路分支电路主要用于一个控制电路导致几个输出的情况。例如,开动吊车的同时打开警示灯。下图中,当X0闭合后,线圈Y1、Y2同时得电。X0Y2Y10STX01OTY12OTY2第三节PLC编程实例一.电动机正反转控制1.系统结构利用PLC控制一台异步电动机的正反转。输入端直流电源E由PLC内部提供,可直接将PLC电源端子接在开关上。交流电源则是由外部供给。X1X224VDCCOMX0220~240VY0Y1COMPLC红按钮KM1KM2正转24VDC~220V~220V反转黄按钮蓝按钮PLC控制电动机正反转外部接线图要求:黄按钮按下:电机正转蓝按钮按下:电机反转红按钮按下:电机停止2.系统的控制要求按动黄按钮时:①若在此之前电机没有工作,则电机正转启动,并保持电机正转;②若在此之前电机反转,则将电机切换到正转状态,并保持电机正转;③若在此之前电机的已经是正转,则电机的转动状态不变。电机正转状态一直保持到有篮按钮或红按钮按下为止。按动蓝按钮时:①若在此之前电机没有工作,则电机反转启动,并保持电机反转;②若在此之前电机正转,则将电机切换到反转状态,并保持电机反转;③若在此之前电机的已经是反转,则电机的转动状态不变。电机反转状态一直保持到有黄按钮或红按钮按下为止。按下红按钮时:停止电机的转动注:电机不可以同时进行正转和反转,否则会损坏系统3.PLC的I/O点的确定与分配4.系统编程分析和实现电机正反转控制PLC的I/O点分配表PLC点名称连接的外部设备功能说明X0红按钮停止命令X1黄按钮电机正转命令X2蓝按钮电机反转命令Y0正转继电器控制电机