《西门子s7-1200plc05指令系统4.11》由会员分享,可在线阅读,更多相关《西门子s7-1200plc05指令系统4.11(154页珍藏版)》请在金锄头文库上搜索。
1、指令系统,S7-1200的指令从功能上大致可分为三类:基本指令、扩展指令和全局库指令。,5.1 基本指令,基本指令包括位逻辑指令、定时器、计数器、比较指令、数学指令、移动指令、转换指令、程序控制指令、逻辑运算指令以及移位和循环移位指令等。,基本逻辑指令,内部输入触点(I)的闭合与断开仅与输入映像寄存器相应位的状态有关,与外部输入按钮、接触器、继电器的常开/常闭接法无关。输入映像寄存器相应位为1,则内部常开触点闭合,常闭触点断开。输入映像寄存器相应位为0,则内部常开触点断开,常闭触点闭合。,置位域复位域指令,置位域指令将指定的地址开始的连续若干个地址置位(变为1状态并保持)。 复位域指令将指定的
2、地址开始的连续若干个地址复位(变为0状态并保持)。,置位/复位指令,(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为何种状态。,指令说明 (1) 指定触点一旦被置位,则保持接通状态,直到对其进行复位操作;而指定触点一旦被复位,则变为接通状态,直到对其进行复位操作。 (2) 如果对定时器和计数器进行复位操作,则被指定的T或C的位被复位,同时其当前值
3、被清0。,复位优先、置位优先锁存器,复位优先锁存器、置位优先锁存器:,输出线圈可选,指令功能 RS 复位优先锁存器,当置位信号和复位信号都有效时,复位信号优先,输出线圈不接通。 SR 置位优先锁存器,当置位信号和复位信号都有效时,置位信号优先,输出线圈接通。 RS、SR指令均为锁存器,一个复位优先,一个置位优先。S连接置位输入,R连接复位输入。一旦输出线圈被置位,则保持置位状态直到复位输入接通。 置位、复位输入均以高电平状态有效。,例:抢答器的设计 抢答器有三个输入,分别为I0.0、I0.1和I0.2,输出分别为Q4.0、Q4.1和Q4.2,复位输入是I0.4。要求:三人中任意抢答,谁先按按钮
4、,谁的指示灯优先亮,且只能亮一盏灯,进行下一问题时主持人按复位按钮,抢答重新开始。,抢答器程序,边沿指令,位逻辑指令边缘检测触点指令,如果输入信号I0.6由0变为1状态(即输入信号I0.6的上升沿),则该触点接通一个扫描周期。 触点下面的M4.3为边缘存储位,用来存储上一个扫描循环是I0.6的状态,通过比较输入信号的当前状态和上一次循环的状态来检测信号的边沿。边沿存储位的地址只能在程序中使用一次,它的状态不能在其他地方被改写。只能使用M、全局DB和静态局部变量来作边沿存储位,不能使用临时局部数据或I/O变量来作边沿存储位。,位逻辑指令P_TRIG与N_TRIG指令,在流进P_TRIG指令的CL
5、K输入端的能流的上升沿,Q端输出一个扫描周期的能流,使M8.1置位。 P_TRIG指令与N_TRIG指令不能放在电路的开始处和结束处。,位逻辑指令3种边沿检测指令的功能,以上升沿检测为例: 在P触点指令中,触点上面的地址的上升沿,该触点接通一个扫描周期,因此P触点用于检测触点上面地址的上升沿,并且直接输出上升沿脉冲。 在P线圈的能流的上升沿,线圈上面的地址在一个扫描周期为1状态,因此P线圈用于检测能流的上升沿,并用线圈上面的地址来输出上升沿脉冲。 P_TRIG指令用于检测能流的上升沿,并且直接输出上升沿脉冲。 如果P_TRIG指令左边只有I1.0触点,可以用I1.0的P触点来代替P_TRIG指
6、令。,例按动一次瞬时按钮I0.0,输出Q4.0亮,再按动一次按钮,输出Q4.0灭;重复以上。,例 若故障信号I0.0为1,使Q4.0控制的指示灯以1Hz的频率闪烁。操作人员按复位按钮I0.1后,如果故障已经消失,则指示灯熄灭,如果没有消失,指示灯转为常亮,直至故障消失。,定时器,使用定时器指令可创建编程的时间延迟,S7-1200 PLC有4种定时器: TP: 脉冲定时器可生成具有预设宽度时间的脉冲。 TON:接通延迟定时器输出Q在预设的延时过后设置为 ON。 TOF:关断延迟定时器输出 Q 在预设的延时过后重置为 OFF。 TONR:保持型接通延迟定时器输出在预设的延时过后设置为ON。在使用
7、R 输入重置经过的时间之前,会跨越多个定时时段一直累加经过的时间。 RT:通过清除存储在指定定时器背景数据块中的时间数据来重置定时器。 每个定时器都使用一个存储在数据块中的结构来保存定时器数据。 在编辑器中放置定时器指令时可分配该数据块。,接通延迟定时器及其时序图,定时器的背景数据块结构,练习,按下瞬时启动按钮I0.0,5秒后电动机启动,按下瞬时停止按钮I0.1,10秒后电动机停止。,例 用接通延时定时器设计一个周期振荡电路。,用接通延时定时器设计周期和占空比可调的振荡电路。,振荡电路的高、低电平时间分别由两个定时器的PT值确定。,保持型接通延迟定时器及其时序图,关断延迟定时器及其时序图,脉冲
8、定时器及其时序图,例:用脉冲定时器实现一个周期振荡电路,复位定时器指令,两条运输带顺序相连,为避免运送的物料在1号运输带上堆积,按下起动按钮I0.3,1号带开始运行,8s后2号带自动起动。停机的顺序与起动的顺序相反,按了停止按钮I0.2后,先停2号带,8s后停1号带。Q1.1和Q0.6控制两台电动机M1和M2。,参数 IN从0变为1将启动TP、TON 和 TONR,从1变0 将启动 TOF。 ET 为定时开始后经过的时间,或称为已耗时间值(可以不为ET指定地址),它们的数值类型为32位的Time,单位为ms,最大定时时间为T#24D_20H_31M_23S_647MS。,IEC定时器和IEC计
9、数器属于功能块,调用时需要指定配套的背景数据块,定时器和计数器指令的数据保存在背景数据块中。 在梯形图中输入定时器指令时,打开右边的指令窗口将“定时器操作”文件夹中的定时器指令拖放到梯形图中适当的位置,在出现的“调用选项”对话框中修改将要生成的背景数据块的名称,或采用默认的名称。点击“确定”按钮,自动生成数据块。,计数器,S7-1200有3种计数器:加计数器(CTU)、减计数器(CTD)和加减计数器(CTUD)。它们属于软件计数器,其最大计数速率受到它所在的OB的执行速率的限制。 如果需要速率更高的计数器,可以使用CPU内置的高速计数器。 调用计数器指令时,需要生成保存计数器数据的背景数据块。
10、 CU和CD分别是加计数输入和减计数输入,在CU或CD由0变为1是,实际计数值CV加1或减1。 复位输入R为1时,计数器被复位,CV被清0,计数器的输入Q变为0。,计数器指令计数器的输入输出 参数,加计数器及其时序图,CTU: 参数 CU 的值从 0 变为 1 时,CTU 使计数值加 1。如果参数 CV(当前计数值)的值大于或等于参数 PV (预设计数值)的值,则计数器输出参数 Q = 1。如果复位参数 R 的值从 0 变为 1,则当前计数值复位为 0。,计数器的背景数据块结构,减计数器及其时序图,CTD: 参数 CD 的值从 0 变为 1 时,CTD 使计数值减 1。如果参数 CV (当前计
11、数值)的值等于或小于 0,则计数器输出参数 Q = 1。如果参数 LOAD 的值从 0 变为 1,则参数PV (预设值)的值将作为新的 CV (当前计数值)装载到计数器。,计数器指令加减计数器,CTUD: 加计数 (CU, Count Up) 或减计数 (CD, Count Down) 输入的值从 0 跳变为 1时,CTUD 会使计数值加 1 或减 1。 如果参数 CV(当前计数值)的值大于或等于参数PV(预设值)的值,则计数器输出参数 QU = 1。如果参数 CV 的值小于或等于零,则计数器输出参数 QD = 1。 如果参数 LOAD 的值从 0 变为 1,则参数 PV(预设值)的值将 作为
12、新的 CV(当前计数值)装载到计数器。 如果复位参数 R 的值从 0 变为 1,则当前计数值复位为 0。,加减计数器及其时序图,PV = 4,传送带控制 一个能够电气启动的传送带。在传送带的起点有两个按钮开关:用于START的S1和用于STOP的S2。在传送带的尾部也有两个按钮开关:S3用于START,S4用于STOP。可以从任一端启动或停止传送带。另外,当传送带上的物件到达末端时,传感器S5使传送带停机。,传送带示意图,用于传送带系统符号编程的元素,控制传送带程序,风机监控程序 某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以
13、0.5 Hz的频率闪烁;如果没有任何风机转动,则指示灯不亮。,输入位I0.0,I0.1,I0.2分别为风机1,2,3输入端。,通过传送带电机KM1带动传送带传送物品,通过产品检测器PH检测产品通过的数量,传送带每传送24个产品机械手KM2动作1次,进行包装,机械手动作后,延时2秒,机械手的电磁铁切断。通过传送带起动按钮、传送带停机按钮控制传送带的运动。,计数器应用举例:产品数量检测,(每24个产品 机械手动作1次),机械手动作后,延时2秒, 机械手的电磁铁切断,测到一个产品,I0.2产生一个正脉冲,使计一个数。,C10每计24个数,机械手动作一次,3台电机顺序启动、反序停止控制 控制要求:按下
14、启动按钮后,3台电机按M1、M2、M3的顺序隔2s启动;按下停止按钮后,3台电机按M3、M2、M1的顺序隔2s停止。,3台电机顺序启动,反序停止控制程序,展厅人数控制系统 控制要求:现有一展厅,最多可容纳50人同时参观。展厅进口与出口各装一传感器,每有一人进出,传感器给出一个脉冲信号。试编程实现,当展厅内不足50人时,绿灯亮,表示可以进入;当展厅满50人时,红灯亮,表示不准进入。,展厅人数控制系统I/O分配表,展厅人数控制程序,运料车自动装、卸料控制 控制要求:某运料车如图所示,可在A、B两地分别启动。运料车启动后,自动返回A地停止,同时控制料斗门的电磁阀Y1打开,开始装料。1分钟后,电磁阀Y
15、1断开,关闭料斗门,运料车自动向B地运行。到达B地后停止,小车底门由电磁阀Y2控制打开,开始卸料。1分钟后,运料车底门关闭,开始返回A地。之后重复运行。 运料车在运行过程中,可用手动开关使其停车。再次启动后,可重复中内容,图7.43 运料车自动装、卸料控制示意图,运料车自动装、卸料控制I/O分配表,比较指令,可以使用“等于”操作确定第一个比较值是否等于第二个比较值。 要比较的两个值必须为相同的数据类型。该 LAD 触点比较结果为 TRUE 时,则该触点会被激活。 在程序编辑器中单击该指令后,可以从下拉菜单中选择比较类型和数据类型。,可以使用“大于”操作确定第一个比较值是否大于第二个比较值。 要
16、比较的两个值必须为相同的数据类型。 如果比较为真,则 RLO 为“1”。 在比较字符串时,通过字符 ASCII 码比较字符(例如“a”大于“A”)。 从左到右执行比较。 第一个不同的字符决定比较结果。 如果较长字符串的左侧部分和较短字符串相同,则认为较长字符串更大。,使用 IN_RANGE 和 OUT_RANGE 指令可测试输入值是在指定的值范围之内还是之外。 如果比较结果为 TRUE,则功能框输出为 TRUE。输入参数 MIN、VAL 和 MAX 的数据类型必须相同。在程序编辑器中单击该指令后,可以从下拉菜单中选择数据类型。,例:用比较和计数指令编写开关灯程序,要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两次,灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。,分析:在程序中所用计数器为加法计数器,当加到3时,必须复位计数器,这是关键。灯控制程序如图所示。,梯形图程序如下:,例:在HMI设备上可以设定电动机的转速,设定值MW20的范围为100-1440转/分钟,若输入的设定值在此范围内,则延时5秒钟启动电动机Q0.0,