西门子S7-1200plc05指令系统.ppt
《西门子S7-1200plc05指令系统.ppt》由会员分享,可在线阅读,更多相关《西门子S7-1200plc05指令系统.ppt(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的位被复位,同时其当前值被清0。,复位优先、置
3、位优先锁存器,复位优先锁存器、置位优先锁存器:,输出线圈可选,指令功能 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指令的CLK输入端的能流的上升沿,Q端输出
5、一个扫描周期的能流,使M8.1置位。P_TRIG指令与N_TRIG指令不能放在电路的开始处和结束处。,位逻辑指令3种边沿检测指令的功能,以上升沿检测为例:在P触点指令中,触点上面的地址的上升沿,该触点接通一个扫描周期,因此P触点用于检测触点上面地址的上升沿,并且直接输出上升沿脉冲。在P线圈的能流的上升沿,线圈上面的地址在一个扫描周期为1状态,因此P线圈用于检测能流的上升沿,并用线圈上面的地址来输出上升沿脉冲。P_TRIG指令用于检测能流的上升沿,并且直接输出上升沿脉冲。如果P_TRIG指令左边只有I1.0触点,可以用I1.0的P触点来代替P_TRIG指令。,例按动一次瞬时按钮I0.0,输出Q4
6、.0亮,再按动一次按钮,输出Q4.0灭;重复以上。,例 若故障信号I0.0为1,使Q4.0控制的指示灯以1Hz的频率闪烁。操作人员按复位按钮I0.1后,如果故障已经消失,则指示灯熄灭,如果没有消失,指示灯转为常亮,直至故障消失。,定时器,使用定时器指令可创建编程的时间延迟,S7-1200 PLC有4种定时器:TP:脉冲定时器可生成具有预设宽度时间的脉冲。TON:接通延迟定时器输出Q在预设的延时过后设置为 ON。TOF:关断延迟定时器输出 Q 在预设的延时过后重置为 OFF。TONR:保持型接通延迟定时器输出在预设的延时过后设置为ON。在使用 R 输入重置经过的时间之前,会跨越多个定时时段一直累
7、加经过的时间。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内置的高速计数器。调用计数器指令时,需要生成保存计数器数据的背景数据块。CU和CD分别是加计数输入和减计数输入,在CU或CD由0变为1是,实
10、际计数值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(当前计数值)的值等于或小于 0,则计数器输出参数 Q=1。如果参数 LOAD 的值从 0
11、变为 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(预设值)的值将作为新的 CV(当前计数值)装载到计数器。如果复位参数 R 的值从 0 变为 1,则当前计数值复位为 0。,加减计数器及其时
12、序图,PV=4,传送带控制 一个能够电气启动的传送带。在传送带的起点有两个按钮开关:用于START的S1和用于STOP的S2。在传送带的尾部也有两个按钮开关:S3用于START,S4用于STOP。可以从任一端启动或停止传送带。另外,当传送带上的物件到达末端时,传感器S5使传送带停机。,传送带示意图,用于传送带系统符号编程的元素,控制传送带程序,风机监控程序 某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以0.5 Hz的频率闪烁;如果没有任何风机转动,则指示灯不亮。,输入位I0.0,I0.1,I0.2分别为风机1,2,3输入端。,
13、通过传送带电机KM1带动传送带传送物品,通过产品检测器PH检测产品通过的数量,传送带每传送24个产品机械手KM2动作1次,进行包装,机械手动作后,延时2秒,机械手的电磁铁切断。通过传送带起动按钮、传送带停机按钮控制传送带的运动。,计数器应用举例:产品数量检测,(每24个产品机械手动作1次),机械手动作后,延时2秒,机械手的电磁铁切断,测到一个产品,I0.2产生一个正脉冲,使计一个数。,C10每计24个数,机械手动作一次,3台电机顺序启动、反序停止控制 控制要求:按下启动按钮后,3台电机按M1、M2、M3的顺序隔2s启动;按下停止按钮后,3台电机按M3、M2、M1的顺序隔2s停止。,3台电机顺序
14、启动,反序停止控制程序,展厅人数控制系统 控制要求:现有一展厅,最多可容纳50人同时参观。展厅进口与出口各装一传感器,每有一人进出,传感器给出一个脉冲信号。试编程实现,当展厅内不足50人时,绿灯亮,表示可以进入;当展厅满50人时,红灯亮,表示不准进入。,展厅人数控制系统I/O分配表,展厅人数控制程序,运料车自动装、卸料控制 控制要求:某运料车如图所示,可在A、B两地分别启动。运料车启动后,自动返回A地停止,同时控制料斗门的电磁阀Y1打开,开始装料。1分钟后,电磁阀Y1断开,关闭料斗门,运料车自动向B地运行。到达B地后停止,小车底门由电磁阀Y2控制打开,开始卸料。1分钟后,运料车底门关闭,开始返
15、回A地。之后重复运行。运料车在运行过程中,可用手动开关使其停车。再次启动后,可重复中内容,图7.43 运料车自动装、卸料控制示意图,运料车自动装、卸料控制I/O分配表,比较指令,可以使用“等于”操作确定第一个比较值是否等于第二个比较值。要比较的两个值必须为相同的数据类型。该 LAD 触点比较结果为 TRUE 时,则该触点会被激活。在程序编辑器中单击该指令后,可以从下拉菜单中选择比较类型和数据类型。,可以使用“大于”操作确定第一个比较值是否大于第二个比较值。要比较的两个值必须为相同的数据类型。如果比较为真,则 RLO 为“1”。在比较字符串时,通过字符 ASCII 码比较字符(例如“a”大于“A
16、”)。从左到右执行比较。第一个不同的字符决定比较结果。如果较长字符串的左侧部分和较短字符串相同,则认为较长字符串更大。,使用 IN_RANGE 和 OUT_RANGE 指令可测试输入值是在指定的值范围之内还是之外。如果比较结果为 TRUE,则功能框输出为 TRUE。输入参数 MIN、VAL 和 MAX 的数据类型必须相同。在程序编辑器中单击该指令后,可以从下拉菜单中选择数据类型。,例:用比较和计数指令编写开关灯程序,要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两次,灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。,分析:在程序中所用计数器为加法计数器,当加到3时,必须复位计数器,这是关
17、键。灯控制程序如图所示。,梯形图程序如下:,例:在HMI设备上可以设定电动机的转速,设定值MW20的范围为100-1440转/分钟,若输入的设定值在此范围内,则延时5秒钟启动电动机Q0.0,否则Q0.1长亮提示。,使用OK和NOT_OK指令可测试输入的数据是否为符合IEEE规范754的有效实数。图中,当MD0和MD4中为有效的浮点数时,会激活“实数乘”(MUL)运算并置位输出,即将MD0的值将与MD4的值相乘,结果存储在MD10中同时Q4.0输出为1。,如果输入 IN 的值为 123.4567则输出 OUT 返回值 0.4567,移动指令,可以使用“移动块”操作将一个存储区(源区域)的内容复制
18、到另一个存储区(目标区域)。要复制到目标区域的元素个数由参数 COUNT 指定。要复制的元素的宽度由输入 IN 的元素宽度定义。复制操作沿地址升序方向进行。只有使能输入 EN 的信号状态为“1”时,才执行该操作。如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”。如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:输入 EN 的信号状态为“0”。复制的数据量超出输出 OUT 存储区所提供的数据量。,可以通过“填充块”操作使用输入 IN 的值填充存储区(目标区域)。从输出 OUT 指定的地址开始填充目标区域。重复的复制操作次数由参数 COUNT 指定。执行该操作时,将选择
19、输入 IN 的值并将其按照参数 COUNT 指定的重复次数复制到目标区域。只有使能输入 EN 的信号状态为“1”时,才执行该操作。如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”。如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:输入 EN 的信号状态为“0”。复制的数据量超出输出 OUT 存储区所提供的数据量。,数据复制操作规则 要复制 Bool 数据类型,请使用 SET_BF、RESET_BF、R、S 或输出线圈(LAD)要复制单个基本数据类型、结构或要复制字符串中的单个字符,请使用 MOVE 要复制基本数据类型数组,请使用 MOVE_BLK 或 UMOVE_B
20、LK要复制字符串,请使用 S_CONVMOVE_BLK 和 UMOVE_BLK 指令不能用于将数组或结构复制到 I、Q 或 M 存储区。,数据填充操作规则 要使用 BOOL 数据类型填充,请使用 SET_BF、RESET_BF、R、S 或输出线圈(LAD)要使用单个基本数据类型填充或要在字符串中填充单个字符,请使用 MOVE 要使用基本数据类型填充数组,请使用 FILL_BLK 或 UFILL_BLK FILL_BLK 和 UFILL_BLK 指令不能用于将数组填充到 I、Q 或 M 存储区。,转换指令,“转换”操作读取参数 IN 的数据,然后根据指定的数据类型对其进行转换。仅当使能输入 EN
21、 的信号状态为“1”时,才能启动“转换”操作。如果执行过程中未发生错误,则输出 ENO 的信号状态也为“1”。如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:输入 EN 的信号状态为“0”。处理过程中发生溢出之类的错误。,可以使用“取整数字值”运算将输入 IN 的值取整为最接近的整数。该运算将输入 IN 的值解释为浮点数并将其转换为最接近的双精度整数。如果输入值恰好是相邻偶数和奇数的平均数,则选择偶数。运算结果放在输出 OUT 中,可供查询。只有使能输入 EN 的信号状态为“1”时,才执行该操作。如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”。如果满足下列条件之
22、一,使能输出 ENO 将返回信号状态“0”:输入 EN 的信号状态为“0”。,可以使用“浮点数向上取整”运算将输入 IN 的值向上取整为相邻整数。该运算将输入 IN 的值解释为浮点数并将其向上转换为相邻的整数。运算结果放在输出 OUT 中,可供查询。输出值可以大于或等于输入值。只有使能输入 EN 的信号状态为“1”时,才执行该操作。如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”。如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:输入 EN 的信号状态为“0”。,可以使用“浮点数向下取整”运算将输入 IN 的值向下取整为相邻整数。该运算将输入 IN 的值解释为浮点数
23、并将其向下转换为相邻的整数。运算结果放在输出 OUT 中,可供查询。输出值可以小于或等于输入值。只有使能输入 EN 的信号状态为“1”时,才执行该操作。如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”。如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:输入 EN 的信号状态为“0”。,可以使用“截取整数”运算得出整数而不对输入 IN 的值进行舍入。输入 IN 的值被视为浮点数。该运算仅选择浮点数的整数部分,并将其发送到输出 OUT 中,不带小数位。只有使能输入 EN 的信号状态为“1”时,才执行该操作。如果运算执行过程中未发生错误,则输出 ENO 的信号状态为“1”
24、。如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:输入 EN 的信号状态为“0”。,可以使用“标定”运算通过将输入 VALUE 的值映射到指定的取值范围对该值进行标定。执行“标定”运算时,会将输入 VALUE 的浮点数值标定到由参数 MIN 和 MAX 定义的取值范围。标定结果为整数,并存储在输出 OUT 中。只有使能输入端 EN 的信号状态为“1”时,才执行“标定”运算。在这种情况下,使能输出 ENO 的信号状态也为“1”。,可以使用“标准化”运算通过将输入 VALUE 的变量值映射到线性标尺对其进行标准化。可以使用参数 MIN 和 MAX 定义(应用于该标尺的)取值范围的限值
25、。根据标准化值在该取值范围内的位置,计算结果并以浮点数形式存储在输出 OUT 中。如果要标准化的值等于输入 MIN 的值,输出 OUT 将返回值“0.0”。如果要标准化的值等于输入 MAX 的值,输出 OUT 将返回值“1.0”。,程序控制指令,可以使用“为 1 时块中跳转(有条件)”目标程序段必须标有跳转标签。需要指定该跳转标签的名称以便执行该操作。指定的跳转标签位于该操作的上方。指定的跳转标签必须在执行该操作的块中。指定的名称在块中只能出现一次。如果该操作的输入端的逻辑运算结果 为“1”,则跳转到跳转标签所标识的程序段。跳转方向可以朝向更大或更小的程序段编号。如果该操作的输入不为真(RLO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 S7 1200 plc05 指令系统
链接地址:https://www.31ppt.com/p-5837730.html