西门子plc学习(如何快速的学好西门子PLC)
很多朋友给我留言,问我如何学好PLC编程!PLC编程可不可以速成?
西门子PLC的编程语言有多种,对于初学者来说不需要掌握所有语言,毕竟你不应该要求一个新人刚接触几个月的时间就可以编出一个超大型的程序,那是不可能的!所以对于新手而言只需要掌握多种语言的一种,熟练以后再去学习其他的语言,进而扩充知识面。
西门子主要的编成语言有:
一 梯形图(LAD-LAdder Diagram)
这是使用使用最多的PLC编程语言。因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字量逻辑控制。
梯形图由触点、线圈和用方框表示的指令构成。触点代表逻辑输入条件,线圈 代表逻辑运算结果,常用来控制的指示灯,开关和内部的标志位等。指令框用来表示定时器、计数器或数学运算等附加指令。在程序中,最左边是主信号流,信号流总是从左向右流动的。
二 功能块图(FBD-Function Block Diagram)
功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,适合于有数字电路基础的编程人员使用。功能块图用类似于与门、或门的框图来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框用“导线”连在一起,信号自左向右。
三 语句表(STL-STatement List)
这是一种类似于微机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语言表适合于经验丰富的程序员使用,可以实现某些梯形图不能实现的功能。以上三种是基本的编程语言,除此以外西门子还有很多其他的编程语言,适合用于不同的场合。
四 顺序功能图(SFC-Seauential Fuction Chart)
这是位于其它编程语言之上的图形语言,用来编程顺序控制的程序(如:机械手控制程序)。编写时,工艺过程被划分为若干个顺序出现的步,每步中包括控制输出的动作,从一步到另一步的转换由转换条件来控制,特别适合于生产制造过程。
五 结构化文本编程(SCL)
STEP7的S7 SCL结构化控制语言,编程结构和C语言和Pascal语言相似,特别适合于习惯于使用高级语言编程的人使用。
其他还有CFC,PCS7等等。
那么作为新手如何入门呢?当然是学习最简单易学的梯形图。
西门子PLC梯形图的结构特点
西门子PLC梯形图主要由母线、触点、线圈或用方框表示的指令框等构成的,如图3-1所示。
图3-1 西门子PLC梯形图
(1)母线
在西门子PLC梯形图中,左右两侧的母线分别称为左母线和右母线,是每条程序的起始点和终止点,也就是说梯形图中的每一条程序都是始于左母线,终于右母线的。
一般情况下,西门子PLC梯形图编程时,习惯性的只画出左母线,省略右侧母线,但其所表达梯形图程序中的能流仍是由左母线经程序中触点I0.1、I0.2、线圈Q0.0等至右母线中的过程,如图3-2所示。
图3-2 西门子PLC梯形图编程中的母线
(2)触点
在西门子PLC梯形图中,触点可分为常开触点和常闭触点,其中常开触点符号为“-| |-”,常闭触点符号为“-|/|-”,可使用字母I、Q、M、T、C进行标识,且这些标识一般写在其相应图形符号的正上方,如图3-3所示。
图3-3 西门子PLC梯形图中的触点
(3)线圈
西门子PLC梯形图中的线圈符号为“-( )-”,可使用字母Q、M、SM等进行标识,且字母一般标识在括号上部中间的位置,如图3-4所示。
图3-4 西门子PLC梯形图线圈
2西门子PLC梯形图中常用编程元件标识方法
在西门子PLC梯形图中,将其触点和线圈等称为程序中的编程元件。编程元件也称为软元件,是指在PLC编程时使用的输入/输出端子所对应的存储区以及内部的存储单元、寄存器等。
根据编程元件的功能,西门子PLC梯形图中的常用的编程元件主要有输入继电器(I)、输出继电器(Q)、辅助继电器(M、SM)、定时器(T)、计数器(C)和一些其他较常见的编程元件等。
(1)输入继电器(I)的标注
西门子PLC梯形图中的输入继电器用“字母I+数字”进行标识,每个输入继电器均与PLC的一个输入端子对应,用于接收外部开关信号。
输入继电器由PLC端子连接的开关部件的通断状态(开关信号)进行驱动,当开关信号闭合时,输入继电器得电,其对应的常开触点闭合,常闭触点断开,如图3-7所示。
图3-7 西门子PLC梯形图中的输入继电器
(2)输出继电器(Q)的标注
西门子PLC梯形图中的输出继电器用“字母Q+数字”进行标识,每一个输出继电器均与PLC的一个输出端子对应,用于控制PLC外接的负载。
输出继电器可以由PLC内部输入继电器的触点、其他内部继电器的触点或输出继电器自己的触点来驱动,如图3-8所示。
图3-8 西门子PLC梯形图中的输出继电器
(3)辅助继电器(M、SM)的标注
在西门子PLC梯形图中,辅助继电器有两种,一种为通用辅助继电器,一种为特殊标志位辅助继电器。
①通用辅助继电器的标注。通用辅助继电器,又称为内部标志位存储器,如同传统继电器控制系统中的中间继电器,用于存放中间操作状态,或存储其他相关数字,用“字母M+数字”进行标识,如图3-9所示。
图3-9 西门子PLC梯形图中的通用辅助继电器
由图3-9可以看到,通用辅助继电器M0.0既不直接接受外部输入信号,也不直接驱动外接负载,它只是作为程序处理的中间环节,起到桥梁的作用。
②特殊标志位辅助继电器的标注。特殊标志位辅助继电器,用“字母SM+数字”标识,如图3-10所示,通常简称为特殊标志位继电器,它是为保存PLC自身工作状态数据而建立的一种继电器,用于为用户提供一些特殊的控制功能及系统信息,如用于读取程序中设备的状态和运算结果,根据读取信息实现控制需求等。一般用户对操作的一些特殊要求也可通过特殊标志位辅助继电器通知CPU系统。
图3-10 西门子PLC梯形图中的特殊标志位辅助继电器
(4)定时器(T)的标注
在西门子PLC梯形图中,定时器是一个非常重要的编程元件,用“字母T+数字”进行标识,数字从0~255,共256个。不同型号的PLC,其定时器的类型和具体功能也不相同。在西门子S7-200系列PLC中,定时器分为3种类型,即接通延时定时器(TON)、保留性接通延时定时器(TONR)、断开延时定时器(TOF),三种定时器定时时间的计算公式相同,即
T=PTS(T为定时时间,PT为预设值,S为分辨率等级)
其中,PT预设值根据编程需要输入设定值数值,分辨率等级一般有1ms、10ms、100ms三种,由定时器类型和编号决定,见表3-3所示。
表3-3 西门子S7-200定时器号码对应的分辨率等级及最大值等参数
①接通延时定时器(TON)的标注。接通延时定时器是指定时器得电后,延时一段时间(由设定值决定)后其对应的常开或常闭触点才执行闭合或断开动作;当定时器失电后,触点立即复位。
接通延时定时器(TON)在PLC梯形图中的表示方法如图3-11所示,其中,方框上方的“???”为定时器的编号输入位置;方框内的TON代表该定时器类型(接通延时);IN为起动输入端;PT为时间预设值端(PT外部的“???”为预设值的数值);S为定时器分辨率,与定时器的编号有关,可参照表3-3。
图3-11 接通延时定时器(TON)在PLC梯形图中的表示方法
例如,某段PLC梯形图程序中所用定时器编号为T37,预设值PT为300,定时分辨率为100ms,如图3-12所示。
可以计算出,该定时器的定时时间为300100ms=30000ms=30s;则在该程序中,当输入继电器I0.3闭合后,定时器T37得电,延时30s后控制输出继电器Q0.0的延时闭合的常开触点T37闭合,使输出继电器Q0.0线圈得电。
图3-12 接通延时定时器(TON)应用
②保留性接通延时定时器(TONR)的标注。保留性接通延时定时器(TONR)与上述的接通延时定时器(TON)原理基本相同,不同之处在于在计时时间段内,未达到预设值前,定时器断电后,可保持当前计时值,当定时器得电后,从保留值的基础上再进行计时,可多间隔累加计时,当到达预设值时,其触点相应动作(常开触点闭合,常闭触点断开)。
保留性接通延时定时器(TONR)在PLC梯形图中的表示方法如图3-13所示,其中,方框上方的“???”为定时器的编号输入位置;方框内的TONR代表该定时器类型(接通延时);IN为起动输入端;PT为时间预设值端(PT外部的“???”为预设值的数值);S为定时器分辨率,与定时器的编号有关,可参照表3-3。
图3-13 保留性接通延时定时器(TONR)在PLC梯形图中的表示方法
③断开延时定时器(TOF)的标注。断开延时定时器(TOF)是指定时器得电后,其相应常开或常闭触点立即执行闭合或断开动作;当定时器失电后,需延时一段时间(由设定值决定),其对应的常开或常闭触点才执行复位动作。
断开延时定时器(TOF)在PLC梯形图中的表示方法与上述两种定时器基本相同,如图3-14所示为断开延时定时器(TOF)的典型应用。
图3-14 断开延时定时器(TOF)的应用
由图3-14可以看到,该程序中所用定时器编号为T33,预设值PT为60,定时分辨率为10ms。
可以计算出,该定时器的定时时间为6010ms=600ms=0.6s;则该程序中,当输入继电器I0.3闭合后,定时器T38得电,控制输出继电器Q0.0的延时断开的常开触点T38立即闭合,使输出继电器Q0.0线圈得电;当输入继电器I0.3断开后,定时器T38失电,控制输出继电器Q0.0的延时断开的常开触点T38延时0.6 s后才断开,输出继电器Q0.0线圈失电。
(5)计数器(C)的标注
在西门子PLC梯形图中,计数器的结构和使用与定时器基本相似,也是应用广泛的一种编程元件,用来累计输入脉冲的次数,经常用来对产品进行计数。用“字母C+数字”进行标识,数字从0~255,共256个。
不同型号的PLC,其定时器的类型和具体功能也不相同。在西门子S7-200系列PLC中,计数器分为3种类型,即增计数器(CTU)、减计数器(CTD)、增减计数器(CTUD),一般情况下,计数器与定时器配合使用。
①增计数器(CTU)的标注。增计数器(CTU)是指在计数过程中,当计数端输入一个脉冲式时,当前值加1,当脉冲数累加到等于或大于计数器的预设值时,计数器相应触点动作(常开触点闭合,常闭触点断开)。
在西门子S7-200系列PLC梯形图中,增计数器的图形符号及文字标识含义如图3-17所示,其中方框上方的“???”为增计数器编号输入位置,CU为计数脉冲输入端,R为复位信号输入端(复位信号为0时,计数器工作),PV为脉冲设定值输入端。
图3-17 增计数器的图形符号及文字标识含义
例如,某段PLC梯形图程序中计数器类型为CTU,增计数器,编号为C1,预设值PV为80,复位端由输出继电器Q0.0的常闭触点控制,如图3-18所示。
可以看到,该程序中,初始状态下,输出继电器Q0.0的常闭触点闭合,即计数器复位端为1,计数器不工作;当PLC外部输入开关信号使输入继电器I0.0闭合后,输出继电器Q0.0线圈得电,其常闭触点Q0.0断开,计数器复位端信号为0,计数器开始工作;同时输出继电器Q0.0的常开触点闭合,定时器T37得电。
图3-18 增计数器(CTU)的应用
在定时器T37控制下,其常开触点T37每6min闭合一次,即每6min向计数器C1脉冲输入端输入一个脉冲信号,计数器当前值加1,当计数器当前值等于80时(历时时间为8h),计数器触点动作,即控制输出继电器Q0.0的常闭触点在接通8h后自动断开。
②减计数器(CTD)的标注。减计数器(CTD)是指在计数过程中,将预设值装入计数器当前值寄存器,当计数端输入一个脉冲式时,当前值减1,当计数器的当前值等于0时,计数器相应触点动作(常开触点闭合、常闭触点断开),并停止计数。
在西门子S7-200系列PLC梯形图中,减计数器的图形符号及文字标识含义如图3-19所示,其中方框上方的“???”为减计数器编号输入位置,CD为计数脉冲输入端,LD为装载信号输入端,PV为脉冲设定值输入端。
图3-19 增计数器的图形符号及文字标识含义
当装载信号输入端LD信号为1时,其计数器的设定值PV被装入计数器的当前值寄存器,此时当前值为PV。只有装载信号输入端LD信号为0时,计数器才可以工作。
例如,某段PLC梯形图程序中计数器类型为CTD,减计数器,编号为C1,预设值PV为3,如图3-20所示。
图3-20 减计数器(CTD)的应用
由图3-20可以看到,该程序中,由输入继电器常开触点I0.1控制计数器C1的装载信号输入端;输入继电器常开触点I0.0控制计数器C1的脉冲信号,I0.1闭合,将计数器的预设值3装载到当前值寄存器中,此时计数器当前值为3,当I0.0闭合一次,计数器脉冲信号输入端输入一个脉冲,计数器当前值减1,当计数器当前值减为0时,计数器常开触点C1闭合,控制输出继电器Q0.0线圈得电。
③增减计数器(CTUD)的标注。增减计数器(CTUD)有两个脉冲信号输入端,其在计数过程中,可进行计数加1,也可进行计数减1。
在西门子S7-200系列PLC梯形图中,增减计数器的图形符号及文字标识含义如图3-21所示,其中方框上方的“???”为增减计数器编号输入位置,CU为增计数脉冲输入端,CD为减计数脉冲输入端,R为复位信号输入端,PV为脉冲设定值输入端。
当CU端输入一个计数脉冲时,计数器当前值加1,当计数器当前值等于或大于预设值时,计数器由OFF转换为ON,其相应触点动作;当CD端输入一个计数脉冲时,计数器当前值减1,当计数器当前值小于预设值时,计数器由OFF转换为ON,其相应触点动作。
图3-21 增减计数器的图形符号及文字标识含义
例如,某段PLC梯形图程序中计数器类型为CTUD,增减计数器,编号为C48,预设值PV为4,如图3-22所示。
图3-22 增减计数器(CTUD)的应用
由图3-22可以看到,当输入继电器常开触点I0.0闭合一次,为计数器CU输入一个脉冲,计数器当前值加1,当累加至4时,计数器C48动作,其常开触点C48闭合,输出继电器Q0.0线圈得电;当输入继电器常开触点I0.1闭合一次,为计数器CD输入一个脉冲,计数器当前值减1,当减至4时,计数器C48动作,其常开触点C48闭合,输出继电器Q0.0线圈得电。
(6)其他编程元件(V、L、S、AI、AQ、HC、AC)的标注
西门子PLC梯形图中,除上述5种常用编程元件外,还包含一些其他基本编程元件。
①变量存储器(V)的标注。变量存储器用字母V标识,用来存储全局变量,可用于存放程序执行过程中控制逻辑操作的中间结果等。同一个存储器可以在任意程序分区被访问。
②局部变量存储器(L)的标注。局部变量存储器用字母L标识,用来存储局部变量,同一个存储器只和特定的程序相关联。
③顺序控制继电器(S)的标注。顺序控制继电器用字母S标识,用于在顺序控制和步进控制中,是一种特殊的继电器。
④模拟量输入、输出映像寄存器(AI、AQ)的标注。模拟量输入映像寄存器(AI)用于存储模拟量输入信号,并实现模拟量的A/D转换;模拟量输出映像寄存器(AQ)为模拟量输出信号的存储区,用于实现模拟量的D/A转换。
⑤高速计数器(HC)的标注。高速计数器(HC)与普通计数器基本相同,其用于累计高速脉冲信号。高速计数器比较少,在西门子S7-200系列PLC中,CPU226中高速计数器为HC(0~5),共6个。
⑥累加器(AC)的标注。累加器(AC)是一种暂存数据的寄存器,可用来存放运算数据、中间数据或结果数据,也可用于向子程序传递或返回参数等。西门子S7-200系列PLC中累加器为AC(0~3),共4个。
3西门子PLC梯形图的编写要求
西门子PLC梯形图在编写格式上有严格的要求,使用西门子PLC梯形图编程的技术人员要对西门子PLC梯形图中各元素的编程格式、编写顺序以及梯形图梯次的编排等有所了解,采用正确规范的程序编写格式,方可确保西门子PLC梯形图编程的正确有效。
(1)西门子PLC梯形图中触点的编写要求
在西门子PLC梯形图中,触点的编写方法、排列顺序对程序执行可能会带来很大的影响,有时甚至会使程序无法运行,因此需要采取正确方法的进行编写。
触点应画在梯形图的水平线上,所有触点均位于线圈符号的左侧,且应根据控制要求遵循自左至右、自上而下的原则,如图3-23所示。
图3-23 西门子PLC梯形图中触点的编写原则
(2)西门子PLC梯形图中线圈的编写要求
西门子PLC梯形中,线圈仅能画在同一行所有触点的最右边,而且,由于线圈输出作为逻辑结果必有条件,体现在梯形图中时,线圈与左母线之间必须有触点,如图3-26所示。
图3-26 西门子PLC梯形图中线圈的编写原则
(3)西门子PLC梯形图中母线分支的优化规则
在进行编程时,常遇到并联输出的支路,即一个条件下可同时实现两条或多条线路输出。西门子PLC梯形图一般用堆栈指令操作实现并联输出的功能,但由于通过堆栈操作会增加程序存储器容量等缺点,一般不编写并联输出支路,而是将每个支路都作为一条单独的输出进行编写,如图3-28所示。
图3-28 西门子PLC梯形图中并联输出支路的编写原则
(4)西门子PLC梯形图一些特殊编程元件的使用规则
在西门子PLC梯形图中一些特殊编程元件需要成对出现,即需要配合使用才能实现正确编程。
例如,西门子PLC梯形图中的置位和复位操作,一般这两个操作均是由指令实现的,其在西门子PLC梯形图中一般写在线圈符号内部,如图3-29所示。
图3-29 西门子PLC梯形图中的置位和复位