第5章S7200PLC的指令系统52详细_第1页
第5章S7200PLC的指令系统52详细_第2页
第5章S7200PLC的指令系统52详细_第3页
第5章S7200PLC的指令系统52详细_第4页
第5章S7200PLC的指令系统52详细_第5页
已阅读5页,还剩201页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5.2.1 基本基本逻辑指令逻辑指令5.2.2 立即操作指令立即操作指令5.2.3 复杂复杂逻辑指令逻辑指令5.2.4 取非触点指令和取非触点指令和空操作指令空操作指令5.2.5 定时器和计数器定时器和计数器指令指令5.2.6 顺序控制继电器顺序控制继电器指令指令5.2.7 移位指令移位指令5.2.8 比较操作指令比较操作指令15.2 S7-200 PLC的基本指令及编程方法 S7-200 PLC的全部指令按功能共分为的全部指令按功能共分为18类,类,STL指令共指令共247条,如下表和条,如下表和右图所右图所示。示。在在LAD语言中,这些指令按符号语言中,这些指令按符号形式可形式可分为分为3

2、大类:触点类;线圈类,方框类大类:触点类;线圈类,方框类。指令的学习重在理解其功能和使用方法。指令的学习重在理解其功能和使用方法。2S7-200 PLC指令分类(括号中为指令分类(括号中为STL指令条数)指令条数)位逻辑(位逻辑(29条)条)逻辑运算(逻辑运算(12条)条)时钟(时钟(4条)条)传送(传送(10条)条)通信(通信(6条)条)程序控制(程序控制(13条)条)比较(比较(78条)条)移位移位/循环移位(循环移位(13条)条)转换(转换(23条)条)字符串(字符串(6条)条)计数器(计数器(6条)条)表(表(8条)条)浮点数计算(浮点数计算(11条)条)定时器(定时器(5条)条)整数

3、计算(整数计算(16条)条)库库中断(中断(6条)条)调用子程序(调用子程序(1条)条)5.2 S7-200 PLC的基本指令及编程方法 【说明说明1】本课程主要介绍的是本课程主要介绍的是SIMATIC指令集指令集中的梯形图指令、语句表指令和功能块图指令中的梯形图指令、语句表指令和功能块图指令(STEP 7 Micro/WIN还可选还可选IEC 1131-3指令集编指令集编程 ) , 助 记 符 采 用程 ) , 助 记 符 采 用 国 际 助 记 符国 际 助 记 符 ( S T E P 7 Micro/WIN还可选用还可选用SIMATIC助记符)。助记符)。【说明说明2】编程教学示例以梯形

4、图程序为主,语句编程教学示例以梯形图程序为主,语句表程序为辅,功能块图程序偶尔提及。表程序为辅,功能块图程序偶尔提及。【提示提示】编程时,应注意各操作数的数据类型及编程时,应注意各操作数的数据类型及数值范围。数值范围。CPU对非法操作数将生成编译错误代对非法操作数将生成编译错误代码。有关码。有关S7-200 CPU模块操作数的寻址的范围模块操作数的寻址的范围(各各类存储区地址范围)参见教材类存储区地址范围)参见教材145页表页表5-5和和西门子西门子S7-200编程手册。编程手册。 35.2 S7-200 PLC的基本指令及编程方法 45.2 S7-200 PLC的基本指令及编程方法本节学习的

5、基本指令包括本节学习的基本指令包括l位位逻辑指令,用于逻辑指令,用于开关开关量的逻辑处理和控制量的逻辑处理和控制(5.2.15.24)。)。l定时器指令和计数器指令(定时器指令和计数器指令(5.2.5)。)。l顺序控制继电器指令(顺序控制继电器指令(5.2.6)。)。l移位和循环移位指令(移位和循环移位指令(5.2.7)。)。l比较操作指令(比较操作指令(5.2.8)。)。55.2.1 基本逻辑指令 S7-200程序的控制逻辑程序的控制逻辑lS7-200 CPU在执行在执行程序中的程序中的指令时要使用指令时要使用逻辑堆栈逻辑堆栈来解决控制逻辑。用来解决控制逻辑。用STL编程时,必须熟知逻辑堆编

