如何快速的学好西门子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=PT×S(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所示。
可以计算出,该定时器的定时时间为300×100ms=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。
可以计算出,该定时器的定时时间为60×10ms=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梯形图中的置位和复位
PLC自动程序之编程方法!不学亏大了!
【导读】PLC自动步序的功能是控制设备按照事先设计好的工艺流程进行工作。PLC自动程序的流程编写也有好几种方法,下面就来做一个详细的阐述。
第一种:辅助继电器的置位复位方法这种方法是最原始最初级的写法,也是最简单的一种写法,比如第一步置位M0,M0接通后控制某个结果,结果实现后复位M0,再置位M1,依次进行l流程控制。这种写法通用所有的PLC。
第二种:使用步序编号的方法使用整型变量作为步序编号,易于理解,便于维护。步序增减,跳转等操作方便,简单,易懂。复位操作时,仅需将变量值改为0。编程中需注意,当连续步序的条件同时为真时,步序号在一个PLC周期内连续增加,直至最后一条未导通步序指令,而由步序号触发的其它程序则未被执行。调试时容易漏掉此种情况。
第三种:GRAPH(顺序功能流程图语言,也称SFC)这种方法跟我们的设备工艺流程图非常相似,也是最直观的一种程序,第一步干什么,什么条件又开始干第二步,看上去非常清楚。虽然程序表面看上去非常清楚明了,但编写项目程序实际的操作过程并不简单,要熟悉这种写法需要时间过程,而且这种方法并不通用所有的PLC(如西门子S7-1200不支持,仅S7-1500支持),还有就是对PLC性能要求高,也占用很大的工作存储器。
第四种:移位指令方法这种方法是利用移位指令的移位原理实现步序的控制,比如欧姆龙的SFT指令,三菱的ROL、ROR等,西门子的移位指令也差不多。这种难点在于搞清移位指令的工作原理即可,也是通用所有PLC的编程。第五种:DECO解码指令的方法解码指令DECO:即将整数转换为Dword中对应的位置1,且当步序产生变化时,PLC必定会重新执行一个扫描周期,不会产生连续跳多个步续的情况。避免了程序中步序触发的指令没有被执行的情况。跳转和复位操作编写简单。如西门子S7-1200PLC可支持DWORD解码(32位),S7-1500可支持LWORD解码(64位)。
第六种:工作和状态变量赋值的方法这种方法是数据传送指令与比较指令相结合实现程序流程步序转换的,个人认为这种方法是最容易理解的,操作上也是最简单,建议初学者尝试使用,当然这种方式也是通用所有PLC的。设置两个变量字state word,work word。state word中的位作为步序标志,work word作为跳转目标步序标志。当前步序state word中步序位对应的条件满足时,触发work word中下一步对应的位。而后,在PLC顺序扫描至传送指令时,将work word的值赋值给state word,完成步序跳转。优点是没有置位和复位操作,同一时刻只有唯一的位置1,跳步时只用将对应的work word 中的位置1即可。复位时,将state word与work word清零,程序会自动将state word中第一位点亮。当步序大于16时,可改为DWORD或增加word的数量来增加步序。
第七种:SCL编程的方法越来越多的小型PLC都支持SCL语言,SCL是一种类似于PASCAL的高级编程语言,常用的FOR、IF、WHILE、CASE等程控语句组合起来能编写出很强大的算法和逻辑,用此写法的人也越来越多。用SCL设计自动程序主要就是结合CASE和IF语句,将Step作为程序号,如果存在比较长的分支或并行动作时需要有借助多个Step程序步,这里不做深究。
你们还有其他的方法吗?讲出来大家可以借鉴学习下,谢谢!
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取 电气热门资料?
操作指引如下!
相关问答
西门子PLC编程语言有哪几种?
西门子PLC编程语言有以下几种:1.LadderDiagram(LD,梯形图):基于图形化的逻辑运算符号,采用类似电路图的形式进行程序设计。2.FunctionBlockDiagram....
PLC编程语言有什么?
常见的PLC编程语言包括以下几种:1.LadderDiagram(梯形图):最常用的PLC编程语言,将输出信号和输入信号以具有逻辑关系的图形方式表示,类似于电气图。2....
plc程序设计语言?
1、梯形图(LadderDiagram)程序设计语言梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形...
plc中st是什么意思?
plc中st意思是指StructuredText,是一种基于结构化编程的PLC编程语言。它的语法类似于Pascal语言,具有易读性和易维护性的特点,适用于复杂的控制算法和数据处...
工业机器人编程难学吗?
机器人的开发语言一般为C、C++、C++Builder、VB、VC等语言,主要取决于执行机构(伺服系统)的开发语言;而机器人编程分为示教、动作级机器人编程语言、任务级...
DCS使用什么计算机语言?
每一家DCS支持的语言是不一样的,总体来说有5种。1.指令表编程语言,与汇编语言类似,满足IEC61131.3标准,跟PLC的指令表语言有点区别。2.结构化文本编程语言...
scl编程语言用途?
SCL含义为结构化控制语言(StructuredControlLanguage),是一种类似于计算机高级语言的编程方式,它的语法规范接近计算机中的PASCAL语言,符合国际标准IEC6...
诸位好基友!能不能推荐一下南京集庆门大街高端机器人编程培训?
[回答]而工业机器人编程无非是机器人示教编程和robotstudio离线仿真编程,只要钻一点,多实操还是难不倒爱动手的学习党,另外PLC是自动化的重中之重,入门容...
世界数控机床发展史?
[回答]我国的数控磨床水平不错,每年都有大量出口,因为它简单,基本属于劳动密集型。金属加工主要是去除材料,得到想得到的金属形状。去除材料,主要靠车和铣...