
西门子S7-1200plc 指令系统4.4PPT学习课件.ppt
151页青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室1第第5章章指令系统指令系统 S7-1200的指令从功能上大致可分为三类:基的指令从功能上大致可分为三类:基本指令、扩展指令和全局库指令本指令、扩展指令和全局库指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室2第第5章章5.1 基本指令基本指令 基本指令包括位逻辑指令、定时器、计数器、基本指令包括位逻辑指令、定时器、计数器、比较指令、数学指令、移动指令、转换指令、程序比较指令、数学指令、移动指令、转换指令、程序控制指令、逻辑运算指令以及移位和循环移位指令控制指令、逻辑运算指令以及移位和循环移位指令等 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室3第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室4第第5章章基本逻辑指令基本逻辑指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室5第第5章章 内部输入触点内部输入触点(I)(I)的闭合与断开仅与输入映像寄存器相应位的状的闭合与断开仅与输入映像寄存器相应位的状态有关,与外部输入按钮、接触器、继电器的常开态有关,与外部输入按钮、接触器、继电器的常开/ /常闭接法无关。
常闭接法无关输入映像寄存器相应位为输入映像寄存器相应位为1 1,则内部常开触点闭合,常闭触点断开则内部常开触点闭合,常闭触点断开输入映像寄存器相应位为输入映像寄存器相应位为0 0,则内部常开触点断开,常闭触点闭合则内部常开触点断开,常闭触点闭合青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室6第第5章章置位域复位域指令置位域复位域指令置置位位域域指指令令将将指指定定的的地地址址开开始始的的连连续续若若干干个个地地址址置置位位( (变变为为1 1状状态并保持态并保持) )复复位位域域指指令令将将指指定定的的地地址址开开始始的的连连续续若若干干个个地地址址复复位位(变变为为0状状态并保持态并保持)青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室7第第5章章置位置位/复位指令复位指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室8第第5章章 (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 RS 复位优先锁存器,当置位信号和复位信号都有效复位优先锁存器,当置位信号和复位信号都有效时,复位信号优先,输出线圈不接通。
时,复位信号优先,输出线圈不接通 SR SR 置位优先锁存器,当置位信号和复位信号都有效置位优先锁存器,当置位信号和复位信号都有效时,置位信号优先,输出线圈接通时,置位信号优先,输出线圈接通 RS RS、、SRSR指令均为锁存器,一个复位优先,一个置位优指令均为锁存器,一个复位优先,一个置位优先S S连接置位输入,连接置位输入,R R连接复位输入一旦输出线圈被置位,连接复位输入一旦输出线圈被置位,则保持置位状态直到复位输入接通则保持置位状态直到复位输入接通 置位、复位输入均以高电平状态有效置位、复位输入均以高电平状态有效 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室13第第5章章例:抢答器的设计例:抢答器的设计抢答器有三个输入,分别为抢答器有三个输入,分别为I0.0I0.0、、I0.1I0.1和和I0.2I0.2,,输出输出分别为分别为Q4.0Q4.0、、Q4.1Q4.1和和Q4.2Q4.2,,复位输入是复位输入是I0.4I0.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-1200 PLC有有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值确定青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室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章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室36第第5章章参数参数数据类型数据类型说明说明INBool启用定时器输入启用定时器输入RBool将将 TONR 经过的时间重置为零经过的时间重置为零PT (Preset Time)Bool预设的时间值输入预设的时间值输入QBool定时器输出定时器输出ET (Elapsed Time) 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、、CD BOOL加计数或减计数,按加或减加计数或减计数,按加或减一计数一计数 R ( CTU、、CTUD ) BOOL将计数值重置为零将计数值重置为零 LOAD (CTD、、CTUD) BOOL预设值的装载控制预设值的装载控制 PV SInt、、Int、、DInt、、USInt、、UInt、、UDInt 预设计数值预设计数值 Q、、QU BOOLCV >= PV 时为真时为真 QD BOOLCV <= 0 时为真时为真 CV SInt、、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, Count Up) 或或减减计计数数 (CD, Count Down) 输入的值从输入的值从 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章章传送带示意图传送带示意图青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室47第第5章章用于传送带系统符号编程的元素用于传送带系统符号编程的元素青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室48第第5章章控制传送带程序控制传送带程序青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室49第第5章章风机监控程序风机监控程序 某设备有三台风机,当设备处于运行状态时,如果风机至某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以则指示灯以0.5 Hz的频率闪烁;如果没有任何风机转动,则指的频率闪烁;如果没有任何风机转动,则指示灯不亮。
示灯不亮青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室50第第5章章 输入位输入位I0.0,,I0.1,,I0.2分别分别为风机为风机1,,2,,3输入端青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室51第第5章章•通过传送带电机KM1带动传送带传送物品,通过产品检测器PH检测产品通过的数量,传送带每传送24个产品机械手KM2动作1次,进行包装,机械手动作后,延时2秒,机械手的电磁铁切断通过传送带起动按钮、传送带停机按钮控制传送带的运动产品通过检测器产品通过检测器PH机械械手KM1KM2传送带电机传送带电机青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室52第第5章章计数器应用举例:产品数量检测计数器应用举例:产品数量检测产品通过检测器产品通过检测器PH机械械手KM1KM2传送带电机传送带电机PLC的的I/O分配:分配:I0.0— 传送带停机按钮传送带停机按钮I0.1—传送带起动按钮传送带起动按钮I0.2— 产品通过检测器产品通过检测器PHQ0.0—传送带电机传送带电机KM1Q0.1—机械械手KM2定时器定时器,定时定时2秒秒计数器,设定值计数器,设定值24(每(每24个产品个产品机械手动作机械手动作1次)次)青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室53第第5章章I0.0— 传送带停传送带停机按钮机按钮I0.1—传送带起动传送带起动按钮按钮I0.2— 产品通过产品通过检测器检测器PHQ0.0—传送带电机传送带电机KM1Q0.1—机械械手KM2定时器定时器,定时定时2秒秒计数器,设定值计数器,设定值24机械手动作后,延时机械手动作后,延时2 2秒,秒,机械手的电磁铁切断机械手的电磁铁切断测到一个产品,测到一个产品,I0.2产生一个正产生一个正脉冲,使计一个数。
脉冲,使计一个数C10每计每计24个数,机械手动作一次个数,机械手动作一次青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室54第第5章章 3台电机顺序启动、反序停止控制台电机顺序启动、反序停止控制 控制要求:按下启动按钮后,控制要求:按下启动按钮后,3台电机按台电机按M1、、M2、、M3的顺序隔的顺序隔2s启动;按下停止按钮后,启动;按下停止按钮后,3台台电机按电机按M3、、M2、、M1的顺序隔的顺序隔2s停止输入触点入触点功能功能说明明输出出线圈圈功能功能说明明I0.0启启动按按钮Q0.0M1控制控制继电器器I0.1停止按停止按钮Q0.1M2控制控制继电器器Q0.2M3控制控制继电器器青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室55第第5章章3台电机顺序启台电机顺序启动,反序停止控动,反序停止控制程序制程序青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室56第第5章章展厅人数控制系统展厅人数控制系统 控制要求:现有一展厅,最多可容纳控制要求:现有一展厅,最多可容纳50人同时人同时参观。
展厅进口与出口各装一传感器,每有一人进参观展厅进口与出口各装一传感器,每有一人进出,传感器给出一个脉冲信号试编程实现,当展出,传感器给出一个脉冲信号试编程实现,当展厅内不足厅内不足50人时,绿灯亮,表示可以进入;当展厅人时,绿灯亮,表示可以进入;当展厅满满50人时,红灯亮,表示不准进入人时,红灯亮,表示不准进入 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室57第第5章章展厅人数控制系统展厅人数控制系统I/O分配表分配表输入触点入触点功能功能说明明输出出线圈圈功能功能说明明I0.0系系统启启动按按钮Q0.0绿灯灯输出出I0.1进口口传感器感器S1Q0.1红灯灯输出出I0.2出口出口传感器感器S2青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室58第第5章章展厅人数控制程序展厅人数控制程序I0.0系系统启启动按按钮Q0.0绿灯灯输出出I0.1进口口传感器感器S1Q0.1红灯灯输出出I0.2出口出口传感器感器S2青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室59第第5章章运料车自动装、卸料控制运料车自动装、卸料控制 控制要求:控制要求:①①某运料车如图所示,可在某运料车如图所示,可在A A、、B B两地分别启动。
运两地分别启动运料车启动后,自动返回料车启动后,自动返回A A地停止,同时控制料斗门的电磁阀地停止,同时控制料斗门的电磁阀Y1Y1打开,打开,开始装料开始装料1 1分钟后,电磁阀分钟后,电磁阀Y1Y1断开,关闭料斗门,运料车自动向断开,关闭料斗门,运料车自动向B B地运行到达地运行到达B B地后停止,小车底门由电磁阀地后停止,小车底门由电磁阀Y2Y2控制打开,开始卸料控制打开,开始卸料1 1分钟后,运料车底门关闭,开始返回分钟后,运料车底门关闭,开始返回A A地之后重复运行之后重复运行 ② ② 运料车在运行过程中,可用手动开关使其停车再次启动后,运料车在运行过程中,可用手动开关使其停车再次启动后,可重复可重复①①中内容中内容 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室60第第5章章图图7.43 运料车自动装、卸料控制示意图运料车自动装、卸料控制示意图青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室61第第5章章 运料车自动装、卸料控制运料车自动装、卸料控制I/O分配表分配表输入触点入触点功能功能说明明输出出线圈圈功能功能说明明I0.0启启动按按钮Q0.0右行右行I0.2A点行程开关点行程开关(装料启动装料启动结束自锁按钮结束自锁按钮)Q0.1左行左行I0.3B点行程开关点行程开关Q0.2电磁磁阀Y1,装料,装料I0.4停止按停止按钮Q0.3电磁磁阀Y2,卸料,卸料青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室62第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室63第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室64第第5章章比较指令比较指令青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室65第第5章章 可以使用可以使用“等于等于”操作确定第一个比较值是否等于第二个比较值。
操作确定第一个比较值是否等于第二个比较值 要比较的要比较的两个值必须为相同的数据类型该两个值必须为相同的数据类型该 LAD 触点比较结果为触点比较结果为 TRUE 时,则该触点时,则该触点会被激活会被激活 在程序编辑器中单击该指令后,可以从下拉菜单中选择比较类型和在程序编辑器中单击该指令后,可以从下拉菜单中选择比较类型和数据类型数据类型青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室66第第5章章•可以使用“大于”操作确定第一个比较值是否大于第二个比较值 要比较的两个值必须为相同的数据类型 •如果比较为真,则 RLO 为“1”•在比较字符串时,通过字符 ASCII 码比较字符(例如“a”大于“A”) 从左到右执行比较 第一个不同的字符决定比较结果 如果较长字符串的左侧部分和较短字符串相同,则认为较长字符串更大青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室67第第5章章•使用 IN_RANGE 和 OUT_RANGE 指令可测试输入值是在指定的值范围之内还是之外 如果比较结果为 TRUE,则功能框输出为 TRUE输入参数 MIN、VAL 和 MAX 的数据类型必须相同。
在程序编辑器中单击该指令后,可以从下拉菜单中选择数据类型青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室68第第5章章例例::用用比比较较和和计计数数指指令令编编写写开开关关灯灯程程序序,,要要求求灯灯控控按按钮钮I0.0按按下下一一次次,,灯灯Q4.0亮亮,,按按下下两两次次,,灯灯Q4.0,,Q4.1全全亮亮,,按按下下三三次次灯灯全全灭灭,,如如此此循循环分析:在程序中所用计数器为加法计数器,当分析:在程序中所用计数器为加法计数器,当加到加到3 3时,必须复位计数器,这是关键灯控制时,必须复位计数器,这是关键灯控制程序如图所示程序如图所示青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室69第第5章章梯形图程序如下:梯形图程序如下:青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室70第第5章章例:在例:在HMI设备上可以设定电动机的转速,设定值设备上可以设定电动机的转速,设定值MW20的范围为的范围为100-1440转转/分钟,若输入的设定值分钟,若输入的设定值在此范围内,则延时在此范围内,则延时5秒钟启动电动机秒钟启动电动机Q0.0,否则,否则Q0.1长亮提示。
长亮提示 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室71第第5章章使用使用OK和和NOT_OK指令可测试输入的数据是否为符合指令可测试输入的数据是否为符合IEEE规范规范754的有的有效实数图中,当效实数图中,当MD0和和MD4中为有效的浮点数时,会激活中为有效的浮点数时,会激活“实数乘实数乘”(MUL) 运算并置位输出,即将运算并置位输出,即将MD0的值将与的值将与MD4的值相乘,结果存储在的值相乘,结果存储在MD10中同时中同时Q4.0输出为输出为1 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室72第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室73第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室74第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室75第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室76第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室77第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室78第第5章章 如果输入 IN 的值为 123.4567则输出 OUT 返回值 0.4567青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室79第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室80第第5章章移动指令移动指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室81第第5章章•可以使用“移动块”操作将一个存储区(源区域)的内容复制到另一个存储区(目标区域)。
要复制到目标区域的元素个数由参数 COUNT 指定 要复制的元素的宽度由输入 IN 的元素宽度定义复制操作沿地址升序方向进行•只有使能输入 EN 的信号状态为“1”时,才执行该操作 如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1” •如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:•输入 EN 的信号状态为“0”•复制的数据量超出输出 OUT 存储区所提供的数据量青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室82第第5章章•可以通过“填充块”操作使用输入 IN 的值填充存储区(目标区域) 从输出 OUT 指定的地址开始填充目标区域 重复的复制操作次数由参数 COUNT 指定 执行该操作时,将选择输入 IN 的值并将其按照参数 COUNT 指定的重复次数复制到目标区域 •只有使能输入 EN 的信号状态为“1”时,才执行该操作 如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1” •如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:•输入 EN 的信号状态为“0”•复制的数据量超出输出 OUT 存储区所提供的数据量。
青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室83第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室84第第5章章•MOVE 指令将单个数据元素从 IN 参数指定的源地址复制到 OUT 参数指定的目标地址•MOVE_BLK 和 UMOVE_BLK 指令具有附加的 COUNT 参数 COUNT 指定要复制的数据元素个数 每个被复制元素的字节数取决于 PLC 变量表中分配给 IN 和 OUT 参数变量名称的数据类型•MOVE_BLK 和 UMOVE_BLK 指令在处理中断的方式上有所不同:•● 在 MOVE_BLK 执行期间排队并处理中断事件 在中断 OB 子程序中未使用移动目标地址的数据时,或者虽然使用了该数据,但目标数据不必一致时,使用 MOVE_BLK指令 如果 MOVE_BLK 操作被中断,则最后移动的一个数据元素在目标地址中是完整并且一致的 MOVE_BLK 操作会在中断 OB 执行完成后继续执行•● 在 UMOVE_BLK 完成执行前排队但不处理中断事件 如果在执行中断 OB 子程序前移动操作必须完成且目标数据必须一致,则使用 UMOVE_BLK 指令。
青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室85第第5章章转换指令转换指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室86第第5章章•“转换”操作读取参数 IN 的数据,然后根据指定的数据类型对其进行转换•仅当使能输入 EN 的信号状态为“1”时,才能启动“转换”操作 如果执行过程中未发生错误,则输出 ENO 的信号状态也为“1” •如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:•输入 EN 的信号状态为“0”•处理过程中发生溢出之类的错误青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室87第第5章章•可以使用“取整数字值”运算将输入 IN 的值取整为最接近的整数 该运算将输入 IN 的值解释为浮点数并将其转换为最接近的双精度整数 如果输入值恰好是相邻偶数和奇数的平均数,则选择偶数 运算结果放在输出 OUT 中,可供查询•只有使能输入 EN 的信号状态为“1”时,才执行该操作 如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”•如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:•输入 EN 的信号状态为“0”。
青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室88第第5章章•可以使用“浮点数向上取整”运算将输入 IN 的值向上取整为相邻整数 该运算将输入 IN 的值解释为浮点数并将其向上转换为相邻的整数 运算结果放在输出 OUT 中,可供查询 输出值可以大于或等于输入值•只有使能输入 EN 的信号状态为“1”时,才执行该操作 如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”•如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:•输入 EN 的信号状态为“0”青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室89第第5章章•可以使用“浮点数向下取整”运算将输入 IN 的值向下取整为相邻整数 该运算将输入 IN 的值解释为浮点数并将其向下转换为相邻的整数 运算结果放在输出 OUT 中,可供查询 输出值可以小于或等于输入值•只有使能输入 EN 的信号状态为“1”时,才执行该操作 如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”•如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:•输入 EN 的信号状态为“0”。
青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室90第第5章章•可以使用“截取整数”运算得出整数而不对输入 IN 的值进行舍入 输入 IN 的值被视为浮点数 该运算仅选择浮点数的整数部分,并将其发送到输出 OUT 中,不带小数位 •只有使能输入 EN 的信号状态为“1”时,才执行该操作 如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”•如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:•输入 EN 的信号状态为“0”青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室91第第5章章•可以使用“标定”运算通过将输入 VALUE 的值映射到指定的取值范围对该值进行标定 执行“标定”运算时,会将输入 VALUE 的浮点数值标定到由参数 MIN 和 MAX 定义的取值范围 标定结果为整数,并存储在输出 OUT 中•只有使能输入端 EN 的信号状态为“1”时,才执行“标定”运算 在这种情况下,使能输出 ENO 的信号状态也为“1”青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室92第第5章章•可以使用“标准化”运算通过将输入 VALUE 的变量值映射到线性标尺对其进行标准化。
可以使用参数 MIN 和 MAX 定义(应用于该标尺的)取值范围的限值 根据标准化值在该取值范围内的位置,计算结果并以浮点数形式存储在输出 OUT 中 如果要标准化的值等于输入 MIN 的值,输出 OUT 将返回值“0.0” 如果要标准化的值等于输入 MAX 的值,输出 OUT 将返回值“1.0” 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室93第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室94第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室95第第5章章程序控制指令程序控制指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室96第第5章章•可以使用“为 1 时块中跳转(有条件)” 目标程序段必须标有跳转标签 需要指定该跳转标签的名称以便执行该操作 指定的跳转标签位于该操作的上方•指定的跳转标签必须在执行该操作的块中 指定的名称在块中只能出现一次 •如果该操作的输入端的逻辑运算结果 为“1”,则跳转到跳转标签所标识的程序段 跳转方向可以朝向更大或更小的程序段编号。
•如果该操作的输入不为真 (RLO = 0),则程序继续在下一个程序段中执行•可以使用“跳转标签”指定跳转的目标程序段,程序应在目标程序段中继续执行 跳转标签的名称可以包含字母、数字或下划线 •跳转标签以及指定了该跳转标签的操作必须位于同一个块中 跳转标签的名称在块中只能分配一次 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室97第第5章章•可以使用“为 0 时块中跳转(有条件)”操作,目标程序段必须标有跳转标签 需要指定该跳转标签的名称以便执行该操作 指定的跳转标签位于该操作的上方•指定的跳转标签必须在执行该操作的块中 指定的名称在块中只能出现一次 •如果该操作的输入端的逻辑运算结果 (RLO) 为“0”,则跳转到跳转标签所标识的程序段 跳转方向可以朝向更大或更小的程序段编号 •如果该操作的输入端的逻辑运算结果为“1”,则程序在下一个程序段中继续执行 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室98第第5章章•可以使用“返回”操作停止块的执行 只有左侧接头的信号状态为“1”时,才会执行该操作 如果满足该条件,将在当前被调用块中终止程序执行并在调用块(例如,在调用 OB 中)中的调用功能后继续执行。
调用功能的状态由“返回”操作的参数决定 该参数可以为以下值:•TRUE: 调用功能的输出 ENO 置位为“1”•FALSE: 调用功能的输出 ENO 复位为“0”•<操作数>: 调用功能的输出 ENO 由指定操作数的信号状态决定•如果组织块被“返回”操作终止,则 CPU 继续执行系统程序•如果“返回”操作输入端的信号状态为“0”,则不执行该操作 在这种情况下,程序继续在被调用块的下一个程序段中执行青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室99第第5章章图图 无条件跳转无条件跳转青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室100第第5章章图图 条件跳转条件跳转青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室101第第5章章字逻辑运算指令字逻辑运算指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室102第第5章章•可以使用“AND 逻辑运算”将输入 IN1 的值与输入 IN2 的值通过 AND 逻辑逐位运算,并通过输出 OUT 查询结果 •执行该运算时,输入 IN1 的值的位 0 与输入 IN2 的值的位 0 通过 AND 逻辑进行运算。
结果存储在输出 OUT 的位 0 中 对指定值的所有其它位都执行相同的逻辑运算•仅当该逻辑运算中的两个位的信号状态均为“1”时,结果位的信号状态才为“1” 如果该逻辑运算的两个位中有一个位的信号状态为“0”,则对应的结果位将复位•只有使能输入 EN 的信号状态为“1”时,才执行该操作 在这种情况下,输出 ENO 的信号状态也为“1”•如果使能输入 EN 的信号状态为“0”,则使能输出 ENO 的信号状态复位为“0”青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室103第第5章章•可以使用“解码”运算在输出值中置位一个位,该位通过输入值指定•“解码”运算读取输入 IN 的值,然后在输出值中置位一个位,该位位置与读取的值一致 输出值中的其它位以零填充•只有使能输入 EN 的信号状态为“1”时,才能启动“解码”运算 如果执行过程中未发生错误,则输出 ENO 的信号状态也为“1” •如果使能输入 EN 的信号状态为“0”,则使能输出 ENO 的信号状态复位为“0”青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室104第第5章章•可以使用“编码”运算读取输入值中最低有效置位位的位号并将其发送到输出 OUT。
•“编码”运算选择输入 IN 值的最低有效位并将该位号写入输出 OUT 的变量中 •只有使能输入 EN 的信号状态为“1”时,才能启动“编码”运算 如果执行过程中未发生错误,则输出 ENO 的信号状态也为“1” •如果使能输入 EN 的信号状态为“0”,则使能输出 ENO 的信号状态复位为“0”青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室105第第5章章•“选择”操作依靠一个开关(参数 G)选择输入 IN0 或 IN1 中的一个并将其数据复制到输出 OUT 如果参数 G 的信号状态为“0”,则复制输入 IN0 的值 如果参数 G 的信号状态为“1”,则将输入 IN1 的值复制到输出 OUT•只有使能输入 EN 的信号状态为“1”时,才执行该操作 如果执行过程中未发生错误,则输出 ENO 的信号状态也为“1”•如果使能输入 EN 的信号状态为“0”或执行该操作期间出错,将复位使能输出 ENO青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室106第第5章章•可以使用“多路复用”操作将所选输入的数据复制到输出 OUT 功能框 MUX 的可选输入数可以扩展。
输入会在该功能框中自动编号 从 IN0 起开始编号,每个新输入的编号连续递增 可以使用参数 K 确定应该将哪个输入的数据复制到输出 OUT 如果参数 K 的值大于可用输入数,则将参数 ELSE 的数据复制到输出 OUT,并将使能输出 ENO 设置为信号状态“0” •只有所有输入的变量和输出 OUT 的变量具有相同数据类型时,才能执行“多路复用”操作 参数 K 例外,因为只能为其指定整数•只有使能输入 EN 的信号状态为“1”时,才执行该操作 如果执行过程中未发生错误,则输出 ENO 的信号状态也为“1”青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室107第第5章章移位和循环指令移位和循环指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室108第第5章章•可以使用“右移”操作将输入 IN 的变量数据逐位右移,并通过输出 OUT 查询结果 使用参数 N 设置指定将移位的位数 •参数 N 的值为“0”时,输入 IN 的值将被复制到输出 OUT 的变量中•当参数 N 的值大于位数时,输入 IN 的变量值将按其可用位数向右移位。
•无符号值移位时,用零填充变量左侧区域中空出的位 如果指定值有符号,则用符号位的信号状态填充空出的位青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室109第第5章章•可以使用“左移”操作将输入 IN 中的变量数据逐位左移,并通过输出 OUT 查询结果 使用参数 N 设置指定将移位的位数 •参数 N 的值为“0”时,输入 IN 的值将被复制到输出 OUT 的变量中•当参数 N 的值大于位数时,输入 IN 的变量值将按其可用位数向左移位•用零填充变量右侧部分因移位空出的位 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室110第第5章章•可以使用“循环右移”操作将输入 IN 的变量数据逐位循环右移,并通过输出 OUT 查询结果 参数 N 指定将循环移位的位数 用挤出的位填充因循环移位空出的位•参数 N 的值为“0”时,输入 IN 的值将被复制到输出 OUT 的变量中•当参数 N 的值大于位数时,输入 IN 的变量值将按其可用位数进行循环移位青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室111第第5章章•可以使用“循环左移”操作将输入 IN 的变量数据逐位循环左移,并通过输出 OUT 查询结果。
参数 N 指定将循环移位的位数 用挤出的位填充因循环移位空出的位•参数 N 的值为“0”时,输入 IN 的值将被复制到输出 OUT 的变量中•当参数 N 的值大于位数时,输入 IN 的变量值将按其可用位数进行循环移位青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室112第第5章章[例例] 通过循环指令实现彩灯控制通过循环指令实现彩灯控制编写程序如图编写程序如图5-30所示,其中所示,其中I0.0为控制开关,为控制开关,M1.5为周期为为周期为1s的时钟存储器位,实现的功能为当的时钟存储器位,实现的功能为当按下按下I0.0,,QD4中为中为1的输出位每秒钟向左移动的输出位每秒钟向左移动1位第第1段程序的功能是赋初值,即将段程序的功能是赋初值,即将QD4中的中的Q7.0置置位,第位,第2段程序的功能是每秒钟段程序的功能是每秒钟QD4循环左移一位循环左移一位 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室113第第5章章5.2 扩展指令扩展指令 S7-1200的扩展指令包括日期和时间指令,字的扩展指令包括日期和时间指令,字符串和字符指令,程序控制指令,通信指令,中断符串和字符指令,程序控制指令,通信指令,中断指令,指令,PID控制指令,运动控制指令,脉冲指令等。
控制指令,运动控制指令,脉冲指令等 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室114第第5章章日期和时间指令日期和时间指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室115第第5章章•使用 T_CONV 可将输入 IN 的值转换成输出 OUT 指定的数据格式 可实现下列转换:•时间 (TIME) 到数字值 (DINT) 的转换•数值 (DINT) 到时间 (TIME) 的转换•通过选择指令输入和输出的数据类型来决定转换的类型 可通过输出 OUT 查询转换结果青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室116第第5章章•使用 T_ADD 可将输入 IN1 的时间与输入 IN2 的时间相加 通过输出 OUT 查询结果 可以对下列格式进行相加操作:•时间段 (TIME) 与时间段 (TIME) 相加 结果可以输出到 TIME 格式的变量中•时间段 (TIME) 与时间点 (DTL) 相加 结果可以输出到 DTL 格式的变量中•通过选择指令输入和输出的数据类型来决定输入 IN1 和输出 OUT 的格式。
在输入 IN2 中,只能指定 TIME 格式的时间 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室117第第5章章•使用 T_SUB 可将输入 IN1 的时间与输入 IN2 的时间相减 通过输出 OUT 查询差值 可以对下列格式进行相减操作:•时间段 (TIME) 与时间段 (TIME) 相减 结果可以输出到 TIME 格式的变量中•从某时间点 (DTL) 减去一个时间段 (TIME) 结果可以输出到 DTL 格式的变量中•通过选择指令输入和输出的数据类型来决定输入 IN1 和输出 OUT 的格式 在输入 IN2 中,只能指定 TIME 格式的时间青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室118第第5章章•使用 T_DIFF 可将输入 IN1 的时间与输入 IN2 的时间相减 以 TIME 格式通过输出 OUT 输出结果 在输入 IN1 和 IN2 中只能指定 DTL 格式的值 •如果在输入 IN2 中指定的时间大于在输入 IN1 中指定的时间,则结果将以负值的形式通过输出 OUT 输出 如果该指令的结果超出允许范围,则此结果将限制为相应的值,并且使能输出 ENO 将设置为“0”。
青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室119第第5章章•可使用 WR_SYS_T 设置 CPU 时钟的日期和时间 在指令的输入 IN 指定 DTL 格式的日期和时间 在输出 RET_VAL 中,可以查询指令执行期间是否出错•不能使用“WR_SYS_T”指令发送有关本地时区或夏令时的信息青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室120第第5章章•可使用 RD_SYS_T 读取 CPU 时钟的当前日期和当前时间 数据以 DTL 格式放在指令的输出 OUT 中 得出的值不包含有关本地时区或夏令时的信息 在输出 RET_VAL 中,可以查询指令执行期间是否出错青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室121第第5章章•可使用 RD_LOC_T 从 CPU 时钟读取当前本地时间,并在输出 OUT 以 DTL 格式输出该值 在 CPU 时钟的组态中设置的时区和夏令时开始时间以及标准时间,其相关信息均包括在本地时间信息中青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室122第第5章章字符串转换指令字符串转换指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室123第第5章章•使用 S_CONV 可将输入 IN 的值转换成在输出 OUT 中指定的数据格式。
可实现下列转换:•字符串 (STRING) 转换为数字值:在输入 IN 中指定的字符串的所有字符都将进行转换 允许的字符为数字 0 到 9、小数点以及加号和减号 字符串的第一个字符可以是有效数字或符号 前导空格和指数表示将被忽略 无效字符可能会中断字符转换 此时,使能输出 ENO 将设置为“0” 可通过选择输出 OUT 的数据类型来决定转换的输出格式•数字值转换为字符串 (STRING):通过选择输入 IN 的数据类型来决定要转换的数字值格式 必须在输出 OUT 中指定一个有效的 STRING 数据类型的变量 转换后的字符串长度取决于输入 IN 的值 由于第一个字节包含字符串的最大长度,第二个字节包含字符串的实际长度,因此转换的结果从字符串的第三个字节开始存储 输出正数字值时不带符号•复制字符串:如果在指令的输入和输出均输入 STRING 数据类型,则输入 IN 的字符串将被复制到输出 OUT 如果输入 IN 字符串的实际长度超出输出 OUT 字符串的最大长度,则将复制 IN 字符串中完全适合 OUT 的字符串的那部分,并且使能输出 ENO 将设置为“0”值青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室124第第5章章•使用 STRG_VAL 可将字符串转换为数字值。
在输入 IN 中指定要转换的字符串 可通过选择输出 OUT 的数据类型来决定输出值的格式 通过输出 OUT 查询结果•从参数 P 中指定位置的字符开始转换 例如,如果参数 P 中指定的值为“1”,则将从指定字符串的第一个字符开始转换 转换允许的字符为数字 0 到 9、小数点、逗号小数点、符号“E”和“e”以及加号和减号字符 无效字符可能会中断转换 此时,使能输出 ENO 将设置为“0”•使用参数 FORMAT 可指定要如何解释字符串中的字符 也可以使用“STRG_VAL”指令来转换和表示指数值 只能为参数 FORMAT 指定 USINT 数据类型的变量 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室125第第5章章•使用 VAL_STRG 可将数字值转换为字符串 在输入 IN 中指定要转换的值 通过选择数据类型来决定数字值的格式 通过输出 OUT 查询转换结果•通过参数 P 可指定从字符串中的哪个字符开始写入结果 例如,如果参数 P 中指定的值为“2”,则将从字符串的第二个字符开始保存转换值 •通过参数 SIZE 可以指定字符串中写入的字符数 这要从参数 P 中指定的字符开始算起。
如果由参数 P 和 SIZE 定义的长度不够,则使能输出 ENO 将设置为“0” 如果输出值比指定长度短,则结果将以右对齐方式写入字符串 空字符位置将填入空格•转换允许的字符为数字 0 到 9、小数点、逗号小数点、符号“E”和“e”以及加号和减号字符 无效字符可能会中断转换 此时,使能输出 ENO 将设置为“0”•使用参数 FORMAT 可指定在转换期间如何解释数字值以及如何将其写入字符串 只能为参数 FORMAT 指定 USINT 数据类型的变量青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室126第第5章章字符串操作指令字符串操作指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室127第第5章章•STRING 类型的变量包含两个长度: 最大长度和当前长度(即当前有效字符的数量) 每个变量的字符串最大长度在 STRING 关键字的方括号中指定 当前长度表示实际使用的字符位置数 当前长度必须小于或等于最大长度 字符串占用的字节数为最大长度加 2•可使用“LEN”指令查询在输入 IN 中指定的字符串的当前长度,并在输出 OUT 以数字值的形式将其输出。
空字符串 ('') 的长度为零 •如果操作处理期间出错,则将输出空字符串青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室128第第5章章•CONCAT 连接字符串参数 IN1 和 IN2 以形成一个字符串,并放在 OUT 中 目标字符串必须足够长,否则结果字符串将被截短并且使能输出 ENO 将设置为“0”值•如果指令处理期间出错并且可以写入到输出 OUT,则将输出空字符串青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室129第第5章章•可使用 LEFT 从输入 IN 字符串的第一个字符开始提取出一部分字符串 通过参数 L 指定要提取的字符数 以 STRING 格式通过输出 OUT 输出提取的字符 •如果要提取的字符数大于字符串的当前长度,则输出 OUT 将返回输入字符串 参数 L 的值为“0”时或者输入值为空字符串时都将返回空字符串 如果参数 L 的值为负值,则将输出空字符串并且使能输出 ENO 将设置为“0”值青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室130第第5章章•可使用 MID 将输入 IN 字符串的一部分提取出来。
可通过参数 P 指定要提取的第一个字符的位置 通过参数 L 指定要提取的字符串长度 提取的部分字符串通过输出 OUT 输出•执行该指令时应遵守以下规则: •如果要提取的字符数超出输入 IN 字符串的当前长度,则将输出从字符位置 P 开始到该字符串末尾的这一部分字符串•如果通过参数 P 指定的字符位置超出输入 IN 字符串的当前长度,则将通过输出 OUT 输出空字符串并且使能输出 ENO 将设置为“0”值•如果参数 L 或 P 的值等于零或为负值,则将通过输出 OUT 输出空字符串并且使能输出 ENO 将设置为“0”值青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室131第第5章章•可使用 DELETE 将输入 IN 字符串的一部分删除 可通过参数 P 指定要删除的第一个字符的位置 可使用参数 L 指定要删除的字符数 剩余部分的字符串通过输出 OUT 以 STRING 格式输出•执行该指令时应遵守以下规则:•如果参数 L 或 P 的值等于零,则输出 OUT 将返回输入字符串•如果参数 P 的值大于输入 IN 字符串的当前长度,则输出 OUT 将返回输入字符串。
•如果要删除的字符数大于输入 IN 字符串的长度,则将输出空字符串•如果参数 L 或 P 的值为负值,则将输出空字符串并且使能输出 ENO 将设置为“0”值青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室132第第5章章•从字符串 1 的某个字符位置开始插入字符串 2,并将结果存储在目标字符串中 可使用参数 P 指定要插入字符的字符位置 以 STRING 格式通过输出 OUT 输出结果•执行该指令时应遵守以下规则:•如果参数 P 的值超出输入 IN1 字符串的当前长度,则输入 IN2 的字符串将附加到输入 IN1 的字符串的后面•如果参数 P 的值为负值或等于零,则将通过输出 OUT 输出空字符串 使能输出 ENO 将设置为“0”值•如果结果字符串比在输出 OUT 中指定的变量长,则结果字符串将被限制为有效长度 使能输出 ENO 将设置为“0”值青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室133第第5章章•可使用 REPLACE 将输入 IN1 的字符串替换为输入 IN2 的字符串 可通过参数 P 指定要替换的第一个字符的位置。
通过参数 L 指定要替换的字符数 以 STRING 格式通过输出 OUT 输出结果•执行该指令时应遵守以下规则:•如果参数 L 的值等于零,则输出 OUT 将返回输入 IN1 的字符串•如果 P 等于 1,则将从输入 IN1 字符串的第一个字符开始(包括该字符)对其进行替换•如果参数 P 的值超出输入 IN1 字符串的当前长度,则输入 IN2 的字符串将附加到输入 IN1 的字符串的后面•如果参数 P 的值为负值或等于零,则将通过输出 OUT 输出空字符串 使能输出 ENO 将设置为“0”值•如果结果字符串比在输出 OUT 中指定的变量长,则结果字符串将被限制为有效长度 使能输出 ENO 将设置为“0”值青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室134第第5章章•可使用 FIND 来搜索输入 IN1 的字符串以查找特定字符或特定字符串 在输入 IN2 中指定要搜索的值 搜索从左向右进行 将通过输出 OUT 输出第一个搜索结果的位置 如果搜索未返回任何匹配值,则将通过输出 OUT 输出“0”值•如果指令处理期间出错,则将输出空字符串青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室135第第5章章程序控制指令程序控制指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室136第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室137第第5章章通信指令通信指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室138第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室139第第5章章点对点指令点对点指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室140第第5章章点对点指令点对点指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室141第第5章章中断指令中断指令 附加和分离指令附加和分离指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室142第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室143第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室144第第5章章青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室145第第5章章 启启动和取消延和取消延时中断指令中断指令青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室146第第5章章 禁用和启用禁用和启用报警中断指令警中断指令青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室147第第5章章PID控制指令控制指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室148第第5章章运动控制指令运动控制指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室149第第5章章脉冲指令脉冲指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室150第第5章章5.3 全局库指令全局库指令 USS协议库指令协议库指令 青岛大学青岛大学-西门子先进自动化技术联合实验室西门子先进自动化技术联合实验室151第第5章章Modbus协议库指令协议库指令 。