6、程时,必须熟知逻辑堆栈的结构和堆栈过程。如栈的结构和堆栈过程。如LD I0.0,A M10.0。lLAD和和FBD编辑器自动插入处理逻辑堆栈操作所需编辑器自动插入处理逻辑堆栈操作所需的指令。的指令。l在在STL中,必须自己插入这些指令处理逻辑堆栈。中,必须自己插入这些指令处理逻辑堆栈。S7-200 PLC逻辑堆栈的结构逻辑堆栈的结构l逻辑堆栈逻辑堆栈是一组能够存储和取出数据是一组能够存储和取出数据的的连续连续位位存储存储单元。单元。PLC的逻辑堆栈与通用计算机中的堆栈结构的逻辑堆栈与通用计算机中的堆栈结构相同。堆栈的存取特点是相同。堆栈的存取特点是“后进先出(后进先出(Last-In/Firs

7、t-Out)”,数据只能从栈顶进出。,数据只能从栈顶进出。S7-200 PLC主机主机的逻辑的逻辑堆栈结构如下表所示。堆栈结构如下表所示。65.2.1 基本逻辑指令逻辑堆栈结构逻辑堆栈结构是由是由九个九个堆堆栈栈存储器位存储器位组成的串联堆组成的串联堆栈栈,堆栈里存储,堆栈里存储的是布尔的是布尔型型数据(数据(0或或1)。栈)。栈顶是顶是布尔型数据布尔型数据进出进出堆栈的必堆栈的必由之路。进栈时,数据由由之路。进栈时,数据由栈顶压入,堆栈中原来所栈顶压入,堆栈中原来所存的数据被串行下移存的数据被串行下移一位,一位,原原STACK8中的数据被中的数据被推推出堆栈出堆栈而丢失而丢失。出栈时,。出栈

8、时,数据从栈顶被取出,所有数据从栈顶被取出,所有数 据 串 行 上 移数 据 串 行 上 移 一 位 ,一 位 ,STACK8中随机地装入一中随机地装入一个个数值(数值(0或或1)。例如:)。例如:7S7-200 PLC逻辑逻辑堆栈结构堆栈结构堆栈结构堆栈结构名称名称说明说明S0STACK0第一级堆栈第一级堆栈 S1STACK1第二级堆栈第二级堆栈S2STACK2第三级堆栈第三级堆栈S3STACK3第四级堆栈第四级堆栈S4STACK4第五级堆栈第五级堆栈S5STACK5第六级堆栈第六级堆栈S6STACK6第七级堆栈第七级堆栈S7STACK7第八级堆栈第八级堆栈S8STACK8第九级堆栈第九级堆

9、栈栈顶栈顶进栈出出栈栈5.2.1 基本逻辑指令 8堆堆栈栈指令指令LD I0.0LD I0.1LD I2.0A I2.1OLDALDS0S1S2S3S4S5S6S7S8I0.0S0S1S2S3S4S5S6S7I0.1I0.0S0S1S2S3S4S5S6I2.0I0.1I0.0S0S1S2S3S4S5I2.0I2.1I0.1I0.0S0S1S2S3S4S5(I2.0I2.1)+I0.1I0.0S0S1S2S3S4S5xI0.0(I2.0I2.1)+I0.1S0S1S2S3S4S5xx网络网络 1I0.0I2.0I0.1Q5.0I2.1网络网络 1 LD I0.0 /装载指令,进栈装载指令,进栈L

10、D I0.1 /装载指令,进栈装载指令,进栈LD I2.0 /装载指令,进栈装载指令,进栈A I2.1 /与指令,只改变栈顶值与指令,只改变栈顶值OLD /逻辑堆栈指令逻辑堆栈指令-栈装载或栈装载或ALD /逻辑堆栈逻辑堆栈指令指令-栈栈装载与装载与= Q5.0 /不影响堆栈不影响堆栈栈底栈底栈顶栈顶逻辑堆栈中的变化情况LAD程序程序STL程序程序丢失丢失丢失丢失丢失丢失5.2.1 基本逻辑指令基本基本逻辑指令(包含在指令树中的逻辑指令(包含在指令树中的位逻辑位逻辑指令里)在指令里)在语句表语言中是指对语句表语言中是指对位位存储单元的简单逻辑运算,在存储单元的简单逻辑运算,在梯形图中是指对触点

11、的简单梯形图中是指对触点的简单连接(串联或并联,触点连接(串联或并联,触点的的串联串联代表代表与与操作,操作,并联并联代表代表或或操作)操作)和和对标准线圈对标准线圈的的输出。输出。 基本逻辑指令主要包括基本逻辑指令主要包括l标准触点指令标准触点指令l输出指令输出指令l正负跳变指令正负跳变指令l置位和复位指令等置位和复位指令等【注注】在在LAD语言、语言、STL语言和语言和FBD语言中,各种指语言中,各种指令并不是简单的一一对应关系。这令并不是简单的一一对应关系。这3种语言的编程思种语言的编程思想差别较大,学习时,要注意它们之间的联系和区别,想差别较大,学习时,要注意它们之间的联系和区别,注意

12、切换思维方式。注意切换思维方式。95.2.1 基本逻辑指令10STL共共29条条LAD(共(共16条)条)FBD(共(共12条)条)这些这些位逻辑指令位逻辑指令分别在分别在5.2.15.2.4中介绍。中介绍。SIMATICIEC 1131LADFBDSTLLD bitA bitO bitLDN bitAN bitON bit5.2.1 基本逻辑指令1. 标准触点指令标准触点指令标准触点标准触点指令指令(STL)有:)有:LD、LDN、A、AN、O、ON。这些。这些指令对存储器指令对存储器位位进行操作。进行操作。【注注】教材中把输出指令也归教材中把输出指令也归到了触点指令,把线圈也称为到了触点指

