青岛大学-西门子先进自动化技术联合实验室1第5章指令系统S7-1200的指令从功能上大致可分为三类:基本指令、扩展指令和全局库指令。青岛大学-西门子先进自动化技术联合实验室2第5章5.1基本指令基本指令包括位逻辑指令、定时器、计数器、比较指令、数学指令、移动指令、转换指令、程序控制指令、逻辑运算指令以及移位和循环移位指令等。青岛大学-西门子先进自动化技术联合实验室3第5章青岛大学-西门子先进自动化技术联合实验室4第5章基本逻辑指令青岛大学-西门子先进自动化技术联合实验室5第5章内部输入触点(I)的闭合与断开仅与输入映像寄存器相应位的状态有关,与外部输入按钮、接触器、继电器的常开/常闭接法无关。输入映像寄存器相应位为1,则内部常开触点闭合,常闭触点断开。输入映像寄存器相应位为0,则内部常开触点断开,常闭触点闭合。青岛大学-西门子先进自动化技术联合实验室6第5章置位域复位域指令置位域指令将指定的地址开始的连续若干个地址置位(变为1状态并保持)。复位域指令将指定的地址开始的连续若干个地址复位(变为0状态并保持)。青岛大学-西门子先进自动化技术联合实验室7第5章置位/复位指令青岛大学-西门子先进自动化技术联合实验室8第5章I0.0I0.1Network1Network2Q0.02sQ0.02RI0.0I0.1Q0.0Q0.1(1)S、R指令中的2表示从指定的Q0.0开始的两个触点,即Q0.0与Q0.1。(2)在检测到I0.0闭合的上升沿时,输出线圈Q0.0、Q0.1被置为1,并保持,而不论I0.0为何种状态。(3)在检测到I0.1闭合的上升沿时,输出线圈Q0.0、Q0.1被复位为0,并保持,而不论I0.0为何种状态。青岛大学-西门子先进自动化技术联合实验室9第5章指令说明(1)指定触点一旦被置位,则保持接通状态,直到对其进行复位操作;而指定触点一旦被复位,则变为接通状态,直到对其进行复位操作。(2)如果对定时器和计数器进行复位操作,则被指定的T或C的位被复位,同时其当前值被清0。青岛大学-西门子先进自动化技术联合实验室10第5章复位优先、置位优先锁存器复位优先锁存器、置位优先锁存器:输出线圈可选青岛大学-西门子先进自动化技术联合实验室11第5章青岛大学-西门子先进自动化技术联合实验室12第5章指令功能RS复位优先锁存器,当置位信号和复位信号都有效时,复位信号优先,输出线圈不接通。SR置位优先锁存器,当置位信号和复位信号都有效时,置位信号优先,输出线圈接通。RS、SR指令均为锁存器,一个复位优先,一个置位优先。S连接置位输入,R连接复位输入。一旦输出线圈被置位,则保持置位状态直到复位输入接通。置位、复位输入均以高电平状态有效。青岛大学-西门子先进自动化技术联合实验室13第5章例:抢答器的设计抢答器有三个输入,分别为I0.0、I0.1和I0.2,输出分别为Q4.0、Q4.1和Q4.2,复位输入是I0.4。要求:三人中任意抢答,谁先按按钮,谁的指示灯优先亮,且只能亮一盏灯,进行下一问题时主持人按复位按钮,抢答重新开始。青岛大学-西门子先进自动化技术联合实验室14第5章抢答器程序青岛大学-西门子先进自动化技术联合实验室15第5章边沿指令青岛大学-西门子先进自动化技术联合实验室16第5章位逻辑指令——边缘检测触点指令如果输入信号I0.6由0变为1状态(即输入信号I0.6的上升沿),则该触点接通一个扫描周期。触点下面的M4.3为边缘存储位,用来存储上一个扫描循环是I0.6的状态,通过比较输入信号的当前状态和上一次循环的状态来检测信号的边沿。边沿存储位的地址只能在程序中使用一次,它的状态不能在其他地方被改写。只能使用M、全局DB和静态局部变量来作边沿存储位,不能使用临时局部数据或I/O变量来作边沿存储位。青岛大学-西门子先进自动化技术联合实验室17第5章位逻辑指令——P_TRIG与N_TRIG指令在流进P_TRIG指令的CLK输入端的能流的上升沿,Q端输出一个扫描周期的能流,使M8.1置位。P_TRIG指令与N_TRIG指令不能放在电路的开始处和结束处。青岛大学-西门子先进自动化技术联合实验室18第5章位逻辑指令——3种边沿检测指令的功能以上升沿检测为例:在P触点指令中,触点上面的地址的上升沿,该触点接通一个扫描周期,因此P触点用于检测触点上面地址的上升沿,并且直接输出上升沿脉冲。在P线圈的能流的上升沿,线圈上面的地址在一个扫描周期为1状态,因此P线圈用于检测能流的上升沿,并用线圈上面的地址来输出上升沿脉冲。P_TRIG指令用于检测能流的上升沿,并且直接输出上升沿脉冲。如果P_TRIG指令左边只有I1.0触点,可以用I1.0的P触点来代替P_TRIG指令。青岛大学-西门子先进自动化技术联合实验室19第5章[例]按动一次瞬时按钮I0.0,输出Q4.0亮,再按动一次按钮,输出Q4.0灭;重复以上。青岛大学-西门子先进自动化技术联合实验室20第5章[例]若故障信号I0.0为1,使Q4.0控制的指示灯以1Hz的频率闪烁。操作人员按复位按钮I0.1后,如果故障已经消失,则指示灯熄灭,如果没有消失,指示灯转为常亮,直至故障消失。青岛大学-西门子先进自动化技术联合实验室21第5章定时器使用定时器指令可创建编程的时间延迟,S7-1200PLC有4种定时器:●TP:脉冲定时器可生成具有预设宽度时间的脉冲。●TON:接通延迟定时器输出Q在预设的延时过后设置为ON。●TOF:关断延迟定时器输出Q在预设的延时过后重置为OFF。●TONR:保持型接通延迟定时器输出在预设的延时过后设置为ON。在使用R输入重置经过的时间之前,会跨越多个定时时段一直累加经过的时间。●RT:通过清除存储在指定定时器背景数据块中的时间数据来重置定时器。每个定时器都使用一个存储在数据块中的结构来保存定时器数据。在编辑器中放置定时器指令时可分配该数据块。青岛大学-西门子先进自动化技术联合实验室22第5章接通延迟定时器及其时序图青岛大学-西门子先进自动化技术联合实验室23第5章定时器的背景数据块结构青岛大学-西门子先进自动化技术联合实验室24第5章练习按下瞬时启动按钮I0.0,5秒后电动机启动,按下瞬时停止按钮I0.1,10秒后电动机停止。青岛大学-西门子先进自动化技术联合实验室25第5章青岛大学-西门子先进自动化技术联合实验室26第5章青岛大学-西门子先进自动化技术联合实验室27第5章例用接通延时定时器设计一个周期振荡电路。青岛大学-西门子先进自动化技术联合实验室28第5章用接通延时定时器设计周期和占空比可调的振荡电路。振荡电路的高、低电平时间分别由两个定时器的PT值确定。2s3s一个扫描周期I1.1M2.7Q0.7青岛大学-西门子先进自动化技术联合实验室29第5章保持型接通延迟定时器及其时序图青岛大学-西门子先进自动化技术联合实验室30第5章关断延迟定时器及其时序图青岛大学-西门子先进自动化技术联合实验室31第5章脉冲定时器及其时序图青岛大学-西门子先进自动化技术联合实验室32第5章例:用脉冲定时器实现一个周期振荡电路青岛大学-西门子先进自动化技术联合实验室33第5章复位定时器指令青岛大学-西门子先进自动化技术联合实验室34第5章两条运输带顺序相连,为避免运送的物料在1号运输带上堆积,按下起动按钮I0.3,1号带开始运行,8s后2号带自动起动。停机的顺序与起动的顺序相反,按了停止按钮I0.2后,先停2号带,8s后停1号带。Q1.1和Q0.6控制两台电动机M1和M2。青岛大学-西门子先进自动化技术联合实验室35第5章8s8sI0.3I0.2M2.3Q0.6Q1.1青岛大学-西门子先进自动化技术联合实验室36第5章参数数据类型说明INBool启用定时器输入RBool将TONR经过的时间重置为零PT(PresetTime)Bool预设的时间值输入QBool定时器输出ET(ElapsedTime)Time经过的时间值输出定时器数据块DB指定要使用RT指令复位的定时器参数IN从0变为1将启动TP、TON和TONR,从1变0将启动TOF。ET为定时开始后经过的时间,或称为已耗时间值(可以不为ET指定地址),它们的数值类型为32位的Time,单位为ms,最大定时时间为T#24D_20H_31M_23S_647MS。青岛大学-西门子先进自动化技术联合实验室37第5章IEC定时器和IEC计数器属于功能块,调用时需要指定配套的背景数据块,定时器和计数器指令的数据保存在背景数据块中。在梯形图中输入定时器指令时,打开右边的指令窗口将“定时器操作”文件夹中的定时器指令拖放到梯形图中适当的位置,在出现的“调用选项”对话框中修改将要生成的背景数据块的名称,或采用默认的名称。点击“确定”按钮,自动生成数据块。青岛大学-西门子先进自动化技术联合实验室38第5章计数器S7-1200有3种计数器:加计数器(CTU)、减计数器(CTD)和加减计数器(CTUD)。它们属于软件计数器,其最大计数速率受到它所在的OB的执行速率的限制。如果需要速率更高的计数器,可以使用CPU内置的高速计数器。调用计数器指令时,需要生成保存计数器数据的背景数据块。CU和CD分别是加计数输入和减计数输入,在CU或CD由0变为1是,实际计数值CV加1或减1。复位输入R为1时,计数器被复位,CV被清0,计数器的输入Q变为0。青岛大学-西门子先进自动化技术联合实验室39第5章计数器指令——计数器的输入输出参数参数数据类型说明CU、CDBOOL加计数或减计数,按加或减一计数R(CTU、CTUD)BOOL将计数值重置为零LOAD(CTD、CTUD)BOOL预设值的装载控制PVSInt、Int、DInt、USInt、UInt、UDInt预设计数值Q、QUBOOLCV=PV时为真QDBOOLCV=0时为真CVSInt、Int、DInt、USInt、UInt、UDInt当前计数值青岛大学-西门子先进自动化技术联合实验室40第5章加计数器及其时序图CTU:参数CU的值从0变为1时,CTU使计数值加1。如果参数CV(当前计数值)的值大于或等于参数PV(预设计数值)的值,则计数器输出参数Q=1。如果复位参数R的值从0变为1,则当前计数值复位为0。青岛大学-西门子先进自动化技术联合实验室41第5章计数器的背景数据块结构青岛大学-西门子先进自动化技术联合实验室42第5章减计数器及其时序图CTD:参数CD的值从0变为1时,CTD使计数值减1。如果参数CV(当前计数值)的值等于或小于0,则计数器输出参数Q=1。如果参数LOAD的值从0变为1,则参数PV(预设值)的值将作为新的CV(当前计数值)装载到计数器。青岛大学-西门子先进自动化技术联合实验室43第5章计数器指令——加减计数器CTUD:加计数(CU,CountUp)或减计数(CD,CountDown)输入的值从0跳变为1时,CTUD会使计数值加1或减1。如果参数CV(当前计数值)的值大于或等于参数PV(预设值)的值,则计数器输出参数QU=1。如果参数CV的值小于或等于零,则计数器输出参数QD=1。如果参数LOAD的值从0变为1,则参数PV(预设值)的值将作为新的CV(当前计数值)装载到计数器。如果复位参数R的值从0变为1,则当前计数值复位为0。青岛大学-西门子先进自动化技术联合实验室44第5章加减计数器及其时序图PV=4青岛大学-西门子先进自动化技术联合实验室45第5章传送带控制一个能够电气启动的传送带。在传送带的起点有两个按钮开关:用于START的S1和用于STOP的S2。在传送带的尾部也有两个按钮开关:S3用于START,S4用于STOP。可以从任一端启动或停止传送带。另外,当传送带上的物件到达末端时,传感器S5使传送带停机。青岛大学-西门子先进自动化技术联合实验室46第5章传送带示意图MOTOR_ONS1S2StartStopS3S4StartStopS5青岛大学-西门子先进自动化技术联合实验室47第5章用于传送带系统符号编程的元素系统部件绝对地址符号符号表启动按钮开关I1.1S1I1.1S1停止按钮开关I1.2S2