资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,本模块主要内容,PLC的编程语言,PLC的编程元件,S7-200系列PLC常用编程元件,S7-200系列PLC常用指令,位逻辑指令,定时器指令,计数器指令,顺序控制指令,2.2 PLC编,程语言及编程方法,1 PLC的编程语言,PLC的编程语言,梯形图 LAD,语句表 STL,功能块图 FBD,顺序功能图,结构文本,最常用的是,梯形图,(形象、直观)这种编程语言。本课,程以梯形图为主,介绍一些常用的语句表指令。,梯形图(LAD),梯形图(LAD):一种与电气控制电路类似的,图形语言,,沿用了继电器、触头、串并联等术语。,梯形图按自上而下,从左到右的顺序排列,最左边的竖线称为起始母线(或,左母线),,然后按一定的规则连接各个编程元件,最后以继电器线圈结束(,在绘图时,通常将右母线省略,),构成一个逻辑行。通常一个梯形图程序中有若干逻辑行形似梯子。也就是说,,梯形图的,输入总是在图形的左边,输出(线圈)总是在图形的右边,。在一个梯级(或逻辑行)中,左、右母线之间是一个完整的“电路”,不允许“能流”反向流动。,语句表(STL),语句表:用,助记符,来表达,类似于计算机的汇编语言。这种编程语言,可使用简易编程器编程,,,适用于现场调试,,但比较抽象,一般与梯形图语言配合使用,互为补充。,LDI0.6,OQ0.3,ANI0.1,=Q0.3,功能块图(FBD),功能块图FBD:,类似于数字电子技术中的逻辑电路图,框图内的符号表达了功能块图的功能,,输入端,是功能块图的,条件,输出端,是功能块图的,运算结果。,通常梯形图(LAD)、功能块图(FBD)、语句表(STL)的程序可,有条件地,方便地转换(西门子S7-200系列PLC,在编程软件中以网络为单位转换)。,语句表(STL)可以编写梯形图或功能块图无法实现的程序,。,顺序功能图,顺序功能图:用图形(,步、转换、动作、有向线段,)描述控制系统的控制过程,,适合编制顺序控制程序,。编程人员需要对被控过程的工艺流程非常熟悉。,M0.0,M0.1,M0.2,SM0.1,T37,Q0.1,I0.0,I0.1,2 PLC的编程元件,PLC最突出的优点之一就是采用“软”继电器(即编程元件)代替“硬”继电器,,用软件编程的逻辑代替传统的硬布线逻辑,。,软继电器,就是数据存储区中,相应的位存储单元,。,软继电器线圈为ON(“得电”),即相应位存储单元的状态置“1”,其常开触点闭合,常闭触点断开;,软继电器线圈为OFF(“失电”),即相应位存储单元的状态置“0”,其常闭触点闭合,常开触点断开。,软继电器线圈 常开触点 常闭触点,( ),PLC的常用编程元件,每个软继电器(或编程元件)都有一个线圈和无数个常开触点或常闭触点,即任一软继电器的,线圈在程序中通常只使用一次,而触点在程序中可以无数次使用。,每个软继电器(或编程元件)都有一个编号(或称存储地址)。不同厂家对编程元件编号的形式不同。,常用PLC编程元件分成两大类:,输入/输出编程元件:输入、输出映像寄存器,内部编程元件(,不能驱动外部负载,):辅助继电器(中间继电器)、定时器、计数器、变量寄存器、特殊辅助继电器、累加器等。,PLC的常用编程元件,S7-200系列PLC常用编程元件(P106),输入/输出编程元件:输入继电器I、输出继电器Q,内部编程元件:辅助继电器M、定时器T、计数器C、特殊标志继电器SM、累加器AC、变量寄存器V等。,编程元件的表示方法,(或数据存储区地址格式),所有数据在PLC中都是以二进制形式存储和表示的。,位地址格式,字节、字、双字地址格式,其他地址格式(定时器、计数器、累加器等),S7-200系列PLC编程元件,位地址格式,7,6,5,4,3,2,1,0,I0,I1,I2,I3,I4,最高位,最低位,I 4 . 4,位号(07),位与字节之间的间隔,字节地址,元件名称(类型、区域),I4.4,I5,字节型元件,字型元件,双字型元件,图 变量寄存器的表示方法,字节、字、双字地址格式,V B 100,元件名称(类型、区域),起始字节地址,数据长度,T,5,定时器元件名称(类型、区域),元件号,其他地址格式,C,5,数据器元件名称(类型、区域),元件号,AC,1,累加器元件名称(类型、区域),元件号,3 S7-200 PLC基本逻辑指令,位逻辑指令,开始 LD/LDN,输出 =,串联 A/AN,并联 O/ON,非 NOT,边沿触发 EU/ED,置位/复位 S/R,LD/LDN与=,LD:常开触点与母线相连;,LDN:常闭触点与母线相连;,=:输出,不能用于输入映像寄存器,可用于Q、M、SM、V、S等。,梯形图的逻辑行都以LD/LDN开始。,( ),( ),I0.0,Q0.0,I0.0,Q0.1,LDI0.0,=Q0.0,LDNI0.0,=Q0.1,A/AN与O/ON,A:常开触点串联指令,AN:常闭触点串联指令,O:常开触点并联指令,ON:常闭触点并联指令,与指令,或指令,复习:,PLC的编程语言有哪些?,写出下列梯形图的指令表,I0.1,M0.3,Q0.1,I0.1,Q0.1,Q0.1,M0.2,M0.3,M0.4,Q0.2,NOT,( ),NOT,( ),I0.1,I0.2,Q0.1,Q0.2,LDI0.1,AI0.2,=Q0.1,NOT,=Q0.2,I0.1,I0.2,Q0.1,Q0.2,注:,PLC中的继电器等编程元件不是实际物理元件,,而是计算机存储器中的一定的位,它的所谓接通不过是相应存储单元置1而已。,I0.0,Q0.0,QO.0,PLC,控制,I0.1,SB2,KM,KM,继电器,控 制,SB1,两种控制的梯形图比较,线圈,线圈,常开触点,常开触点,常闭触点,常闭触点,触点,状态,常开触点,常闭触点,ON,(1),允许,电流通过,不允许,电流通过,OFF,(0),不允许,电流通过,允许,电流通过,触点在不同状态下的动作,(,重点,!,),:,220V ,选择开关SA1,选择开关SA2,选择开关SA3,指示灯HL1,指示灯HL2,例1,,采用S7-200 PLC(CPU224XP)来改造控制线路。如图所示为一简单电气控制线路,其所实现功能:,(1)SA1闭合,指示灯HL1亮,反之,则灭;,(2)SA2或SA3闭合,指示灯HL2亮,SA2和SA3都断开,指示灯HL2才灭。,例2,,编写一个自锁控制程序。启动、停止按钮分别接I0.0、I0.1端口,输出负载接Q0.3端口。,例3,,用置位S/复位R指令编写例2中的自锁控制程序。,置位S/复位R指令,:可以将从指定地址开始的N位存储单元置1/清0。N:1255。,指令格式,:,(,S,),I0.0,I0.1,Q0.0,2,(,R,),Q0.0,1,LDI0.0,S,Q0.0,2,LDI0.1,R,Q0.0,1,练习,:用S7-200 PLC(CPU224XP)设计一个三相交流电动机连续控制线路。,(提示:P28,需给出I/O分配、控制线路、梯形图程序。),边沿触发指令EU/ED,EU:上升沿触发指令,在检测到触点,正跳变,后,产生一个扫描周期宽度的脉冲。,ED:下降沿触发指令,在检测到触点,负跳变,后,产生一个扫描周期宽度的脉冲。,LDI0.1,EU,=M0.0,LDI0.1,ED,=M0.1,例4,,有2台电动机M1和M2,为了减少电动机同时启动对供电线路的影响,M1先启动,M2稍微延迟片刻启动。,即控制要求为,:,按下启动按钮,M1立即启动,松开启动按钮,M2才启动;,按下停止按钮M1、M2同时停止。,按下,启动按钮,松开,启动按钮,练习:,设计一个PLC三相电动机正、反转控制线路。控制要求:,能实现正、反转直接切换;,按下停止按钮,电动机停止。,给出I/O分配,I/O接线图和梯形图程序。(,提示,:P29 图c),到此结束!,上节课主要内容回顾,常用编程元件及表示方式,S7-200系列PLC的位逻辑指令:LD/LDN、=、A/AN、O/ON、NOT及EU/ED,本次课内容,定时器指令,计数器指令,分析:,设计一个PLC三相电动机正、反转控制线路。控制要求:,能实现正、反转直接切换;按下停止按钮,电动机停止。,L1,L2,L3,QS,FU,KM1,3,M,KM2,FR,SB,SB1,KM1,KM2,FR,SB2,KM1,KM2,KM2,KM1,SB1,SB2,定时器指令,S7-200 PLC中共有256个定时器,编号为T0-T255,有三种类型的定时器指令:TON、TOF、TONR,有三种分辨率或定时精度:1ms、10ms、100ms,定时器,定时的时间=设定值,分辨率,,设定值由程序给出。,设定值的取值范围:032767,计时范围=最大设定值,分辨率,选定了定时器编号,实际上就确定了分辨率。,定时器类型,分辩率/ms,计时范围/s,定时器号,TON,TOF,1,32.767,T32,T96,10,327.67,T33T36,T97T100,100,3276.7,T37T63,T101T255,TONR,1,32.767,T0,T64,10,327.67,T1T4,T65T68,100,3276.7,T5T31,T6995,接通延时定时器TON,IN,PT,TON,I0.0,IN,PT,TON,?,T?,?ms,5,T37,100ms,(1)指令盒的参数:,定时器编号、设定值(PT) 、使能端(IN)。,定时时间=设定值分辨率,,定时器编号选定分辨率就确定了。如右图,定时时间=5100ms=500ms,使能端(IN)有效,定时器才能开始计时。,(2)定时器编号具有3个含义:定时器号、当前值、位状态。如右图。,STL格式,:,TON T,PT,举例:,LAD中以指令盒形式出现,设定值,编号,T37,3,=1,T37,( ),( ),Q0.0,Q0.1,定时器号,位状态,当,前,值,I0.0,T37当前值,T37位/Q0.1,5,32767,TON定时器动作特点,IN,PT,TON,I0.0,5,T37,100ms,T37,3,=1,T37,( ),( ),Q0.0,Q0.1,Q0.0,3,使能输入端IN接通时,开始计时,当前值=设定值时,定时器位变为ON,若使能端仍有效,则继续计时,直到32767,;,当使能端IN断开时,定时器位复位为OFF,当前值清0。,有记忆接通延时定时器TONR,IN,PT,TONR,I0.0,IN,PT,TONR,?,T?,?ms,10,T69,100ms,TONR定时器动作特点:,使能端接通,开始计时,使能端IN断开时,定时器保持当前值,当I0.0再次接通时,当前值继续增长,直至32767。当前值=设定值时,定时器位变ON。,TONR定时器的复位只能用,R,指令。,I0.0,T69,当前值,T69,位,7,32767,7,10,格式,:,TONR T,PT,举例:,断开延时定时器TOF,IN,PT,TOF,?,T?,?ms,格式,:,TOF T,PT,IN,PT,TOF,I0.0,5,T37,100ms,举例:,TOF定时器动作特点:,使能输入端IN接通时,定时器位立即为ON ;当使能端IN断开时,定时器开始计时,直至当前值=设定值,则定时器位为OFF,停止计时。,I0.0,T37位,T37当前值,5,5,例,,某生产设备工艺要求:主电动机M1、冷却风机的电动机M2同时启动;当主电动机M1停止后,冷却风机的电动机M2要继续工作1min,以便对主电动机降温。,要求:,用TOF定时器,来实现,PLC输出端Q0.1控制主电动机,Q0.2控制冷却风机电动机,启动I0.0,停止I0.1。,IN,PT,TOF,I0.0,600,T37,100ms,( ),Q0.1,Q0.0,I0.1,T37,( ),Q0.2,例,:根据要求,编制梯形图程序。,(1)开关接通,延时5s,指示灯才亮;,开关断开,指示灯灭。,(2)开关接通,指示灯就亮;,开关断开,延时5s,指示灯才灭。,IN,PT,TON,50,T37,100ms,( ),Q0.1,I0.0,T37,IN,PT,TOF,50,T38,100ms,( ),Q0.1,I0.0,T38,例,:根据要求,编制梯形图程序。,(3)开关接通,延时5s,指示灯才亮;,开关断开,延时5s,指示灯才灭,IN,PT,TON,50,T37,100ms,I0.0,IN,PT,TOF,50,T38,100ms,I0.0,( ),Q0.1,T37,T38,Q0.1,例,,自复位定时器。,IN,PT,TON,I0.0,50,T37,100ms,T37,( ),M0.0,T37,只有分辨率是100ms的定时器,可以组成这样的自复位定时器。这是由不同分辨率的定时器刷新周期不同决定的。,I0.0,M0.0,T37,当前值,定时器刷新周期:,(1)分辨率为1ms的定时器,每隔1ms定时器的位和当前值刷新一次。,(2)分辨率为10ms的定时器,在每个扫描周期开始时刷新。,(3)分辨率为100ms的定时器,在指令执行时刷新。,IN,PT,TON,I0.0,50,T33,10ms,T33,( ),M0.0,T33,IN,PT,TON,I0.0,50,T32,1ms,T32,( ),M0.0,T32,IN,PT,TON,I0.0,50,T33,10ms,T33,( ),M0.0,M0.0,例,,产生周期脉冲信号。,IN,PT,TON,I0.0,50,T37,100ms,T37,( ),M0.0,T38,IN,PT,TON,T38,100ms,100,I0.0,T37,T38,5S,10S,5S,10S,M0.0,练习:,某机械设备有3台电动机,控制要求如下:,按下启动按钮,第1台电动机M1启动;,M1运行10s后,第2台电动机M2启动;,M2运行15s后,第3台电动机M3启动;,按下停止按钮,3台电动机全部停机。,要求:,(1)绘制控制线路图和给出输入、输出端口分配表。,(2)设计梯形图程序,写出程序指令表。,计数器指令,S7-200系列PLC共有256个计数器,编号:C0C255,计数器类型:增计数器(CTU)、减计数器(CTD) 、增减计数器(CTUD),计数范围:计数器设定值和当前值寄存器都是16位的。,增计数器:032767,减计数器:032767,增减计数器:-3276832767,计数器编号有3个不同的含义:计数器号、当前值、位状态。,增计数器CTU,CU,R,PV,CTU,?,C?,(2)动作特点:,当前值=设定值,位状态发生改变(从OFF变为ON),若R端无效,则继续计数,直到当前值为32767。若复位端有效,则位状态立即复位为OFF、当前值清0。,(1)各输入端功能,CU:脉冲输入端,每输入一个上升沿脉冲信号,计数器当前值加1。,PV:设定值,范围:032767,R:复位端,位状态复位为OFF、当前值清0。,I0.0,CU,R,PV,CTU,C1,3,I0.1,C1,( ),Q0.1,I0.0,I0.1,C1当前值,C1位,Q0.1,1,2,3,1,2,3,减计数器CTD,CD,LD,PV,CTD,?,C?,(2)动作特点:,当前值=0时,位状态发生改变(从OFF变为ON),计数器停止计数。,复位端有效,位状态OFF、当前值恢复为设定值。,(1)各输入端功能,CD:脉冲输入端,每输入一个上升沿脉冲信号,计数器当前值减1。,PV:设定值,范围:032767。,LD:复位端,位状态复位为OFF,当前值恢复为设定值。,I0.0,CD,LD,PV,CTD,C1,3,I0.1,C1,( ),Q0.1,I0.0,I0.1,C1当前值,C1位,Q0.1,增减计数器CTUD,CU,CD,PV,CTUD,?,C?,(2)动作特点:,当前值=设定值,时,位状态发生改变(从OFF变为ON),若R端无效,则计数器继续计数。若R端有效,位状态OFF、当前值清0。,计数到最大值32767时,在CU的下一个脉冲,当前值变为-32768;,计数到最小值-32768时,在CD的下一个脉冲,当前值变为32767。,R,(1)各输入端功能,CU:脉冲输入端,每个上升沿脉冲,计数器当前值加1,CD:脉冲输入端,每个上升沿脉冲,计数器当前值减1,PV:设定值,范围-3276832767,R:复位端,位状态复位为OFF,当前值清0。,I0.0,CU,CD,PV,CTUD,C1,4,I0.1,C1,( ),Q0.1,I0.2,R,I0.0,I0.1,I0.2,C1当前值,C1位、Q0.1,举例,S7-200中一个定时器最大定时时间为3276.7 s(不到1小时) ,一个计数器的最大计数次数为32767次。这对于许多工程实际应用是远远不够的,如何实现定时时间和计数次数的扩展?,定时器串联扩展应用, 定时器与计数器串联扩展应用, 计数器的串联扩展应用,定时器串联扩展应用,。,通过2级、3级甚至多级的串联扩展是可以增加定时时间的。,但这种扩展形式的效率比较低,对于几天、几月的定时要求是不可想象的。,总定时时间=T37定时时间+T38定时时间, 定时器与计数器串联扩展应用,总定时时间 = 定时器定时时间计数器设定值,= 20000.1s3000,= 600 000s7天,将定时器的位状态作为计数器的计数脉冲输入,则,T37, 计数器的串联扩展应用,总计数次数=计数器1的计数值计数器2的计数值,假设一生产设备要求每天生产的工件数量为40 000件,那么对于计数器的计数要求已经超出了其最大值,这时需要采用2个计数器串联来实现该计数功能。,思考:总计数次数=计数器1的计数值+计数器2的计数值,例题:,单按钮启动/停止控制程序,控制时序如下图所示。,I0.0,Q0.0,I0.0,CU,R,PV,CTU,C1,1,C2,C1,( ),Q0.0,I0.0,CU,R,PV,CTU,C2,2,C2,I0.1,4s,I0.2,Q0.1,Q0.2,习题:,设计满足如图所示波形的梯形图程序。,到此结束!,I0.1,4s,I0.2,Q0.1,Q0.2,习题分析:,设计满足如图所示波形的梯形图程序。,LAD,STL,功能说明,SCR,S,?.?,LSCR,S,?.?,程序段的,开始,( ),SCRT,S,?.?,SCRT,S,?.?,程序段之间的,转移,SCRE,( ),SCRE,程序段的,结束,顺序控制指令,:,专门用于编制顺序控制程序。,S:顺序控制继电器,S7-200提供了256个状态继电器(),用于表示工艺流程中出现的每一个状态,即程序段标志位。,注意:顺序控制中的程序段的标志位只能用S表示,且一个状态继电器只能使用一次。,SCR,S,?.?,LSCR,S,?.?,(1)顺序控制,开始指令,:,说明:当状态继电器S?.?=1时,能执行对应的SCR程序段。,例如:,SCR,S,0.0,SM0.0,PLC运行监视,PLC上电后,一直为ON;,SM0.1,PLC初始化脉冲,接通一个扫描周期。,SM0.1,( S,),S0.0,1,(2)顺序控制,转移指令,:,说明:转移到对应的SCR程序段。,例如:,SCR,S,0.0,SM0.1,( S,),S0.0,1,( ),SCRT,S,?.?,SCRT,S,?.?,( SCRT ),S,0.1,当T37=1时,能转移到S0.1对应的SCR程序段,,即将S0.1置位,同时将S0.0复位,T37,(2)顺序控制,结束指令,:,例如:,SCR,S,0.0,SM0.1,( S,),S0.0,1,( SCRT ),S,0.1,T37,SCRE,( ),SCRE,( ),一个SCR程序段,每个顺序控制程序段必须用SCRE指令来结束。,顺序控制指令的应用:,顺序控制指令可以用在设备的初始化。,在工业控制中,常常需要对设备初始化后,才能进入正常的控制阶段。而初始化程序往往只需在开机的时候执行一次即可。,SCR,S,0.0,SM0.1,( S,),S0.0,1,SCRE,( ),初始化程序段,例1:,某机械设备有3台电动机,控制要求如下:,按下启动按钮,第1台电动机M1启动;,M1运行10s后,第2台电动机M2启动;,M2运行15s后,第3台电动机M3启动;,按下停止按钮,3台电动机全部停机。,分析:1、给出I/O分配。,S7-200 PLC,1M,M,L+,I0.0,I0.1,1L,N,Q0.1,Q0.2,Q0.3,L,L,N,KM1,KM2,KM3,FR1,FR2,FR3,SB1,SB2,例1:,某机械设备有3台电动机,控制要求如下:,按下启动按钮,第1台电动机M1启动;,M1运行10s后,第2台电动机M2启动;,M2运行15s后,第3台电动机M3启动;,按下停止按钮,3台电动机全部停机。,分析:2、含有几个不同的状态?,(1)初始状态:S0.0,(2)M1运行:S0.1,(3)M2运行:S0.2,(4)M3运行:S0.3,SCR,S,0.0,SCRE,( ),初始状态,SCR,S,0.1,SCRE,( ),M1运行,程序逻辑分段,SM0.1,( ),S,1,S0.0,SCR,S,0.0,( ),SM0.0,I0.0,( ),R,3,Q0.1,( ),SCRT,S,0.1,SCR,S,0.1,SCRE,( ),SM0.0,( ),S,1,Q0.1,IN,PT,TON,100,T37,100ms,SCRT,S,0.2,T37,SCRE,( ),SCR,S,0.0,SCRE,( ),初始状态,SCR,S,0.1,SCRE,( ),M1运行,( ),SCR,S,0.2,SM0.0,( ),S,1,Q0.2,IN,PT,TON,150,T38,100ms,SCRT,S,0.3,T38,SCRE,( ),( ),SCR,S,0.3,SM0.0,( ),S,1,Q0.3,SCRT,S,0.0,I0.1,SCRE,( ),SCR,S,0.2,SCRE,( ),M2运行,SCR,S,0.3,SCRE,( ),M3运行,例2:,根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2s后绿灯亮,再过3s后黄灯亮。待红、绿、黄灯全亮3min后,全部熄灭。,红灯-Q0.0,绿灯-Q0.1,黄灯-Q0.2,启动-I0.0,分析,:,(1),I/O分配:,(2)含有几个不同状态,初始态-S0.0,红灯亮-S0.1,红、绿灯亮-S0.2,红、绿、黄灯亮-S0.3,LSCR,S0.1,LD SM0.0,S Q0.0,1,TON T37,+20,LD T37,SCRT,S0.2 /(S0.2=1,S0.1=0),SCRE,/ 第一SCR段结束,LSCR,S0.2 /S0.2=1,/激活第二SCR程序段,例3:LAD转换成STL。,P152,习题6.15 :按下启动按钮后,红、绿、黄灯按如下时序变化,设计梯形图。,红灯Q0.1,绿灯Q0.1,黄灯Q0.1,启动I0.1,8s,15s,6s,STEP7-Micro/WIN 32,编程软件介绍,系统要求,STEP7-Micro/WIN 32编程软件是基于Windows操作系统平台的应用软件,适用于常见的Windows操作系统。,软件安装,STEP7-Micro/WIN 32编程软件的安装和普通的Windows应用程序安装方法大致相同。,目前常用的版本:STEP7-Micro/WIN 32 V4.0,支持汉化的版本,在首次安装完成后,应进行中文编程语言环境的设置。,STEP7-Micro/WIN 32,编程软件介绍,硬件连接,通常,采用,PC/PPI电缆,实现个人计算机与PLC之间的通信。,浏览条,指令树,此处为程序编辑区,局部变量表,每一个项目中必须有且只能有一个主程序,子程序,中断程序,S7-200程序结构,主程序:每一个项目中必须,有且只能有一个主程序,;主程序可以调用子程序和中断程序;每个扫描周期都要执行一次主程序。,子程序:可选。仅在被调用时执行。同一个子程序可在不同地方多次调用。子程序可简化代码、减少扫描时间,同时易于程序的移植。,中断程序:用于处理与用户程序执行时序无关的操作或者不能事先预测何时发生的中断事件。,中断程序由用户编写,但不是由用户程序调用,而是在中断事件发生时由操作系统调用。,S7-200仿真,仿真步骤,在编程软件,STEP7-Micro/WIN 32 中写好程序,STEP7-Micro/WIN 32中文件/导出,将文件保存为.awl,打开S7-200.EXE仿真软件,输入密码:6596,选择CPU类型:Configuration/CPU Type/CPU224XP,Program/Load Program/只选择Logic Block,导入.awl文件,点击工具栏上的 运行,就可以开始仿真调试。,作业:,P151 6.7 6.8,P152 6.11 6.14 6.15,到此结束!,
展开阅读全文