版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PLC应用技术项目教程3项目三S7-1200的基本指令基础概念篇知识目标2掌握使用基本指令编写简单梯形图的方法。1掌握S7-1200PLC常用基本指令的格式、功能及应用。能力目标2能够使用基本指令进行简单任务的梯形图编写。1能够在TIA博途软件中熟练找到常用基本指令。项目三S7-1200的基本指令3能够熟练使用S7-1200PLC的各类定时器及计数器指令。项目学思项目三S7-1200的基本指令
任何复杂的程序都是由基本的指令组成,掌握好基本的指令用法,通过日积月累的学习和训练,就能写出复杂功能的程序。事业亦是如此,通过一点一点的知识与技能的积累,以后在工作岗位上就能胜任复杂而艰巨的工作任务。PLC的控制功能是通过用户编写程序实现,而用户程序是通过基本指令实现,基本指令包括位逻辑指令、定时器及计数器指令、比较指令、数学函数指令等。项目三S7-1200的基本指令任务1位逻辑指令任务2定时器及计数器指令任务3功能指令位逻辑指令属于基本逻辑控制指令,是专门针对位逻辑量进行处理的指令。它包括触点指令、输出指令、置位/复位指令等。本任务介绍触点指令中的基本触点指令、输出指令中的基本输出指令、与或非指令形式,置位/复位指令其他指令将在后面的课程中介绍。
1.基本触点指令名称梯形图符号功
能操作数常开触点操作数(指定位)的状态为“1”(ON)时闭合,状态为“0”(OFF)时断开I、Q、M、L、T、C常闭触点操作数的状态为“1”(ON)时断开,状态为“0”(OFF)时闭合取反对逻辑运算结果(RLO)的信号状态进行取反;输入端(左端)为“1”时,输出端(右端)为“0”;输入端(左端)为“0”时,输出端(右端)为“1”无注:取反指令没有操作数梯形图中的基本触点指令包括常开触点指令、常闭触点指令和取反指令3类,如下表。
2.基本输出指令基本输出指令包括线圈(赋值)指令和反向输出线圈(赋值取反)指令两类,如下表名称梯形图符号功
能操作数线圈线圈输入端接通时,操作数的状态为“1”;线圈输入端断开时,操作数的状态为“0”Q、M、L反向输出线圈线圈输入端接通时,操作数的状态为“0”;线圈输入端断开时,操作数的状态为“1”例1请分析右图所示梯形图中Q0.0~Q0.3的状态I0.0Q0.0Q0.1Q0.2Q0.30011111000解答例2现有一台水泵,请用梯形图设计该水泵的控制程序,控制要求如下:开关按下后,水泵工作,开关抬起后,水泵停止工作。解答3.与、或、非指令位逻辑指令按照控制要求进行逻辑组合,便可以构成基本的逻辑控制,即
“与”“或”“非”及其组合。位逻辑指令使用“0”和“1”两个布尔操作数对信号的状态进行逻辑操作,逻辑操作结果(RLO)送入存储器的状态位中。常用逻辑控制如下表所示。名称梯形图符号功
能操作数与操作数1和操作数2同时接通时,输出端接通I、Q、M、L或操作数1或操作数2接通时,输出端接通非取反例3将例2中的主控元件断路器改为按钮,设控制要求如下:按下启动按钮,电机开始运转,按钮弹起后,电机持续运转;按下停止按钮,电机停止运转,按钮弹起后,电机仍停止运转解答电机控制系统的时序图电机控制系统的梯形图程序4、置位指令置位指令的功能是使操作数的状态置“1”,其格式为置位指令梯形图程序如下图所示当按下按钮I0.0时,Q0.0的状态置为“1”;按钮弹起时,I0.0已经断开,Q0.0的状态仍为“1”,从而实现了自锁功能。5、复位指令复位指令的功能是使操作数的状态置为“0”,其格式为复位指令的梯形图程序如下图所示当按下按钮I0.1时,Q0.0的状态置为“0”;按钮弹起后,I0.1已经断开,Q0.0的状态仍为“0”,直到有置位信号(使Q0.0置为“1”)出现。置位和复位指令的时序图置位和复位指令大多数情况下是成对出现的,在程序的一个地方使用了置位,在另一个地方就会用到复位。置位和复位指令的操作数可以多次使用,置位和复位指令的时序图如下图所示。5、复位指令名称梯形图符号功
能操作数上升沿检测检测到“IN”为正跳变(由“0”到“1”)时,输出状态为“1”。M_BIT为上升沿存储位,用来存储上个扫描周期中“IN”位的状态。该指令可以放置在程序段中除分支结尾外的任何位置I、Q、M、L下降沿检测检测到“IN”为负跳变(由“1”到“0”)时,输出状态为“1”。M_BIT为下降沿存储位,用来存储上个扫描周期中“IN”位的状态。该指令可以放置在程序段中除分支结尾外的任何位置扫描操作数信号边沿指令能够检测位操作数状态的变化。按照检测信号方向的不同,扫描操作数信号边沿指令分为上升沿检测
(
)和下降沿检测(
)两类,如下表所示。6、扫描操作数和边沿指令例4分析下图所示梯形图程序中,I0.0接通和断开时Q0.0和Q0.1的状态当I0.0由断开到接通时,触发Q0.0维持一个扫描周期的高电平;当I0.0由接通到断开状态时,触发Q0.1维持一个扫描周期的高电平,故其时序图如右图所示。分析例5分析请设计一个故障信息显示控制系统,控制要求如下:从故障信号I0.0的上升沿开始,Q0.0控制的指示灯以2Hz的频率闪烁,操作员按下复位按钮I0.1后,如果故障消失,则指示灯灭,如果故障没有消失,则指示灯转为常亮,直到故障消失。I0.0由“0”变为“1”时,Q0.0开始闪烁(2Hz)。I0.1输入一个脉冲后,Q0.0停止闪烁,若此时I0.0为“0”,则Q0.0为“0”,若I0.0为“1”,则Q0.0为“1”,故其时序图如图所示。根据上一页时序图所示,故障信息显示控制系统的设计思路为,用扫描操作数信号边沿指令检测I0.0的上升沿,并设置时钟存储器(方法见以下知识库),利用M10.3提供的2Hz脉冲信号控制Q0.0的闪烁频率,故其梯形图程序如图所示。时钟存储器输出脉冲信号控制故障指示灯的闪烁频率,具体方法如下:在CPU属性窗口区中,选择“常规”→“系统和时钟存储器”选项,在“时钟存储器位”组中勾选“启用时钟存储器字节”复选框,在“时钟存储器字节的地址(MBx)”编辑框中输入时钟的字节地址,如图所示。设置首次扫描存储器位的方法如下:在CPU属性窗口区中,选择“常规”→“系统和时钟存储器”,在“系统存储器位”组中勾选“启用系统存储器字节”复选框,并在“系统存储器字节的地址(MBx)”编辑框中设置地址(如1),如下图所示。
则M1.0(首次循环)在首次扫描时状态为“1”,其余周期内状态为“0”,默认变量名为“FirstScan”。知识库名称梯形图符号功
能操作数上升沿检测线圈当检测到进入线圈的信号为正跳变时,“OUT”输出一个扫描周期的高电平,M_BIT用来保存上个扫描周期线圈输入端的状态。该指令可以放置在程序段中的任何位置I、Q、M、L下降沿检测线圈当检测到进入线圈的信号为负跳变时,“OUT”输出一个扫描周期的高电平,M_BIT用来保存上个扫描周期线圈输入端的状态。该指令可以放置在程序段中的任何位置I、Q、M、L边沿检测线圈指令分为上升沿检测线圈[(P)]和下降沿检测线圈[(N)]两类,如表所示。边沿检测线圈指令不会影响逻辑运算结果,其输入的逻辑运算结果会被立即送入线圈的输出端。7、边沿检测线圈指令例6分析下图所示梯形图程序中,I0.0接通和断开时各存储器的状态当I0.0由断开到接通时,线圈的输入(左端)状态由“0”变为“1”,M0.0输出一个扫描周期的高电平,线圈输出(右端)状态持续为“1”,即Q0.2的状态为“1”;当I0.0由接通到断开时,线圈的输入(左端)状态由“1”变为“0”,M0.2输出一个扫描周期的高电平,线圈输出(右端)状态变为“0”,即Q0.2的状态为“0”,故其时序图如右图分析一、位逻辑指令名称梯形图符号功
能操作数上升沿检测当检测到输入端CLK的信号为正跳变时,输出端Q输出一个扫描周期的高电平。该指令不能放置在程序段的开头或结尾M下降沿检测当检测到输入端CLK的信号为负跳变时,输出端Q输出一个扫描周期的高电平。该指令不能放置在程序段的开头或结尾M扫描ROL边沿指令主要用来检测CLK输入端状态的变化,分为上升沿检测(P_TRIG)和下降沿检测(N_TRIG)两类,如表所示。8、扫描ROL边沿指令例7分析分析下图所示梯形图程序中,I0.0接通和断开时各存储器的状态。
当I0.0由断开到接通时,P_TRIG的输入端CLK接收到一个上升沿信号,其输出端Q输出一个扫描周期的高电平,Q0.0输出一个扫描周期的高电平;当I0.0由接通到断开时,N_TRIG指令的输入端CLK接收到一个下降沿信号,Q0.1输出一个扫描周期的高电平,故其时序图如右图所示。9、置位复位触发器指令名称梯形图符号功
能操作数RS触发器RS是置位优先触发器指令。如果置位(S1)和复位(R)信号都为真,则输出端OUT为“1”I、Q、M、LSR触发器SR是复位优先触发器指令。如果置位(S)和复位(R1)信号都为真,则输出端OUT为“0”I、Q、M、L复位/置位(RS)触发器也叫置位优先触发器,置位/复位(SR)
触发器也叫复位优先触发器,其指令格式如表所示。例8设Q0.0和Q0.1的初始状态均为“0”,分析右图所示梯形图程序,判断Q0.0和Q0.1的状态。(a)RS触发器指令
(b)SR触发器指令分析
在RS和SR触发器指令中,
若置位输入端和复位输入端的状态均为“0”,则输出信号状态保持不变;若复位输入端状态为“1”,则输出端状态为“0”;
若置位输入端状态为“1”,则输出端状态为“1”;
若两个输入端的状态均为“1”,将按照优先级顺序执行置位或复位指令,即RS触发器的输出端状态为“1”,SR触发器的输出端状态为“0”,故图2-35中Q0.0和Q0.1的状态如图所示。10、置位位域指令与复位位域指令
单独置位或复位一个位地址的变量时,通常使用置位和复位指令,而置位或复位多个位地址变量时,通常会使用置位位域指令和复位位域指令。置位位域指令的主要功能是为从地址“OUT”处开始的“n”位地址置位,其指令格式为
;复位位域指令的主要功能是为从地址“OUT”处开始的“n”位地址复位,其指令格式为
,它们的梯形图程序如图a,b所示。(a)置位位域指令
(b)复位位域指令在I0.0的上升沿时,从Q0.0开始的连续8位数据,即Q0.0~Q0.7(QB0),全部置位为1,即QB0=FFH;在I0.0的下降沿时,QB0复位,即QB0=00H,其时序图如右图所示。任务实施本任务主要学习各种位逻辑控制指令。使用位指令编写一个简单的电机启停控制程序,控制要求如下。1.按下点动按钮,电机启动运转。2.松开点动按钮,电机停止运转。3.写出I/O分配表,画出PLC接线原理图及主电气原理图,博途中建立变量表并能够在线监测变量状态。任务实施项目三S7-1200的基本指令任务1位逻辑指令任务2定时器及计数器指令任务3功能指令
预备知识
定时器是控制系统实现自动运行功能的基本元件之一,能够实现较复杂的控制任务。
使用前,首先要设定定时器的预设值,用以确定定时时间。当定时器的输入端满足一定条件时,当前值以ms为单位增加,当增加到预设值时,定时器发生动作,此时对应的常开触点闭合,常闭触点断开S7-1200系列PLC的定时器指令包括接通延时定时器指令、断开延时定时器指令、脉冲定时器指令和保持型接通延时定时器指令4种类型,本任务介绍前两种,后两种将在任务二中介绍。定时器指令接通延时定时器指令(TON)主要用于单一时间间隔的定时,其指令格式如图所示IN引脚(使能输入端)用于启用定时器,PT引脚用于存储定时器的预设值,Q引脚用于连接定时器的状态输出,ET引脚用于存储定时器的当前值。1、接通延时定时器指令当使能输入端IN由低电平转为高电平时,接通延时定时器的当前值ET从0开始增加;当增加到预设值PT时,当前值ET保持不变,输出端Q的状态从“0”变为“1”;当使能输入端IN从高电平转为低电平时,当前值ET清零,输出端Q的状态从“1”变为“0”,如下图所示。接通延时定时器指令的时序图定时器的预设值PT可以是常数,也可以是时间类型数据块(time)。1、接通延时定时器指令【分析】若生产线中有两台电机,按下启动按钮,第一台电机运行30s后第二台电机开始启动;按下停止按钮,两台电机同时停止。请编程实现该生产线的电机启停控制。【例1】设I0.0为启动按钮,I0.1为停止按钮,第一台电机(Q0.0)工作30s后第二台电机(Q0.1)开始工作,因此需要延时接通定时器指令进行定时,且预设值PT为30s。则梯形图程序如图所示。两台电机顺序启动同时停止的梯形图程序断开延时定时器(TOF)用于输入端断开后的单一时间间隔定时,其指令格式如图所示2、断开延时定时器指令断开延时定时器指令的时序图
当使能输入端IN由低电平转为高电平时,输出端Q的状态从“0”变为“1”;
当使能输入端IN从高电平转为低电平后,断电延时定时器的当前值ET从0开始增加,当增加到预设值PT时,输出端Q的状态从“1”变为“0”,当前值ET保持不变,直到下一个高电平到来,其时序图如图所示怎样用断开延时定时器指令实现声控灯自动熄灭?2、断开延时定时器指令【分析】若生产线中有两台电机,按下启动按钮后,第一台电机开始运行;30s后,第二台电机开始运行;按下停止按钮后,第二台电机立即停止,30s后,第一台电机停止。请编程实现这两台电机的启停控制。【例2】设启动按钮为I0.0,停止按钮为I0.1,第一台电机为Q0.0,第二台电机为Q0.1,M0.0用来存储电机的工作状态。按下I0.0,Q0.0立即运行,按下I0.1,Q0.0运行30s后停止,故用断电延时定时器指令;按下I0.0,Q0.1在30s后运行,按下I0.1,Q0.1立即停止,故用接通延时定时器指令。其梯形图程序如图所示。脉冲定时器指令脉冲定时器指令(TP)的格式如图所示,指令中引脚定义与接通延时定时器指令引脚定义一致3、脉冲定时器指令3、脉冲定时器指令脉冲定时器指令的时序图当使能输入端IN由低电平转为高电平时,脉冲定时器的输出端Q由低电平转为高电平,脉冲定时器开始定时,当前值ET开始增加,当增加到预设值PT时,定时结束,输出端Q由高电平转为低电平。若此时使能输入端IN仍然为高电平,则当前值ET保持不变;若此时使能输入端IN为低电平,则当前值ET清零。在输出端为高电平期间,即便使能输入端有脉冲信号输入,脉冲定时器也不会重新定时,如图所示。【分析】试帮助某餐厅设计一个定时时长为10min的控制程序。控制要求如下:按下启动按钮后,定时器指示灯点亮,开始定时;定时结束后,指示灯熄灭;定时期间启动按钮无效。【例3】设按下启动按钮(I0.0)后,输入脉冲信号,指示灯Q0.0立即点亮(状态为“1”);定时结束后,Q0.0由“1”转为“0”;在定时期间,按下启动按钮(I0.0)无效。因此,可以采用脉冲定时器指令,如图所示。小试身手:试用脉冲定时器和断开延时定时器设计一个定时程序。控制要求如下:按下启动按钮后,定时器指示灯点亮,开始定时;定时结束后,蜂鸣器报警(以2Hz的频率报警5s);定时期间启动按钮无效。保持型接通延时定时器指令保持型接通延时定时器(TONR)指令格式如下图所示。指令中R引脚为复位输入,用于将定时器的当前值清零,其余的引脚定义与接通延时定时器指令引脚定义一致。4、保持型接通延时定时器4、保持型接通延时定时器TONR定时器与TON定时器类似,不同的是,当TONR的使能端输入端IN断开时,当前值ET保持(记忆);使能输入端IN再次接通时,若当前值小于设定值,会在原记忆值的基础上递增。TONR必须用R端对当前值清零,输出端Q的状态置为“0”,其时序图如下图所示。【分析】请设计一个跑步机的跑步时间检测程序。控制要求为:按下启动按钮后,若检测到跑步机上有人(称重传感器有信号输出),则定时器开始进行定时,定时时长为1h;在此期间若人离开跑步机(称重传感器信号中断输出),定时器暂停定时但不清零;人再次回到跑步机上后,定时器继续定时,直至定时1h后,报警指示灯闪烁3s后熄灭。【例4】由题可知,该跑步机的跑步时间检测过程可分为以下几个阶段。(1)按下启动按钮(I0.0)后,跑步机开始工作。(2)称重传感器(I0.1)的状态为“1”时,定时器T0开始定时。(3)I0.1的状态为“0”时,T0暂停输出。(4)I0.1的状态重新变为“1”时,T0继续定时,直至定时1h后,报警指示灯Q0.0闪烁3s。因此可使用保持型接通延时定时器和断开延时定时器实现定时,设闪烁频率为2Hz(设置系统时钟存储器字节以提供2Hz的脉冲信号)。其时序图如右图所示。【分析】因此,该跑步机跑步时间检测的梯形图程序如下图所示。计数器指令计数器的结构及工作原理与定时器类似,但计数器的输入为脉冲信号。S7-1200系列PLC的计数器指令包括加计数器(CTU)指令、减计数器(CTD)指令和加减计数器(CTUD)指令3种类型,本任务介绍前两种,加减计数器将在任务四中介绍。预备知识加计数器指令的格式如图所示:CU引脚为计数器输入,用于检测输入脉冲;PV引脚用于设定计数器的预设值;Q引脚用于连接计数器的状态输出;R引脚为复位信号输入,用于将计数器的当前值清零;
CV引脚用于计数器的当前值输出。1、加计数器加计数器指令的时序图R引脚为“0”,接在使能输入端CU的脉冲输入电路由断开变为接通(CU信号的上升沿)时,计数器的当前值CV就会加1,直到达到指定数据类型的上限值(如Int类型为32767)后,当前值不再发生变化。当当前值CV大于或等于预设值时,输出端Q的状态为“1”,否则,状态为“0”。当R引脚变为“1”时,当前值CV被清零。设PV=3,则加计数器指令的时序图如图所示。1、加计数器【分析】试编程实现统计某停车场每天进场的车辆数。【例5】在车辆入口处,设置一个红外传感器(I0.0),用于检测进场的车辆I0.1,用于对当前值清零。当车辆通过时,红外传感器会产生一个脉冲信号并送入PLC的输入接口,此时,车辆数加1。因此,可以使用加计数器指令记录进场的车辆数,使用移动值指令(MOVE)将计数器的当前值送到QW0,用以显示当前车辆数,其梯形图程序如图所示。在上一页的梯形图中,使用移动值指令(MOVE)将计数器的当前值传送至QW0中(存储整型变量)。
移动值指令的操作功能如下:当使能输入端EN有效时,将输入IN的源数据“C0”.CV的值传送到OUT1指定的存储器单元QW0,并转换为QW0(OUT1)允许的数据类型,源数据类型保持不变。IN和OUT1的数据类型可以是位字符串、整数、浮点数、定时器当前值、日期时间、CHAR、WCHAR等,IN还可以是常数。移动值指令允许有多个输出,添加和删除输出参数的步骤为:单击“OUT1”前面的
按钮,将会增加一个输出OUT2;右击输出的短线,在快捷菜单中选择“删除”选项,即可删除该输出,如左图所示。知识库减计数器指令的格式如图所示,其引脚PV、CV和Q的功能与加计数器相同,CD引脚为使能输入端,LD引脚为装载输入端。减计数器指令2、减计数器LD引脚为“0”状态下,当接在使能输入端CU的脉冲输入电路由断开变为接通(CD信号的上升沿)时,计数器的当前值CV减1,直到达到下限值(如-32767)后,当前值不再发生变化。
当当前值CV小于或等于0,输出端Q的状态为“1”,否则,状态为“0”。
当LD引脚为“1”时,会将预设值PV的值装载到当前值CV中。设PV=3,则减计数器指令的时序图如图所示。减计数器指令的时序图2、减计数器【分析】已知某产品每次的入库量为500,每从库中拿出一件产品,库存量减1,试编程实现统计一个入库周期内该产品的库存量。【例6】在入库周期内,库存量=入库量-出库量。入库量为500(即预设值为500),设每次产品出库(每次1个产品)I0.0会产生一个脉冲信号,因此可以用减计数器记录库存量,其梯形图程序如右图所示。使用加减计数指令(见图),可以将当前值CV递增或递减,该指令的引脚定义与加计数器指令和减计数器指令的引脚定义一致加减计数器指令3、加减计数器加减计数器指令的时序图当加计数器输入端CU的状态从“0”变为“1”时,当前值CV加1;当减计数器输入端CD的信号从“0”变为“1”,当前值CV减1;计数器的当前值CV达到上限值后,即使CU引脚出现上升沿信号,当前值CV也不再递增;计数器的当前值CV达到下限值后,同样,即使CD引脚出现上升沿信号,当前值CV也不再递减。如果在一个程序周期内,CU引脚和CD引脚都出现上升沿信号,则当前值CV保持不变。当前值CV大于或等于预设值PV时,加计数器输出QU的状态变为“1”,否则,QU的信号状态为“0”;当当前值小于或等于0,则输出QD的状态为“1”,否则,状态为“0”。设预设值PV=3,则加减计数器的时序如图3-32所示。3、加减计数器【分析】某停车场共有1000个车位,在停车场入口和出口处各装一个传感器,实时监测进入和离开停车场的车辆,试编程统计该停车场的空车位数。【例7】
在车辆入口处,设置红外传感器(I0.0)用于检测入场的车辆;在车辆出口处,设置红外传感器(I0.1)用于检测出场的车辆。
用加减计数器记录停车场的空车位数。PLC开始工作时,装载空车位数(1000);当车辆进入停车场,I0.0输出一个脉冲信号,计数器减1,即减少1个空车位;当车辆驶出停车场,I0.1输出一个脉冲信号,加计数器加1,即增加1个空车位;当计数器的当前值为0时,计数器线圈(Q0.0)接通,报警指示灯点亮。设系统存储器字节,用于在PLC首次扫描时装载数值,地址为MB1(见下页的知识库),则梯形图程序如图所示。
任务实施本任务主要学习各种定时器及计数器使用方法。使用定时器与计数器配合设计24小时长延时程序,控制分析如下。24小时长延时程序设计如表3-18所示。(1)使用定时器设计一个1分钟延时程序。(2)采用计数器设计一个60次计数程序,延时1小时。(3)采用计数器设计一个24次计数程序,延时24小时。任务实施任务实施序号梯形图程序解释1
定时器定时60秒,1分钟延时程序2
1分钟延时时间到后自动复位定时器。表3-1824小时长延时程序设计任务实施3
计数60次,1小时4
计数24次,24小时。项目三S7-1200的基本指令任务1位逻辑指令任务2定时器及计数器指令任务3功能指令移动指令用于将数据元素复制到新的存储器地址中,并可以将从一种数据类型转换成另一种数据类型(同一条指令的输入参数和输出参数的数据类型可以不相同,如MB0中的数据传送到MW10),移动过程中不改变源数据。MOVE指令的数据类型可支持SInt、Int、DInt、USInt、UInt、UDInt、Real、LReal、Byte、Word、DWord、Char、Array、Struct、DTL、Time。MOVE(移动)指令及其指令符号和功能说明如表3-17所示。1、移动指令表3-17MOVE(移动)指令及其指令符号和功能说明指令指令符号功能说明MOVE(移动)指令
MOVE(移动)指令用于将IN输入端的源数据传送(复制)给OUT1输出端的目的地址,并且转换为OUT1指定的数据类型,源数据保持不变。MOVE指令应用如图3-10所示,IN和OUT1可以是Bool之外的所有基本数据类型和DTL、Struct、Array等数据类型。IN还可以是常数。1、移动指令图3-10MOVE指令应用注意:如果想把一个数据同时传给多个不同的存储单元,可单击MOVE指令方框中的图标来添加输出端。移位指令包括左移位指令(SHL)和右移位指令(SHR),用于将输入单元IN的值左移或者右移N位,移位的结果保存到OUT单元中。对于无符号数,移位后空出位填0;对于有符号数,左移后空出位填0,右移后空出位为符号位(正数的符号位为0,负数的符号位为1)。移位指令的数据类型为SInt、Int、DInt、USInt、UInt、UDInt、Word、DWord、Byte。移位指令符号和功能说明如表3-18所示。2、移位指令表3-18移位指令指令符号和功能说明指令指令符号功能说明左移位指令
可以使用“左移”指令将输入IN中操作数的内容按位向左移位,并在输出OUT中查询结果。参数N用于指定将指定值移位的位数。如果参数N的值为“0”,则将输入IN的值复制到输出OUT的操作数中。如果参数N的值大于位数,则输入IN的操作数值将向右移动该位数个位置。用零填充操作数右侧部分因移位空出的位。右移位指令
可以使用“右移”指令将输入IN中操作数的内容按位向右移位,并在输出OUT中查询结果。参数N用于指定将指定值移位的位数。如果参数N的值为“0”,则将输入IN的值复制到输出OUT的操作数中。如果参数N的值大于位数,则输入IN的操作数值将向右移动该位数个位置。无符号值移位时,用零填充操作数左侧区域中空出的位。如果指定值有符号,则用符号位的信号状态填充空出的位。2、移位指令图3-11说明了如何将WORD数据类型操作数的内容向左移动
6位。2、移位指令图3-12说明了如何将整数数据类型操作数的内容向右移动4位。循环移位指令包括循环左移位指令(ROL)和循环右移位指令(ROR),用于将参数IN的位序列循环左移或右移,结果分配给OUT。N表示要循环移位的位数。循环移位的数据类型为Word、DWord、Byte。循环移位指令指令符号和功能说明如表3-19所示。3、循环移动指令表3-19循环移位指令指令符号和功能说明指令指令符号功能说明左循环移位指令
可以使用“循环左移”指令将输入IN中操作数的内容按位向左循环移位,并在输出OUT中查询结果。参数N用于指定循环移位中待移动的位数。用移出的位填充因循环移位而空出的位。如果参数N的值为“0”,则将输入IN的值复制到输出OUT的操作数中。如果参数N的值大于可用位数,则输入IN中的操作数值仍会循环移动指定位数。右循环移位指令
可以使用“循环右移”指令将输入IN中操作数的内容按位向右循环移位,并在输出OUT中查询结果。参数N用于指定循环移位中待移动的位数。用移出的位填充因循环移位而空出的位。如果参数N的值为“0”,则将输入IN的值复制到输出OUT的操作数中。如果参数N的值大于可用位数,则输入IN中的操作数值仍会循环移动指定位数。3、循环移动指令图3-13显示了如何将DWORD数据类型操作数的内容向左循环移动3位。3、循环移动指令图3-14显示了如何将DWORD数据类型操作数的内容向右循环移动3位。(1).比较指令
比较指令用来比较数据类型相同的两个数IN1和IN2的大小,相比较的两个数IN1和IN2分别在触点的上面和下面,它们的数据类型必须相同。操作数可以是I、Q、M、L、D存储区中的变量或常数。比较两个字符串时,实际上比较的是它们各自对应字符的ASCǁ码的大小,第一个不相同的字符决定了比较的结果。
比较指令可以等效成比较触点,比较符号可以是“==(等于)”“<>(不等于)”“>(大于)”“>=(大于等于)”“<(小于)”和“<=(小于等于)”,当满足比较条件时,触点接通。4、比较指令生成比较指令后,鼠标双击比较符号下面的问号,单击出现的向下的箭头,在下拉式列表中设置要比较的数的数据类型。如果想要修改比较符号,用鼠标双击比较符号,然后单击出现的向下的箭头,在下拉式列表中修改比较的符号。比较指令的运算符号及数据类型如图3-15所示。4、比较指令图3-15比较指令的运算符号及数据类型(2).范围内与范围外比较指令范围内与范围外比较指令和比较指令用法类似,同样可以等效成比较触点。当有能流流入指令框,则执行比较指令。如果满足比较条件,等效触点闭合,比较指令的输出端就会有能量流流出。如果不满足条件,输出端就没有能量流流出。当没有能流流入指令框,则不执行比较指令,也就不会有能量流从输出端流出。范围内和范围外比较指令如图3-16所示。4、比较指令范围内比较指令:如图3-16中的IN_RANGE指令框,当当参数VAL满足MIN<=VAL<=MAX时,等效触点闭合,输出端有能量流流出。范围外比较指令:如图3-16中的OUT_RANGE指令框,当当参数VAL满足VAL<MIN或VAL>MAX时,等效触点闭合,输出端有能量流流出。4、比较指令图3-16范围内和范围外比较指令数学函数中的加(ADD)、减(SUB)、乘(MUL)、除(DIV)指令如图3-11所示,操作数的类型可选整数(SInt、Int、DInt、USInt、UInt、UDInt)和浮点数Real,IN1和IN2可以是常数也可是寄存器。IN1、IN2和OUT的数据类型应该相同,加、减、乘、除指令如图3-17所示。加(ADD)指令:IN1+IN2=OUT,如果是三个或三个以上的数相加,鼠标单击图标,可根据需求增加加数的个数。减(SUB)指令:IN1-IN2=OUT。乘(MUL)指令:IN1*IN2=OUT,如果是三个或三个以上的数相乘,鼠标单击图标,可根据需求增加因数的个数。除(DIV)指令:IN1/IN2=OUT。5、加减乘除指令图3-17加、减、乘、除指令交换指令如图3-18所示。数据类型可以选择Word和Dword,IN和OUT数据类型为Word时,交换指令SWAP交换输入IN的高、低字节后,保存到OUT指定的地址。IN和OUT数据类型为DWord时,交换IN中4个字节中数据的顺序后保存到OUT指定的地址。6、交换指令图3-18交换指令注意:交换指令需要采用脉冲触发方式进行。由于PLC的扫描工作方式特点,如采用触点直接接通触发会使OUT中的数值一直处于变化过程中。填充块指令及块移动指令如图3-19所示。FILL_BLK将输入参数IN设置的值填充到输出参数OUT指定起始地址的目标数据区,COUNT为填充的数组元素个数,源区域和目标区域数据类型应相同。MOVE_BLK用于将源存储区的数据移动到目标存储区。IN和OUT是待复制的源区域和目标区域中的首个元素。6、填充块指令及块移动指令图3-19填充块指令及块移动指令注意:在博途编程软件中还提供了不可中断的存储区填充指令UFILL_BLK和不可中断存储区移动指令UMOVE_BLK。不可中断的存储区填充指令UFILL_BLK与填充块指令FILL_BLK的功能相同,其区别在于前者的填充操作不会被其他操作系统任务打断,不可中断存储区移动指令UMOVE_BLK与MOVE_BLK的功能相同,其区别在于前者的填充操作不会被其他操作系统任务打断。
本任务主要学习功能指令中的移动指令、移位指令、循环移位指令、比较指令、加减乘除指令、交换指令、填充块指令、块移动指令,任务实施内容如下。1.编写小程序总结移位指令和循环移位指令的区别。2.通过比较指令编写某值在范围内和不在范围内报警,并使用值在范围内指令和值在范围外指令进行功能等效程序编写。3.通过加减乘除运算指令总结数据长度在该指令应用中的注意事项。4.使用填充块指令及块移动指令进行DB数据块中元素赋值填充及数据移动操作。任务实施谢谢观看PLC应用技术项目教程4四路抢答器模拟控制基础篇知识目标2掌握互锁设计及避免双线圈输出问题能的梯形图设计1初始化程序设计能力目标2能够分析数码管显示电路及相应的程序实现1掌握四路抢答器硬件电气连接项目四四路抢答器模拟控制基础篇素质目标1通过学习四路抢答器中数码管显示电路培养学生的逻辑分析能力课堂思政1通过抢答器规则介绍,体现公平公正,遵守规则,努力拼搏。项目四四路抢答器模拟控制基础篇3412项目背景及控制分析相关知识项目实施项目考核项目四四路抢答器模拟控制基础篇项目背景
设计一个四路抢答器,SB5为主持人出题按钮,SB1~SB4为四个抢答器的按钮,SB6为复位按钮。当主持人按下出题按钮后,数码管显示“8”并按1Hz周期闪烁,方可开始抢答。此后任何时刻按下一个抢答器的按钮,数码管上显示相应抢答到的队伍数字1~4,一旦抢答成功后,此时其余队伍再按抢答按钮均无效。若在主持人未按开始按钮时有队伍按下抢答按钮,则违规指示灯M闪烁,只有主持人按下复位按钮才能消除违规指示灯。答题结束,主持人按下复位SB6,对应的数码管灭,方可进行新一轮抢答控制分析控制规则:(1)主持人按下开始抢答后才能抢答;(2)任意选手抢答后其他选手就无法再抢答;(3)主持人发出抢答信号后数码管显示“8”并闪烁。被控对象:数码管。输入信号:1-4号抢答按钮、开始抢答按钮、复位按钮。输出信号:数码管、违规指示灯M。3412项目背景及控制分析相关知识项目实施项目考核项目四四路抢答器模拟控制基础篇数码管显示电路初始化程序设计12双线圈输出问题31.初始化程序设计很多项目中在开机后需要对一些特定的寄存器进行初始化操作,初始化的作用是将设备的基本运行数据进行PLC自设定,包括用户自己写的程序数据的自设定,比如通讯的建立、数据的清零与设置默认值等。一般在使用西门子1200PLC进行编程时可以采用两种方法进行初始化设计:(1)使用CPU中FristScan系统存储器位触发,此方法适合小范围对数据寄存器等的初始化操作;(2)采用Startup组织块进行,此方法适合较大范围的对数据寄存器等的初始化操作,采用单独的编程窗口。1.初始化程序设计(1)使用CPU中FristScan系统存储器位触发,此方法适合小范围对数据寄存器等的初始化操作;1.初始化程序设计(1)使用CPU中FristScan系统存储器位触发,此方法适合小范围对数据寄存器等的初始化操作;1.初始化程序设计(2)采用Startup组织块进行,此方法适合较大范围的对数据寄存器等的初始化操作,采用单独的编程窗口2.数码管显示电路数码管内部实际是由发光二极管组成,其接线方式分为共阴极、共阳极两种,其内部原理图如图所示思考:如果使用共阳极接线方式的数码管,PLC输出接线需要做哪些修改?3.PLC双线圈输出问题PLC的工作原理是“从上到下、从左到右”依次扫描程序,程序执行周期结束后一次性将运算结果输送至输出寄存器后再输出至硬件电路。所以需要特别注意在程序编写中要避免输出寄存器重复输出问题,如图4-6所示程序为Q0.0重复输出,即在程序段1中有Q0.0输出,程序段2中有Q0.0输出,这就造成了程序段1中对Q0.0的操作在最终运行状态下无效。
图4-6线圈重复输出问题3.PLC双线圈输出问题小贴士:其实PLC在扫描程序段1的时候已经将Q0.0接通,但紧接着在扫描程序段2时Q0.0又处于未接通状态,故最终运行状态下此程序表现为无论程序段1中的I0.0是否接通,Q0.0的状态均取决于程序段2的运算结果,这是由PLC的工作原理决定的。
图4-6线圈重复输出问题3.PLC双线圈输出问题在本项目实现中就会出现同样的问题,比如LED数码管在显示“1”时需要接通“B”“C”,在显示“4”时需要接通“B”“C”“F”“G”,这里“B”“C”分别在I/O分配表中连接“Q0.1”“Q0.2”,这就存在重复输出问题,若按照传统程序编程思路按将1号抢答程序按顺序编写直到4号抢答程序,那么无论1号、2号、4号抢答速度是否快于4号,PLC运行时显示的结果永远是4号的抢答结果或数码管乱码显示,即4号如果未抢答,其他号抢答,数码管不显示“B”“C”“F”“G”段,其他段显示状态不一定。若4号抢答,则数码管显示“B”“C”“F”“G”即4号。
3.PLC双线圈输出问题如何避免双线圈输出问题,采用中间寄存器辅助的方法,对相同段触发条件进行“并联”的方式解决问题。如图4-7所示,在1-4号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务会计主管面试题及标准答案
- 金融资产转让协议
- 2025年宋庆龄幼儿园工作人员公开招聘备考题库及答案详解一套
- 2025年巴州新华书店有限责任公司若羌县分公司招聘备考题库及参考答案详解一套
- 汕头大学医学院口腔医院2025年办公室工作人员招聘备考题库含答案详解
- 2025年南昌市劳动保障事务代理中心招聘劳务派遣人员备考题库及答案详解一套
- 中电建河北工程有限公司2026招聘备考题库及答案详解1套
- 智能机器人维护工程师的答案集与要点解析
- 通信工程师面试问题集与答案解析
- 产品经理岗位面试技巧与问题解析
- 2025四川航天川南火工技术有限公司招聘考试题库及答案1套
- 2025年度皮肤科工作总结及2026年工作计划
- (一诊)成都市2023级高三高中毕业班第一次诊断性检测物理试卷(含官方答案)
- 四川省2025年高职单招职业技能综合测试(中职类)汽车类试卷(含答案解析)
- 2025年青岛市公安局警务辅助人员招录笔试考试试题(含答案)
- 2024江苏无锡江阴高新区招聘社区专职网格员9人备考题库附答案解析
- 科技园区入驻合作协议
- 电大专科《个人与团队管理》期末答案排序版
- 山东科技大学《基础化学(实验)》2025-2026学年第一学期期末试卷
- 2025西部机场集团航空物流有限公司招聘笔试考试备考试题及答案解析
- 2025年吐鲁番辅警招聘考试题库必考题
评论
0/150
提交评论