13、令,把线圈也称为触点,不合适。触点,不合适。11常开触点常开触点常闭触点常闭触点位逻辑与位逻辑与位逻辑或位逻辑或装入装入NO触点触点位与位与NO触点触点位或位或NO触点触点装入装入NC触点触点位与位与NC触点触点位或位或NC触点触点输入输入/输出输出/操作数操作数操作数寻址范围操作数寻址范围数据类型数据类型bit(LAD,STL)I, Q, M, SM, T, C, V, S, LBOOL输入(输入(FBD)I, Q, M, SM, T, C, V, S, L,能流,能流BOOL输出(输出(FBD)I, Q, M, SM, T, C, V, S, L,能流,能流BOOLANDORbitbit5

14、.2.1 基本逻辑指令1. 标准触点指令标准触点指令解释解释 LAD指令指令中中,标准触点指令用常开触点和常闭触点表,标准触点指令用常开触点和常闭触点表示。当示。当bit=1时,常开触点闭合(或称时,常开触点闭合(或称接通接通),常闭触),常闭触点断开;当点断开;当bit=0时,常开触点断开,常闭触点闭合。时,常开触点断开,常闭触点闭合。在在STL指令中,指令中,LD代表代表Load,A代表代表AND,O代表代表OR,LDN代表代表Load NOT,AN代表代表AND NOT,ON代表代表OR NOT。LD、A、O指令是对指令是对LAD中的中的常开触点常开触点的的状态值(状态值(1或或0)进行

15、)进行装载、与、或操作;装载、与、或操作;LDN、AN、ON是对是对LAD中的中的常闭触点常闭触点的状态值(的状态值(1或或0)进行)进行操作。操作。在在FBD中,常开触点的逻辑与中,常开触点的逻辑与/或用或用AND/OR方框表示;方框表示;常闭触点和常闭触点和NOT触点的逻辑与触点的逻辑与/或用或用AND/OR方框输入方框输入端加负逻辑符号(圆圈)表示。端加负逻辑符号(圆圈)表示。AND/OR方框的输入方框的输入最多可达最多可达32路。路。125.2.1 基本逻辑指令1. 标准触点指令标准触点指令解释解释 【注注1】标准标准触点触点指令与能流无关,属于无条件执指令与能流无关,属于无条件执行的

16、指令,行的指令,即即不管输入能流不管输入能流有无有无,这些指令总是,这些指令总是执行执行,所以在,所以在LAD程序中可以程序中可以直接与左母线相连。直接与左母线相连。【注注2】触点指令中,除了触点指令中,除了NOT(逻辑非)、(逻辑非)、EU(上升沿检测)、(上升沿检测)、ED(下降沿检测)外(下降沿检测)外,其它其它(包括标准触点指令、立即触点指令、比较操作(包括标准触点指令、立即触点指令、比较操作指令)都是指令)都是无条件指令(与能流无关)无条件指令(与能流无关)。所以在。所以在LAD程序中都可以直接与左母线相连。程序中都可以直接与左母线相连。13LAD程序程序5.2.1 基本逻辑指令LA

17、D程序与程序与STL程序比较程序比较14I0.3 I0.1 I0.2Q0.0I1.0 M0.3+V0.2+M0.4M0.1网络网络 1 LDN I0.3 /从输入映像从输入映像寄寄存存 /器器装入常闭触点装入常闭触点AN I0.1 /与常闭触点与常闭触点A I0.2 /与常开触点与常开触点= Q0.0 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2 LDN I1.0 /装入常闭触点装入常闭触点A M0.3 /与常开触点与常开触点ON V0.2 /或常闭触点或常闭触点O M0.4 /或常开触点或常开触点NOT /非或称取反非或称取反= M0.1 /输出到输出映像寄存器输出到输出映像寄存器

18、STL程序程序标准触点指令教学示例标准触点指令教学示例LAD程序程序5.2.1 基本逻辑指令LAD程序与程序与STL程序比较程序比较15I0.3 I0.1 I0.2=0Q0.0I1.0 M0.3+V0.2+M0.4=0M0.1网络网络 1 LDN I0.3 /从输入映像从输入映像寄寄存存 /器器装入常闭触点装入常闭触点AN I0.1 /与常闭触点与常闭触点A I0.2 /与常开触点与常开触点= Q0.0 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2 LDN I1.0 /装入常闭触点装入常闭触点A M0.3 /与常开触点与常开触点ON V0.2 /或常闭触点或常闭触点O M0.4 /或

19、常开触点或常开触点NOT /非或称取反非或称取反= M0.1 /输出到输出映像寄存器输出到输出映像寄存器STL程序程序标准触点指令教学示例标准触点指令教学示例LAD程序程序5.2.1 基本逻辑指令LAD程序与程序与STL程序比较程序比较16I0.3 I0.1 I0.2=1Q0.0I1.0 M0.3+V0.2+M0.4=0M0.1网络网络 1 LDN I0.3 /从输入映像从输入映像寄寄存存 /器器装入常闭触点装入常闭触点AN I0.1 /与常闭触点与常闭触点A I0.2 /与常开触点与常开触点= Q0.0 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2 LDN I1.0 /装入常闭触点

20、装入常闭触点A M0.3 /与常开触点与常开触点ON V0.2 /或常闭触点或常闭触点O M0.4 /或常开触点或常开触点NOT /非或称取反非或称取反= M0.1 /输出到输出映像寄存器输出到输出映像寄存器STL程序程序标准触点指令教学示例标准触点指令教学示例LAD程序程序5.2.1 基本逻辑指令LAD程序与程序与STL程序比较程序比较17I0.3 I0.1 I0.2=1Q0.0I1.0 M0.3+V0.2+M0.4=1M0.1网络网络 1 LDN I0.3 /从输入映像从输入映像寄寄存存 /器器装入常闭触点装入常闭触点AN I0.1 /与常闭触点与常闭触点A I0.2 /与常开触点与常开触

21、点= Q0.0 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2 LDN I1.0 /装入常闭触点装入常闭触点A M0.3 /与常开触点与常开触点ON V0.2 /或常闭触点或常闭触点O M0.4 /或常开触点或常开触点NOT /非或称取反非或称取反= M0.1 /输出到输出映像寄存器输出到输出映像寄存器STL程序程序标准触点指令教学示例标准触点指令教学示例5.2.1 基本逻辑指令LAD程序与程序与FBD程序比较程序比较18I0.3 I0.1 I0.2Q0.0I1.0 M0.3+V0.2+M0.4M0.1LAD程序程序指令指令盒输入端的圆圈代表取反操作盒输入端的圆圈代表取反操作FBD程序

22、程序5.2.1 基本逻辑指令LAD程序与程序与FBD程序比较程序比较19I0.3 I0.1 I0.2Q0.0I1.0 M0.3+V0.2+M0.4M0.1网络网络 1 LDN I0.3 /从输入映像从输入映像寄寄存存 /器器装入常闭触点装入常闭触点AN I0.1 /与常闭触点与常闭触点A I0.2 /与常开触点与常开触点= Q0.0 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2 LDN I1.0 /装入常闭触点装入常闭触点A M0.3 /与常开触点与常开触点ON V0.2 /或常闭触点或常闭触点O M0.4 /或常开触点或常开触点NOT /非或称取反非或称取反= M0.1 /输出到输

23、出映像寄存器输出到输出映像寄存器STL程序程序标准触点指令教学标准触点指令教学示例示例程序程序指令指令盒输入端的圆圈代表取反操作盒输入端的圆圈代表取反操作FBD程序程序5.2.1 基本逻辑指令205.2.1 基本逻辑指令215.2.1 基本逻辑指令指令指令LD I0.1(假设(假设I0.1=1)执行情况如下表所示。如果是)执行情况如下表所示。如果是LDN指令,则将操作数取反后再装入栈顶,其他操作相同。指令,则将操作数取反后再装入栈顶,其他操作相同。 22LD I0.1执行后逻辑堆栈变化情况 名名 称称执执 行行 前前执执 行行 后后说说 明明STACK0S01将新值将新值I0.1=1装入栈装入

24、栈 顶顶STACK1S1S0由由S0下移一个单元得到下移一个单元得到 STACK2S2S1由由S1下移一个单元得到下移一个单元得到STACK3S3S2由由S2下移一个单元得到下移一个单元得到STACK4S4S3由由S3下移一个单元得到下移一个单元得到STACK5S5S4由由S4下移一个单元得到下移一个单元得到STACK6S6S5由由S5下移一个单元得到下移一个单元得到STACK7S7S6由由S6下移一个单元得到下移一个单元得到STACK8S8S7由由S7下移一个单元得到下移一个单元得到丢失丢失5.2.1 基本逻辑指令指令指令A I0.2(假设(假设I0.2=0)执行情况如)执行情况如下下表表5

25、-8所示。如果所示。如果是是AN指令,则将操作数取反后再和栈顶值相与,结果放指令,则将操作数取反后再和栈顶值相与,结果放回栈顶,即:回栈顶,即: 11=1 S0。(。(O、ON指令类似)指令类似)23指令A I0.2执行后逻辑堆栈变化情况 名名 称称执执 行行 前前执执 行行 后后说说 明明STACK010执行前栈顶值为执行前栈顶值为1。执行是用栈顶值和指令执行是用栈顶值和指令操作数(操作数(I0.2的值为的值为0)进行与运算,结果放回进行与运算,结果放回栈顶。栈顶。即:即:S0I0.2=10=0 S0 STACK1S1S1STACK2S2S2STACK3S3S3STACK4S4S4STACK

26、5S5S5STACK6S6S6STACK7S7S7STACK8S8S8除除S0值外,其他各值不变值外,其他各值不变.SIMATICIEC 1131LADFBDSTL= = bit5.2.1 基本逻辑指令输出输出指令(不属于标准触点)指令(不属于标准触点)l功能功能:将逻辑运算:将逻辑运算结果输出到结果输出到指指定存储器定存储器位位bit或输出映像或输出映像寄存寄存器器位位bit。l格式格式:如右图所示。:如右图所示。l操作数操作数:如下表所示。:如下表所示。24线圈线圈位输出位输出位输出位输出=bitbit( )输入输入/输出输出/操作数操作数操作数寻址范围操作数寻址范围数据类型数据类型bit

27、I, Q, M, SM, T, C, V, S, LBOOL输入(输入(LAD)能流能流BOOL输入(输入(FBD)I, Q, M, SM, T, C, V, S, L,能流,能流BOOL在在LAD和和FBD中,当输出中,当输出指令被执行时,指令被执行时,S7-200将将输出位输出位bit接通或断开。即接通或断开。即指定指定的位被设为的位被设为等于能流。等于能流。在在 S T L 中 , 位 于中 , 位 于 栈 顶 的 值栈 顶 的 值 被被 复 制复 制 至 指 定 的 位至 指 定 的 位 。 即。 即STACK0bit,不影响堆栈不影响堆栈。5.2.1 基本逻辑指令标准触点指令和输出指

28、令举例标准触点指令和输出指令举例标准标准触点指令触点指令中的操作数中的操作数bit为为BOOL型,操作数型,操作数的寻址范围的寻址范围可以是:可以是:I、Q、M、SM、T、C、S、V、L。即这些指令可以对以上存储区的位进行逻。即这些指令可以对以上存储区的位进行逻辑操作。例如辑操作。例如LD M28.5= Q15.3LD SM0.0AN I12.7O V2100.4A L56.6ON T23O C200= V1560.0AN S30.6255.2.1 基本逻辑指令程序教学示例:程序教学示例:LAD程序与程序与STL程序程序比较。比较。26标准触点指令标准触点指令教学教学示例示例网络网络 1LDI

29、0.0 /从输入映像寄存器从输入映像寄存器 /装入装入常开常开触点到栈顶触点到栈顶OI0.1 /或常开触点或常开触点A I0.2 /与常开触点与常开触点= Q0.0 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2 LDN I0.0 /装入常闭装入常闭触点到栈顶触点到栈顶ONI0.1 /或常闭触点或常闭触点ANI0.2 /与常闭触点与常闭触点= Q0.1 /输出到输出映像寄存器输出到输出映像寄存器网络网络 3 /与网络与网络1相比多了个相比多了个NOT指令指令LDI0.0 /装入常开装入常开触点栈顶触点栈顶OI0.1 /或常开触点或常开触点AI0.2 /与常开触点与常开触点NOT /取非

30、,取非,即即取取反反= Q0.3 /输出到输出映像输出到输出映像寄存器寄存器5.2.1 基本逻辑指令程序教学示例:程序教学示例:LAD程序程序与与STL程序程序比较。比较。27标准触点指令标准触点指令教学教学示例示例网络网络 1LDI0.0 /从输入映像寄存器从输入映像寄存器 /装入装入常开常开触点到栈顶触点到栈顶OI0.1 /或常开触点或常开触点A I0.2 /与常开触点与常开触点= Q0.0 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2 LDN I0.0 /装入常闭装入常闭触点到栈顶触点到栈顶ONI0.1 /或常闭触点或常闭触点ANI0.2 /与常闭触点与常闭触点= Q0.1 /

31、输出到输出映像寄存器输出到输出映像寄存器网络网络 3 /与网络与网络1相比多了个相比多了个NOT指令指令LDI0.0 /装入常开装入常开触点栈顶触点栈顶OI0.1 /或常开触点或常开触点AI0.2 /与常开触点与常开触点NOT /取非,取非,即即取取反反= Q0.3 /输出到输出映像输出到输出映像寄存器寄存器5.2.1 基本逻辑指令程序教学示例:程序教学示例:LAD程序程序与与STL程序程序比较。比较。28标准触点指令标准触点指令教学教学示例示例网络网络 1LDI0.0 /从输入映像寄存器从输入映像寄存器 /装入装入常开常开触点到栈顶触点到栈顶OI0.1 /或常开触点或常开触点A I0.2 /

32、与常开触点与常开触点= Q0.0 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2 LDN I0.0 /装入常闭装入常闭触点到栈顶触点到栈顶ONI0.1 /或常闭触点或常闭触点ANI0.2 /与常闭触点与常闭触点= Q0.1 /输出到输出映像寄存器输出到输出映像寄存器网络网络 3 /与网络与网络1相比多了个相比多了个NOT指令指令LDI0.0 /装入常开装入常开触点栈顶触点栈顶OI0.1 /或常开触点或常开触点AI0.2 /与常开触点与常开触点NOT /取非,取非,即即取取反反= Q0.3 /输出到输出映像输出到输出映像寄存器寄存器5.2.1 基本逻辑指令程序教学实例:程序教学实例:FB

33、D程序与程序与LAD程序程序比较比较。295.2.1 基本逻辑指令程序教学实例:程序教学实例:FBD程序与程序与STL程序比较程序比较。30标准触点指令标准触点指令教学教学示例示例网络网络 1LDI0.0 /装入常开装入常开触点到栈顶触点到栈顶OI0.1 /或常开触点或常开触点A I0.2 /与常开触点与常开触点= Q0.0 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2 LDN I0.0 /装入常闭装入常闭触点到栈顶触点到栈顶ONI0.1 /或常闭触点或常闭触点ANI0.2 /与常闭触点与常闭触点= Q0.1 /输出到输出映像寄存器输出到输出映像寄存器网络网络 3 /与网络与网络1相

34、比多了个相比多了个NOT指令指令LDI0.0 /装入常开装入常开触点栈顶触点栈顶OI0.1 /或常开触点或常开触点AI0.2 /与常开触点与常开触点NOT /取非,取非,即即取取反反= Q0.3 /输出到输出映像输出到输出映像寄存器寄存器5.2.1 基本逻辑指令程序教学示例:上述程序执行的时序图如下图所程序教学示例:上述程序执行的时序图如下图所示。示。31由于由于取非指令取非指令NOT缘缘故,故,Q0.0与与Q0.3反相反相(I0.0+I0.1) I0.2Q0.1I0.0I0.1I0.2Q0.0Q0.3Q0.1(I0.0+I0.1) I0.2Q0.0(I0.0+I0.1) I0.2Q0.0Q0

35、.3输输入入输输出出SIMATICIEC 1131LADFBDSTLEUED5.2.1 基本逻辑指令2. 正正/负负跳跳变(上升沿变(上升沿/下降沿)检测指令下降沿)检测指令EU /ED32PNPN输入输入/输出输出操作数寻址范围操作数寻址范围数据类型数据类型输入(输入(FBD) I,Q,M,SM,T,C,V,S,L,能流,能流BOOL输出(输出(FBD) I,Q,M,SM,T,C,V,S,L,能流,能流BOOL格式格式:如右图所示。:如右图所示。功能及执行过程功能及执行过程:当输入(:当输入(LAD,FBD)或栈顶()或栈顶(STL)的值由)的值由0变到变到1(上升沿检测)(上升沿检测)/由

36、由1变到变到0(下降(下降沿检测)时,能流接通沿检测)时,能流接通1个扫描周期个扫描周期(LAD,FBD)/栈顶值变为栈顶值变为1(持(持续续1个扫描周期,个扫描周期,STL)。)。【注注】无法在首次扫描时检测上升无法在首次扫描时检测上升沿沿或下降沿或下降沿。Edge UpEdge DownPositiveTransitionNegativeTransition5.2.1 基本逻辑指令检测检测指令指令EU /ED教学教学示例示例33正正/负跳变检测指令负跳变检测指令EU /ED教学示例教学示例网络网络 1LD I0.4 /装入装入常开触点到栈顶常开触点到栈顶EU /上升沿检测上升沿检测S Q0

37、.3, 1 /置位置位输出映像寄存器输出映像寄存器= Q0.4 /输出到输出映像寄存器输出到输出映像寄存器网络网络 2LD I0.4 /装入常开触点到栈顶装入常开触点到栈顶ED /下降沿下降沿检测检测R Q0.3, 1 /复位复位输出映像寄存器输出映像寄存器= /输出到输出映像寄存器输出到输出映像寄存器负跳负跳变变下降沿下降沿正跳变正跳变上升沿上升沿一个扫描周一个扫描周期长度期长度一个扫描周一个扫描周期长度期长度I0.4Q0.5Q0.4Q0.3接通接通1个扫描周期个扫描周期接通接通1个扫描周期个扫描周期5.2.1 基本逻辑指令3. 置位置位/复位指令复位指令置位置位(S=Set)/复位(复位(

38、R=Reset)指)指令置位(接通令置位(接通/1)/复位(断开复位(断开/0)指定的连续的存储区位数指定的连续的存储区位数(N),),从指定的从指定的地址地址位位(bit)开始开始。可以。可以置位和复位置位和复位1至至255个个存储位。存储位。如果复位指令如果复位指令指定一个定时器位指定一个定时器位(T)或计数器位()或计数器位(C),则该指令),则该指令复位定时器复位定时器或计数器位,或计数器位,并将定时并将定时器器或计数器的当前或计数器的当前值清值清0。设置设置ENO = 0的错误条件:的错误条件:0006(间接地址(间接地址););0091(操作数超出(操作数超出范围范围)。)。34S

39、IMATICIEC 1131LADFBDSTLS bit, NR bit, Nbit( S )Nbit( R )NSNbitRNbit5.2.1 基本逻辑指令3. 置位和复位指令置位和复位指令 在在STL程序中,只有当程序中,只有当栈顶值为栈顶值为1时,才能执行置时,才能执行置位指令位指令S或复位指令或复位指令R。置位后即使栈顶值变为。置位后即使栈顶值变为0,仍保持置位;复位后即使栈顶值变为仍保持置位;复位后即使栈顶值变为0,仍保持复,仍保持复位。可见这两条指令均有位。可见这两条指令均有“记忆记忆”功能功能。操作数的寻址范围和数据类型见下表。操作数的寻址范围和数据类型见下表。35输入输入/输出

40、输出/操作数操作数操作数寻址范围操作数寻址范围数据类型数据类型bitI, Q,M,SM,T, C,V,S,LBOOLNVB,IB,QB,MB,SMB,LB,SB,AC,*VD,*AC,*LD ,常数,常数BYTE最大最大2555.2.1 基本逻辑指令置位和复位置位和复位指令编程教学示例指令编程教学示例36网络网络 2 置位置位LDI0.0SQ0.1, 6网络网络 3 复位复位LDI0.1RQ0.1, 6由于由于是采用扫描是采用扫描工作工作方式,当置位、方式,当置位、复位复位条件同时满足时,如条件同时满足时,如果置位、复位的是同果置位、复位的是同一个位,则写在前面一个位,则写在前面的的指令结果将

41、被后面指令结果将被后面的指令结果覆盖。的指令结果覆盖。I0.0(置位)(置位)I0.1(复位)(复位)Q0.1到到Q0.6复位指令在后,故复位结复位指令在后,故复位结果覆盖前面的置位结果果覆盖前面的置位结果5.2.2 立即操作指令 立即操作指令立即操作指令用于对用于对I/O端口的数字输入和输出信号端口的数字输入和输出信号进行进行直接读和写直接读和写,而不是经过输入映像寄存器和输出,而不是经过输入映像寄存器和输出映像映像寄存器寄存器,所以可以提高信号的输入和输出速度。,所以可以提高信号的输入和输出速度。立即操作指令包括:立即操作指令包括:l立即触点指令立即触点指令:用于输入数字信号:用于输入数字

42、信号l立即输出指令立即输出指令:用于输出数字信号:用于输出数字信号l立即置位立即置位/复位指令复位指令:用于输出数字信号用于输出数字信号由于立即操作指令针对的是由于立即操作指令针对的是I/O端口的数字输入和数端口的数字输入和数字输出字输出信号,所以它们的位操作数地址只能是物理输信号,所以它们的位操作数地址只能是物理输入端口地址入端口地址Ix.x和物理输出端口地址和物理输出端口地址Qx.x。 【注注】在立即操作指令中,在立即操作指令中,Ix.x和和Qx.x代表的是数字输入代表的是数字输入和输出端口(含输出映像寄存器)的地址;而在非立即操和输出端口(含输出映像寄存器)的地址;而在非立即操作指令中,

43、作指令中,Ix.x和和Qx.x代表的是输入和输出映像寄存器的代表的是输入和输出映像寄存器的地址。地址。375.2.2 立即操作指令1. 立即触点指令立即触点指令 在在STL的每个标准触点指令的后面的每个标准触点指令的后面加上加上“I”便构成了立即触点指令。便构成了立即触点指令。例如,例如,LDI I10.5,ANI I12.3。在在FBD指令盒中,如果输入的是能指令盒中,如果输入的是能流,则立即指示符流,则立即指示符“?”省略。省略。指令执行时,直接读取物理指令执行时,直接读取物理DI点的点的值,值,不刷新相应映像寄存器的值不刷新相应映像寄存器的值。逻辑堆栈操作过程同标准触点一样。逻辑堆栈操作

44、过程同标准触点一样。38SIMATICIEC 1131LADFBDSTLLDI bitAI bitOI bitLDNI bitANI bitONI bit输入输入/输出输出/操作数操作数操作数寻址范围操作数寻址范围数据类型数据类型bit(LAD,STL)IBOOL输入(输入(FBD)IBOOLbitbitANDOR5.2.2 立即操作指令2. 立即输出指令立即输出指令功能功能:把:把栈顶栈顶值(值(STL)或能流)或能流(LAD和和FBD)复制)复制到指令所到指令所指定的物理输出指定的物理输出点和点和相应相应的输出的输出映像映像寄存器寄存器,不影响栈内值。,不影响栈内值。例:例:=I Q0.2

45、 39SIMATICIEC 1131LADFBDSTL=I bit输入输入/输出输出/操作数操作数操作数寻址范围操作数寻址范围数据类型数据类型bitQBOOL输入输入(LAD)能流能流BOOL输入输入(FBD)I,Q,M,SM,T,C,V,S,L,能流,能流BOOLbit( )=bit5.2.2 立即操作指令 西门子西门子S7-200系列系列PLC立即操作指令工作示意图立即操作指令工作示意图40I0.0I0.1I0.2I0.3I0.4I0.5I0.6I0.7M-SF1-SF2DC24VQ0.0Q0.1Q0.2Q0.3I0.2Q0.0I0.5Q0.0QA1L+MAC220V输入设备输入设备输入接

46、口输入接口 输入映输入映像寄存像寄存器器用户用户程序程序(梯形图程序梯形图程序)输出接口输出接口输出设备输出设备停止停止起动起动I0.0I0.1I0.2I0.3I0.4I0.5读输入阶段读输入阶段Q0.0Q0.1Q0.2Q0.3输出映像输出映像寄存器寄存器Q0.0Q0.1Q0.2Q0.3输出锁输出锁存器存器执行用户程序阶段执行用户程序阶段写数字输出阶段写数字输出阶段读输入读输入执行用户程序执行用户程序写数字输出阶段写数字输出阶段处理通讯请求处理通讯请求自诊断自诊断1010 1110I0.6I0.7(I0.2+Q0.0)I0.5Q0.000L5.2.2 立即操作指令3. 立即置位立即置位/复位指

47、令复位指令 功能功能:立即置位(接通:立即置位(接通/1)/立即立即复位(断开复位(断开/0)指令指定的连续)指令指定的连续N个物理数字输出点及个物理数字输出点及相应的输相应的输出映像寄存器出映像寄存器,从从指定的地址位指定的地址位(bit)开始开始。可以立即置位。可以立即置位/复复位位1至至128个点个点。例:。例:SI Q0.0, 2 41SIMATICIEC 1131LADFBDSTLSI bit, NRI bit, Nbit( SI )Nbit( RI )NSINbitRINbit输入输入/输出输出/操作数操作数操作数寻址范围操作数寻址范围数据类型数据类型bitQBOOLNVB,IB,

48、QB,MB,SMB,LB,SB,AC,*VD,*AC,*LD ,常数,常数BYTE最大最大1285.2.2 立即操作指令立即操作指令编程举例:立即操作指令编程举例: 42立即操作指令教学示例立即操作指令教学示例网络网络 1 网络网络标题标题LD I0.0 /装入常开装入常开触点(从输入映像寄存器)触点(从输入映像寄存器)= Q0.0 /输出,输出,非非立即(到输出映像寄存器)立即(到输出映像寄存器) =I Q0.1 /立即立即输出(到输出(到DO点和输出映像寄存器)点和输出映像寄存器) SI Q0.2, 15 /从从Q0.2开始的开始的15个个DO点被点被立即置立即置1 / 相应的输出相应的输

49、出映像映像寄存器也被刷新寄存器也被刷新 网络网络 2LDI I0.0 /立即输入触点指令立即输入触点指令= Q0.3 /输出,输出,非立即(到输出映像寄存器)非立即(到输出映像寄存器)5.2.2 立即操作指令立即操作指令立即操作指令编程举例:时序图编程举例:时序图435.2.3 复杂逻辑指令 复杂逻辑指令复杂逻辑指令:西门子称为:西门子称为逻辑堆逻辑堆栈指令栈指令。主要用来描述对触点进行。主要用来描述对触点进行的复杂连接的复杂连接,并,并可以可以实现实现对逻辑堆对逻辑堆栈复杂的操作。栈复杂的操作。本类指令包括:本类指令包括:ALD、OLD、LPS、LRD、LPP和和LDS。这些指令中除。这些指

50、令中除LDS外,其余指令都无操作数外,其余指令都无操作数。这。这些指令都是位逻辑指令。些指令都是位逻辑指令。本本类类指令没有对应的指令没有对应的LAD指令和指令和FBD指令。这是因为对指令。这是因为对LAD和和FBD程序,程序,逻辑逻辑堆栈指令是由编程软件堆栈指令是由编程软件在编译时自动插入的,用户无法输在编译时自动插入的,用户无法输入。而入。而STL程序中,逻辑堆栈指令程序中,逻辑堆栈指令必须由用户输入。必须由用户输入。44SIMATICIEC 1131STL ALD OLD LPS LPP LRD LDS nLDS指令指令操作数操作数数据类型数据类型n(常数)(常数)085.2.3 复杂逻

51、辑指令1.栈栈装载与指令装载与指令ALD(AND Load)将将堆栈第一级和第二堆栈第一级和第二级中的值进行级中的值进行逻辑逻辑AND,结果装入栈顶,堆栈,结果装入栈顶,堆栈中的中的第三第三第九第九级的值依次级的值依次上移一上移一级。级。执行执行ALD后,堆栈深度减后,堆栈深度减1。该指令用于该指令用于将将并联子网络串联起来。并联子网络串联起来。不用不用ALD如何如何实现该程序实现该程序功能功能?45执行前执行前S0S1S2S3S4S5S6S7S8执行后执行后S0S1S2S3S4S5S6S7S8xALD指令教学示例指令教学示例网络网络 1 LDI2.0OI2.1LDI2.2OI2.3ALD=Q

52、2.0图中图中“x”表示表示不确定值。不确定值。ALD5.2.3 复杂逻辑指令1.栈栈装载与指令装载与指令ALD(AND Load)46ALD指令教学示例指令教学示例网络网络 1 LDI2.0OI2.1LDI2.2OI2.3ALD=Q2.0等效变换教学等效变换教学示例示例网络网络 1LDI2.0OI2.1=M0.0网络网络 2 LDI2.2OI2.3AM0.0=Q2.0程序程序等效变换等效变换5.2.3 复杂逻辑指令2.栈栈装载或指令装载或指令OLD(OR Load)将将堆栈第一级和第二级中的数值进堆栈第一级和第二级中的数值进行行逻辑逻辑OR运算,结果运算,结果装入栈顶装入栈顶,堆栈堆栈中其余

53、各级的内容依次中其余各级的内容依次上移一上移一级。执行级。执行OLD后,堆栈深度减后,堆栈深度减1。该指令用于该指令用于将将串联子网络并联起来。串联子网络并联起来。不用不用OLD如何如何实现改程序功能?实现改程序功能?47执行前执行前S0S1S2S3S4S5S6S7S8执行后执行后S0+S1S2S3S4S5S6S7S8x图中图中“x”表示表示不确定值。不确定值。OLD指令教学示例指令教学示例网络网络 1 LDI2.0AI2.2LDI2.1AI2.3OLD=Q2.0OLD5.2.3 复杂逻辑指令2.栈栈装载或指令装载或指令OLD(OR Load)48OLD指令教学示例指令教学示例网络网络 1 L

54、DI2.0AI2.2LDI2.1AI2.3OLD=Q2.0等效变换教学等效变换教学示例示例网络网络 1LDI2.0AI2.2=M0.0网络网络 2LDI2.1AI2.3OM0.0=Q2.0程序程序等效变换等效变换5.2.3 复杂逻辑指令逻辑堆栈指令编程举例逻辑堆栈指令编程举例49逻辑堆栈指令教学示例逻辑堆栈指令教学示例网络网络 1LDI0.0 /装入常开触点装入常开触点OI2.2 /或常开触点或常开触点LDI0.1 /装入常开装入常开触点触点LDI2.0 /装入常开触点装入常开触点AI2.1 /与常开触点与常开触点OLD /栈装载或栈装载或,支路并联,支路并联ALD /栈装载与栈装载与,支路串

55、联,支路串联=Q5.0 /输出输出堆堆栈栈指令指令LD I0.0O I2.2LD I0.1LD I2.0A I2.1OLDALDS0S1S2S3S4S5S6S7S8I0.0S0S1S2S3S4S5S6S7I0.0+I2.2S0S1S2S3S4S5S6S7I0.1I0.0+I2.2S0S1S2S3S4S5S6I2.0I0.1I0.0+I2.2S0S1S2S3S4S5I2.0I2.1I0.1I0.0+I2.2S0S1S2S3S4S5I2.0I2.1+I0.1I0.0+I2.2S0S1S2S3S4S5xXYS0S1S2S3S4S5xx丢失丢失丢失丢失丢失丢失X=I2.0I2.1+I0.1Y=I0.0

56、+I2.25.2.3 复杂逻辑指令逻辑堆栈指令编程举例逻辑堆栈指令编程举例50逻辑堆栈指令教学示例逻辑堆栈指令教学示例网络网络 1LDI0.0 /装入常开触点装入常开触点OI2.2 /或常开触点或常开触点LDI0.1 /装入常开装入常开触点触点LDI2.0 /装入常开触点装入常开触点AI2.1 /与常开触点与常开触点OLD /栈装载或栈装载或,支路并联,支路并联ALD /栈装载与栈装载与,支路串联,支路串联=Q5.0 /输出输出逻辑堆栈指令教学示例逻辑堆栈指令教学示例网络网络 1LDI2.0 /装入常开触点装入常开触点AI2.1 /与常开触点与常开触点OI0.1 /或常开触点或常开触点LDI0

57、.0 /装入常开装入常开触点触点OI2.2 /或常开或常开触点触点ALD /栈装载与栈装载与,支路串联,支路串联=Q5.0 /输出输出比较上面两个程序可知,将串联触点放在网络的第一行,将并联触点挨着左母线,可以减少相应的语句表指令,降低程序的执行时间。5.2.3 复杂逻辑指令3.逻辑逻辑推入栈指令推入栈指令LPS(Logic Push)(分支)(分支或主控或主控指令)指令)复制栈顶复制栈顶的的值并将该数值值并将该数值推推进进栈顶。原栈栈顶。原栈中各级栈值依次中各级栈值依次下下移一级,栈移一级,栈底值被推出栈而丢底值被推出栈而丢失。失。该指令在该指令在梯形图中的分支结构梯形图中的分支结构中,用于

58、生成一条新的母线,中,用于生成一条新的母线,左侧为主控逻辑块时,第一个左侧为主控逻辑块时,第一个完整的从逻辑行从此处开始完整的从逻辑行从此处开始。例子:例子:见后面见后面。51执行前执行前S0S1S2S3S4S5S6S7S8执行后执行后S0S0S1S2S3S4S5S6S7栈栈底值底值S8被推出栈而丢失。被推出栈而丢失。LPS5.2.3 复杂逻辑指令4.逻辑逻辑读栈指令读栈指令LRD(Logic Read)将将第二个第二个堆栈值复制到栈顶。该堆栈值复制到栈顶。该指令不指令不执行进执行进栈或出栈操作,但栈或出栈操作,但原来的栈原来的栈顶值被顶值被复制值取代。复制值取代。在梯形图中的分支结构中,当左

59、在梯形图中的分支结构中,当左侧为主控逻辑块时侧为主控逻辑块时,该指令用于,该指令用于开始开始第二个和后边更多的从逻辑第二个和后边更多的从逻辑块。应注意,块。应注意,LPS后第一个和最后第一个和最后一个从逻辑块不用本指令后一个从逻辑块不用本指令。例子:例子:见后面见后面。 52执行前执行前S0S1S2S3S4S5S6S7S8执行后执行后S1S1S2S3S4S5S6S7S8无进栈或出栈操作无进栈或出栈操作LRD5.2.3 复杂逻辑指令5.逻辑逻辑栈弹出指令栈弹出指令LPP(Logic Pop)将栈将栈顶的顶的值值弹出弹出。第二个第二个堆栈值堆栈值成为新的栈顶成为新的栈顶值值。在梯形图中的分支结构中

60、,在梯形图中的分支结构中,用于用于恢复恢复LPS指令生成指令生成的新母线。的新母线。【注意注意】LPS与与LPP必须配对使必须配对使用用。例子:见后面。例子:见后面。53执行前执行前S0S1S2S3S4S5S6S7S8执行后执行后S1S2S3S4S5S6S7S8x图中图中“x”表示表示不确定值。不确定值。LPP5.2.3 复杂逻辑指令3.堆栈指令堆栈指令LPS、LRD、LPP编程举例编程举例【问题问题】不用这些指令不用这些指令如何如何实现该程序功能?实现该程序功能?54网络网络 1LDI0.0 /装入常开装入常开触点至栈顶触点至栈顶LPS /逻辑推入栈,主控逻辑推入栈,主控AI0.5 /与常开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论