第3章 PLC程序设计基础_第1页
第3章 PLC程序设计基础_第2页
第3章 PLC程序设计基础_第3页
第3章 PLC程序设计基础_第4页
第3章 PLC程序设计基础_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章 PLC程序设计基础3.1 PLC的编程语言与程序结构3.2 存储器的数据类型与寻址方式3.3 位逻辑指令3.4 定时器与计数器指令 熟悉熟悉PLCPLC的编程语言与程序结构的编程语言与程序结构掌握掌握PLCPLC存储器的数据类型与寻址方式存储器的数据类型与寻址方式掌握常用位逻辑指令,定时器与计数器指令掌握常用位逻辑指令,定时器与计数器指令的应用的应用3.1 PLC的编程语言与程序结构3.1 PLC的编程语言与程序结构IEC 61131-3标准的5种编程语言:(1) 顺序功能图(Sequential Function Chart);(2) 梯形图(Ladder Diagram);(3)

2、功能块图(Function Block Diagram);(4) 指令表(Instruction List);(5) 结构文本(Structured Text)。 “能流”(Power Flow)只能从左向右流动。 1个网络(Network)中只能放1块独立电路。S7-200的程序由主程序、子程序和中断程序组成。1主程序:每次扫描都要执行主程序。每个项目都必须且只能有一个主程序(OB1)。2子程序:可以多次调用,简化程序代码、减少扫描时间、容易移植到别的项目。3中断程序:在中断事件发生时由PLC的操作系统调用。S7-200的程序结构 3.2 存储器的数据类型与寻址方式3.2.1 数据在存储器中

3、存取的方式数据在存储器中存取的方式“字节. 位”寻址方式。字节(B)、字(W)型、双字(D)型S7-200的数据类型的数据类型1.1.基本数据类型及表示方法基本数据类型及表示方法 布尔型数据是指布尔型数据是指1 1位二进制数位二进制数字节型数据是指字节型数据是指8 8位二进制数位二进制数字型数据是指字型数据是指1616位无符号整数位无符号整数整型数据是指整型数据是指1616位有符号数据位有符号数据双整型数据是指双整型数据是指3232位有符号数据,位有符号数据,实数型数据(俘点数)采用实数型数据(俘点数)采用3232位单精度数表示。位单精度数表示。在以上数据类型中,用字节(在以上数据类型中,用字

4、节(B B)、字()、字(W W)型、双字)型、双字(D D)型分别表示)型分别表示8 8位、位、1616位和位和3232位的数据长度。位的数据长度。 v输入继电器输入继电器I IS7-200S7-200提供的提供的128128个输入映像寄存器为个输入映像寄存器为I0.0I0.0I15.7I15.7,扩展后的实际数字量输入点数不能超过扩展后的实际数字量输入点数不能超过128128。 外部输入电路接通时,对应的映像寄存器为外部输入电路接通时,对应的映像寄存器为ONON(1 1状状态),反之为态),反之为OFFOFF(0 0状态)。状态)。输入继电器的线圈只能由外部信号驱动,不能用程序输入继电器的

5、线圈只能由外部信号驱动,不能用程序指令驱动,其常开触点和常闭触点供编程使用。指令驱动,其常开触点和常闭触点供编程使用。3.2.2 数据存储器的分配及编程元件数据存储器的分配及编程元件 v输出继电器输出继电器Q QS7-200S7-200提供的提供的128128个输出映像寄存器为个输出映像寄存器为Q0.0Q0.0Q15.7Q15.7,扩展后的实际数字量输入点数不能超过扩展后的实际数字量输入点数不能超过128128。 梯形图中梯形图中Q0.0Q0.0的线圈的线圈“通电通电”,继电器型输出模块中,继电器型输出模块中对应的硬件继电器的常开触点闭合,使接在标号对应的硬件继电器的常开触点闭合,使接在标号0

6、.00.0端端子的外部负载工作,反之则外部负载断电。子的外部负载工作,反之则外部负载断电。 输出继电器的线圈只能使用程序指令驱动,其常开触输出继电器的线圈只能使用程序指令驱动,其常开触点和常闭触点供编程使用,但每一个输出继电器只有唯点和常闭触点供编程使用,但每一个输出继电器只有唯一的物理动合触点用来接通负载。一的物理动合触点用来接通负载。v辅助继电器辅助继电器M MS7-200S7-200提供的提供的256256个辅助继电器(又称位存储器)为个辅助继电器(又称位存储器)为M0.0M0.0M31.7M31.7。辅助继电器用于逻辑运算的状态暂存、移位运算或设辅助继电器用于逻辑运算的状态暂存、移位运

7、算或设置控制信息。虽然名为置控制信息。虽然名为“位存储器位存储器”,但是也可以按,但是也可以按字节、字和双字来存取。字节、字和双字来存取。辅助继电器与外部没有任何联系,其线圈只能使用程辅助继电器与外部没有任何联系,其线圈只能使用程序指令驱动,其常开触点和常闭触点供编程使用。序指令驱动,其常开触点和常闭触点供编程使用。 v特殊继电器特殊继电器SMSMS7-200S7-200提供的提供的24002400个特殊继电器为个特殊继电器为SM0.0SM0.0SM299.7 SM299.7 ,分为只读型和读分为只读型和读/ /写型两类,其中只读型的写型两类,其中只读型的3030个特殊继个特殊继电器为电器为S

8、M0.0SM29.7SM0.0SM29.7。特殊继电器是用户程序和系统程序之间的桥梁,用于特殊继电器是用户程序和系统程序之间的桥梁,用于存储系统的状态变量、有关控制参数和信息。存储系统的状态变量、有关控制参数和信息。用户可以通过特殊继电器向用户可以通过特殊继电器向PLCPLC反映对操作数的特殊反映对操作数的特殊要求并沟通要求并沟通PLCPLC与被控对象之间的信息,与被控对象之间的信息,PLCPLC通过特殊通过特殊继电器向用户提供一些特殊的控制功能和系统信息。继电器向用户提供一些特殊的控制功能和系统信息。SM0.0SM0.0:运行监控,:运行监控,PLCPLC在运行状态时该位一直为在运行状态时该

9、位一直为1 1(ONON)状态。)状态。SM0.1SM0.1:初始化脉冲,在:初始化脉冲,在PLCPLC由由STOPSTOP转换为转换为RUNRUN状态的第一个扫描周状态的第一个扫描周期时为期时为1 1状态,用于程序的初始化。状态,用于程序的初始化。SM0.2SM0.2:当:当RAMRAM中数据丢失时,接通(中数据丢失时,接通(ONON)一个扫描周期,用于程)一个扫描周期,用于程序出错处理。序出错处理。SM0.3SM0.3:PLCPLC上电进入上电进入RUNRUN状态时,接通(状态时,接通(ONON)一个扫描周期,用于)一个扫描周期,用于启动操作之前给设备提供一个预热时间。启动操作之前给设备提

10、供一个预热时间。SM0.4SM0.4:分脉冲,该位输出一个占空比为:分脉冲,该位输出一个占空比为50%50%的分时钟脉冲,用于的分时钟脉冲,用于时间基准。时间基准。SM0.5SM0.5:秒脉冲,该位输出一个占空比为:秒脉冲,该位输出一个占空比为50%50%的秒时钟脉冲,用于的秒时钟脉冲,用于时间基准。时间基准。SM0.6SM0.6:扫描时钟,一个扫描周期接通为:扫描时钟,一个扫描周期接通为1 1(ONON),另一个扫描周),另一个扫描周期断开为期断开为0 0(OFFOFF),循环交替。),循环交替。SM0.7SM0.7:工作方式开关位置指示,:工作方式开关位置指示,0 0为为TERMTERM位

11、置,位置,1 1为为RUNRUN位置。该位置。该位为位为1 1时,用于启动自由口通信方式。时,用于启动自由口通信方式。字节字节SMB1SMB1的常用状态位分别为的常用状态位分别为SM1.0SM1.0、SM1.1SM1.1和和SM1.2SM1.2,其定义对应,其定义对应零标志零标志、溢出标志溢出标志和和负数标志负数标志。v定时器定时器S7-200S7-200提供的提供的256256个定时器个定时器T T为为T0T0T255T255。定时器相当。定时器相当于继电器控制系统中的时间继电器,其作用是实现按照于继电器控制系统中的时间继电器,其作用是实现按照时间原则进行控制的目的。当工作条件满足时,定时器

12、时间原则进行控制的目的。当工作条件满足时,定时器开始定时,当前值从开始定时,当前值从0 0开始增加。当前值等于设定值时,开始增加。当前值等于设定值时,状态寄存器动作,其常开触点和常闭触点供编程使用。状态寄存器动作,其常开触点和常闭触点供编程使用。S7-200S7-200有有3 3种类型:接通延时型种类型:接通延时型TONTON、断开延时型、断开延时型TOFTOF、接通延时保持型接通延时保持型TONRTONR。每种类型的定时器都有。每种类型的定时器都有3 3种时间精种时间精度,分别为度,分别为1ms1ms、10ms10ms和和100ms100ms。定时器的当前值寄存器。定时器的当前值寄存器是是1

13、616位有符号整数,用于存储定时器累计的时基增量值位有符号整数,用于存储定时器累计的时基增量值(1 132 76732 767)。)。 v计数器计数器S7-200S7-200提供的提供的256256个计数器为个计数器为0 0255255。当触发当触发条件满足时,计数器开始计数。当前值等于设定值时,条件满足时,计数器开始计数。当前值等于设定值时,状态寄存器动作,其常开触点和常闭触点供编程使用。状态寄存器动作,其常开触点和常闭触点供编程使用。 CPUCPU提供三种类型的计数器,即加计数器、减计数器提供三种类型的计数器,即加计数器、减计数器和加减计数器。加计数器是当前值从和加减计数器。加计数器是当前

14、值从0 0开始累加到设定开始累加到设定值后,计数器动作;减计数器是当前值从设定值开始值后,计数器动作;减计数器是当前值从设定值开始累减到累减到0 0后,计数器动作。计数器的当前值为后,计数器动作。计数器的当前值为1616位有符位有符号整数,用来存放累计的脉冲数(号整数,用来存放累计的脉冲数(1 132 76732 767)。)。 v顺序控制继电器顺序控制继电器顺序控制继电器顺序控制继电器S S又称状态器。又称状态器。S7-200S7-200提供的提供的256256个顺序控制继电器个顺序控制继电器S S为为S0.0S0.0S31.7S31.7。顺序控制继电器的作用是表示某种工艺操作或等效程顺序控

15、制继电器的作用是表示某种工艺操作或等效程序步,与步进控制指令配合实现顺序控制和步进控制。序步,与步进控制指令配合实现顺序控制和步进控制。顺序控制继电器与外部无任何联系,其线圈只能使用程顺序控制继电器与外部无任何联系,其线圈只能使用程序指令驱动,其常开触点和常闭触点供编程使用。序指令驱动,其常开触点和常闭触点供编程使用。顺序控制继电器指令(顺序控制继电器指令(SCRSCR)基于顺序功能图()基于顺序功能图(SFCSFC)的编程方式。的编程方式。SCRSCR指令将控制程序的逻辑分段,从而实现指令将控制程序的逻辑分段,从而实现顺序控制。顺序控制。 v高速计数器高速计数器HCHCS7-200S7-20

16、0提供的提供的6 6个高速计数器个高速计数器HCHC为为HC0HC0HC5HC5。高速计数器的工作原理与普通计数器基本相高速计数器的工作原理与普通计数器基本相同,用来累计比同,用来累计比CPUCPU的扫描速度更快的高速脉的扫描速度更快的高速脉冲,计数过程与扫描周期无关。冲,计数过程与扫描周期无关。其当前值和设定值为其当前值和设定值为3232位有符号整数,当前位有符号整数,当前值为只读数据。值为只读数据。 v累加器累加器S7-200S7-200提供的提供的4 4个个3232位累加器为位累加器为AC0AC0、AC1AC1、AC2AC2、AC3AC3。累加器是用来暂存数据的寄存器,可以用来存放运算数

17、累加器是用来暂存数据的寄存器,可以用来存放运算数据、中间数据和结果数据,也可以用来向子程序传递参据、中间数据和结果数据,也可以用来向子程序传递参数,或从子程序返回参数。数,或从子程序返回参数。使用时可以像存储器那样使用读使用时可以像存储器那样使用读/ /写单元,写单元,CPUCPU提供可以提供可以按字节、字和双字来存取累加器中的数据。按字节、字和双字来存取累加器中的数据。按字节、字只能存取累加器的低按字节、字只能存取累加器的低8 8位或低位或低1616位,按双字位,按双字节能存取全部的节能存取全部的3232位,存取的数据长度由指令决定。位,存取的数据长度由指令决定。v变量存储器变量存储器V V

18、 变量存储器用来存储变量,它可以存放程序执行过程变量存储器用来存储变量,它可以存放程序执行过程中逻辑操作的中间结果,或用来保存与工序或任务有中逻辑操作的中间结果,或用来保存与工序或任务有关的其他数据关的其他数据 。 v局部变量存储器局部变量存储器 S7-200S7-200有有6464个字节的局部变量存储器,其中个字节的局部变量存储器,其中6060个可个可以作为暂时存储器,如果用梯形图编程,编程软件保以作为暂时存储器,如果用梯形图编程,编程软件保留这些局部存储器的后留这些局部存储器的后4B4B。v模拟量输入映像寄存器模拟量输入映像寄存器AIAI 用用A/DA/D转换器将现场连续变化的模拟量转换为

19、转换器将现场连续变化的模拟量转换为1 1个字长个字长(1616位)的数字量,用区域标识符位)的数字量,用区域标识符AIAI、数据长度、数据长度W W和起和起始字节的地址来表示模拟量输入的地址。模拟量输入始字节的地址来表示模拟量输入的地址。模拟量输入是一个字长,应从偶数字节地址开始存放。是一个字长,应从偶数字节地址开始存放。 v模拟量输入映像寄存器模拟量输入映像寄存器A A将将1 1个字长的数字用个字长的数字用D/AD/A转换器转换为现场的模拟量,转换器转换为现场的模拟量,用区域标识符用区域标识符AQAQ、数据长度、数据长度W W和起始字节的地址来表示和起始字节的地址来表示模拟量输的地址。模拟量

20、输出是一个字长,应从偶数模拟量输的地址。模拟量输出是一个字长,应从偶数字节地址开始存放,如字节地址开始存放,如AQW2AQW2、AQW4AQW4等,用户不能读取等,用户不能读取模拟量输出值。模拟量输出值。 3.2.3 寻址方式寻址方式 S7-200S7-200中,存储单元按字节进行编址,通过地址访中,存储单元按字节进行编址,通过地址访问数据,地址是访问数据的依据,访问数据的过程称问数据,地址是访问数据的依据,访问数据的过程称为为“寻址寻址”。无论所寻址的是何种数据类型,通常应指出它所在存无论所寻址的是何种数据类型,通常应指出它所在存储区域内的字节地址。几乎所有的指令和功能都与各储区域内的字节地

21、址。几乎所有的指令和功能都与各种形式的寻址有关。种形式的寻址有关。 v直接寻址方式直接寻址方式 直接直接指出元件名称指出元件名称的寻址方式称为直接寻址。的寻址方式称为直接寻址。直接寻址指定了存储器的区域、长度和位置直接寻址指定了存储器的区域、长度和位置例如例如VW790VW790是是V V存储器中的字,其地址为存储器中的字,其地址为790790。可以用字节(可以用字节(B B)、字()、字(W W)或双字()或双字(DWDW)方式存取)方式存取V V、I I、Q Q、M M、S S和和SMSM存储器区。例如存储器区。例如VB100VB100表示以字节方式存取,表示以字节方式存取,VW100VW

22、100表示存取表示存取VB100VB100、VB101VB101组成的字,组成的字,VD100VD100表示存取表示存取VB100VB100VB103VB103组成的双字。组成的双字。按位寻址时的格式为:按位寻址时的格式为:Ax.yAx.y,使用时必须指定元件名称,使用时必须指定元件名称(A A)、字节地址()、字节地址(x x)和位号()和位号(y y),如),如I2.3I2.3,表示输入,表示输入继电器继电器I I第第3 3个字节的个字节的4 4位号。位号。直接寻址时对字节、字或双字数据,需要指明元件名称、直接寻址时对字节、字或双字数据,需要指明元件名称、数据类型和存储区域内的首字节地址。

23、数据类型和存储区域内的首字节地址。v间接寻址方式间接寻址方式 操作数据存放在存储器或寄存器中,在指令中给出需要操作数据存放在存储器或寄存器中,在指令中给出需要数据所在存储单元的数据所在存储单元的内存地址的地址内存地址的地址称为间接寻址方式。称为间接寻址方式。存储单元的地址的地址称为地址指针。存储单元的地址的地址称为地址指针。S7-200 CPUS7-200 CPU允许允许使用指针对下述存储区域进行间接寻址:使用指针对下述存储区域进行间接寻址:I I、Q Q、V V、M M、S S、AIAI、AQAQ、T T(仅当前值)和(仅当前值)和C C(仅当前值)。(仅当前值)。间接寻址不能用于位(间接寻

24、址不能用于位(bitbit)地址、模拟量值和)地址、模拟量值和HCHC或或L L存存储区。储区。S7-200 PLCS7-200 PLC的存储器的存储区内软元件有:输入继电器的存储器的存储区内软元件有:输入继电器(I I)、输出继电器()、输出继电器(Q Q)、定时器()、定时器(T T)、计数器()、计数器(C C)、)、高速计数器(高速计数器(HCHC)、变量存储器()、变量存储器(V V)、辅助继电器()、辅助继电器(M M)、)、累加器(累加器(ACAC)、特殊存储器()、特殊存储器(SMSM)、局部存储器()、局部存储器(L L)、)、顺序控制继电器(顺序控制继电器(S S)、模拟量

25、输入映像寄存器()、模拟量输入映像寄存器(AIAI)、)、模拟量输出映像寄存器(模拟量输出映像寄存器(AQAQ)。)。S7-200 PLCS7-200 PLC的寻址方式有直接寻址和间接寻址两种。的寻址方式有直接寻址和间接寻址两种。编程语言主要有:梯形图(编程语言主要有:梯形图(LADLAD)、语句表()、语句表(STLSTL)、功)、功能块图(能块图(FBDFBD)和顺序功能图()和顺序功能图(SFCSFC)四种。)四种。S7-200 PLCS7-200 PLC的控制程序由主程序、子程序和中断程序组的控制程序由主程序、子程序和中断程序组成。成。 3.3 位逻辑指令 触点指令触点指令 堆栈指令堆

26、栈指令 输出指令输出指令 其他指令其他指令 基本逻辑指令基本逻辑指令 1.1.触点指令触点指令 在在LADLAD(梯形图)程序中,用类似继电器控制电(梯形图)程序中,用类似继电器控制电路中的触点符号及线圈符号来表示路中的触点符号及线圈符号来表示PLCPLC的位元件,被的位元件,被扫描的操作数则标注在触点符号的上方。扫描的操作数则标注在触点符号的上方。 常开触点常开触点 常闭触点常闭触点 线圈线圈位地址位地址位地址位地址( )位地址位地址1.1.触点指令触点指令常开触点:若操作数是常开触点:若操作数是“1 1”则常开触点则常开触点“动作动作”,即,即“闭闭合合”;若操作数是;若操作数是“0 0”

27、,则常开触点,则常开触点“复位复位”,即触点打开。,即触点打开。常闭触点:若操作数是常闭触点:若操作数是“1 1”则常闭触点则常闭触点“动作动作”,即,即“断断开开”;若操作数是;若操作数是“0 0”,则常闭触点,则常闭触点“复位复位”,即触点,即触点闭合闭合。触点只能出现在梯形图逻辑串的最左边。触点所使用的操触点只能出现在梯形图逻辑串的最左边。触点所使用的操作数是:作数是:I I、Q Q、M M、L L、D D、T T、C C。基本逻辑指令处理的对象为基本逻辑指令处理的对象为二进制位信号二进制位信号。位逻辑指令。位逻辑指令扫描信号状态扫描信号状态“1”1”和和“0”0”位,并根据布尔逻辑对它

28、们进位,并根据布尔逻辑对它们进行组合,所产生的结果(行组合,所产生的结果(“1”1”或或“0”0”)称为逻辑运算结)称为逻辑运算结果。果。输出线圈与继电器控制电路中的线圈一样,信号输出线圈与继电器控制电路中的线圈一样,信号流过线圈,则被驱动的操作数置流过线圈,则被驱动的操作数置“1”1”;没有流过线;没有流过线圈则被驱动的操作数复位(置圈则被驱动的操作数复位(置“0”0”)。)。输出线圈只能出现在梯形图逻辑串的最右边。输出线圈只能出现在梯形图逻辑串的最右边。输出线圈使用的操作数可以是:输出线圈使用的操作数可以是:Q Q、M M、L L、D D。 1.1.触点指令触点指令1.1.触点指令触点指令

29、语句说明LD:梯形图开始的常开触点梯形图开始的常开触点LDN:梯形图开始的常闭触点梯形图开始的常闭触点A:”与与”,串联常开触点串联常开触点AN:”与非与非”,串联常闭触点串联常闭触点O:”或或”,并联常开触点,并联常开触点ON:”或非或非”,并联常闭触点并联常闭触点指令表指令表 梯形图梯形图I0.1I0.2I0.3( )Q0.3I0.4I2.2( )Q0.4( )Q2.2LD I 0.1AN I 0.2O I 0.3A I 0.4= Q 0.3= Q 0.4AN I 2.2= Q 2.21.1.触点指令触点指令2.2.输出指令输出指令( (应放在梯形图的最右边应放在梯形图的最右边) ) 输出

30、指令输出指令 输出指令(输出指令(=)又称为赋值指令,与)又称为赋值指令,与线圈相对应,驱动线圈的触点电路接通时,有线圈相对应,驱动线圈的触点电路接通时,有“能流能流”流过线圈,输出指令指定位对应的映像流过线圈,输出指令指定位对应的映像寄存器为寄存器为1,反之则为,反之则为0。立即输出指令立即输出指令 立即输出指令(立即输出指令(=I)只能用于输)只能用于输出量(出量(Q),执行该指令时,将栈顶值立即写入),执行该指令时,将栈顶值立即写入指定的物理输出位和对应的输出过程映像寄存器。指定的物理输出位和对应的输出过程映像寄存器。线圈符号中的线圈符号中的“I”表示立即输出。表示立即输出。2.2.输出

31、指令输出指令置位和复位指令置位和复位指令 执行执行S(Set,置位或置,置位或置1)或)或R(Reset,复位或置,复位或置0)指令时,从指定的位地址开)指令时,从指定的位地址开始的始的N个位地址都被置位(变为个位地址都被置位(变为1)或复位(变为)或复位(变为0),),N=1255。立即置位立即置位SI和立即复位和立即复位RI指令指令 执行执行SI或或RI指令时,指令时,从指定的位地址开始的从指定的位地址开始的N个连续的物理输出点将被个连续的物理输出点将被立即置位或复位,立即置位或复位,N=1128,线圈中的,线圈中的I表示立即。表示立即。 LD I 0.1S Q 0.3,1LD I 0.2

32、R Q 0.3,1LD I 0.3SI Q 0.5,1LD I 0.4RI Q 0.5,1 置位与复位指令置位与复位指令I0.1(S)Q0.31I0.2(R)Q0.31I0.3(SI)Q0.51I0.4(RI)Q0.51RS触发器指令触发器指令 RS触发器指令的基本功能与触发器指令的基本功能与置位指令置位指令S和复位指令和复位指令R的功能相同。的功能相同。 置位优先置位优先(SR)触发器的置位信号)触发器的置位信号SI和复位和复位信号信号R同时为同时为1时,输出时,输出OUT信号为信号为1。复位优先复位优先(RS)触发器的置位信号)触发器的置位信号S和复位信和复位信号号RI同时为同时为1时,输

33、出时,输出OUT信号为信号为0。2.2.输出指令输出指令 复位优先触发器复位优先触发器Q0.2I0.2 SRSI OUT RI0.4Q0.3I0.3 RSS OUT RII0.5 置位优先触发器置位优先触发器3.3.堆栈指令堆栈指令S7-200有一个有一个9位的堆栈,最上面一层为栈顶,它位的堆栈,最上面一层为栈顶,它用来存储逻辑运算的结果,下面用来存储逻辑运算的结果,下面8个层用来存储中间个层用来存储中间运算的结果。堆栈中的数据一般按运算的结果。堆栈中的数据一般按“先进后出先进后出”的原的原则存取则存取. 执行执行LD指令时,将指令指定的位地址中的二进制数据装载指令时,将指令指定的位地址中的二

34、进制数据装载入入栈顶栈顶。执行。执行A(与)指令时,将指令指定的位地址中的二进(与)指令时,将指令指定的位地址中的二进制数和栈顶中的二进制数相制数和栈顶中的二进制数相“与与”,结果存入,结果存入栈顶栈顶。执行。执行O(或)指令时,将指令指定的位地址中的二进制数和栈顶中(或)指令时,将指令指定的位地址中的二进制数和栈顶中的二进制数相的二进制数相“或或”,结果存入,结果存入栈顶栈顶。每次逻辑运算时只保。每次逻辑运算时只保留运算留运算结果结果,参与运算的两个二进制数则被丢弃。,参与运算的两个二进制数则被丢弃。执行常闭触点对应的执行常闭触点对应的LDN、AN和和ON指令时,取出指令指指令时,取出指令指

35、定的位地址中的二进制数据后,先将它取反(定的位地址中的二进制数据后,先将它取反(0变为变为1,1变为变为0),然后再作对应的装载、与、或操作。),然后再作对应的装载、与、或操作。3.3.堆栈指令堆栈指令栈装载与指令栈装载与指令 (ALD)表示两个或两个以上的)表示两个或两个以上的触点组的触点组的串联编程串联编程。执行。执行ALD指令,将堆栈中的第一级和第二级的指令,将堆栈中的第一级和第二级的值进行逻辑值进行逻辑“与与”操作,结果置于栈顶(堆栈第一级),并操作,结果置于栈顶(堆栈第一级),并将堆栈中的第三级至第九级的值依次上弹一级。将堆栈中的第三级至第九级的值依次上弹一级。 3.3.堆栈指令堆栈

36、指令( (ALDALD和和OLDOLD指令不需要地址码指令不需要地址码 ) )栈装载或指令栈装载或指令 (OLD)表示两个或两个以上的)表示两个或两个以上的触点组的触点组的并联编程并联编程。执行。执行OLD指令,将堆栈中的第一级和第二级的指令,将堆栈中的第一级和第二级的值进行逻辑值进行逻辑“或或”操作,结果置于栈顶,并将堆栈中的第操作,结果置于栈顶,并将堆栈中的第三级至第九级的值依次上弹一级三级至第九级的值依次上弹一级。 3.3.堆栈指令堆栈指令LDN I 0.1A I 0.2LD I 1.1AN I 1.2OLDLDN C24ON I 1.4ALDO Q 2.3= Q 5.3I0.1I0.2

37、Q2.3( )Q5.3C24I1.1I1.2I1.43.3.堆栈指令堆栈指令逻辑逻辑入栈入栈(LPS,Logic Push)指令复)指令复制栈顶的值并将这个制栈顶的值并将这个值推入栈顶,原栈顶值推入栈顶,原栈顶中各级数据依次向下中各级数据依次向下一级推移,栈底值被一级推移,栈底值被推出丢失。推出丢失。入栈前入栈前S0S1S2S3S4S5S6S7S8S0S0S1S2S3S4S5S6S7入栈后入栈后LPS(入栈)(入栈) LPS指令的操作过程(注:指令的操作过程(注:表示不确定)表示不确定)逻辑读栈(逻辑读栈(LRD,Logic Read)指令将)指令将堆栈中第堆栈中第2层的值复制层的值复制到栈顶

38、,第到栈顶,第29层的数层的数据不变,原栈顶值消失。据不变,原栈顶值消失。3.3.堆栈指令堆栈指令读栈前读栈前S0S1S2S3S4S5S6S7S0S0S1S2S3S4S5S6S7读栈后读栈后LRD(读栈)(读栈) LRD指令的操作过程(注:指令的操作过程(注:表示不确定)表示不确定)逻辑出栈(逻辑出栈(LPP,Logic Pop)指令使)指令使栈内各层的数据向上栈内各层的数据向上移动一层,第移动一层,第2层的层的数据成为堆栈新的栈数据成为堆栈新的栈顶值,栈顶原来的数顶值,栈顶原来的数据从栈内消失。据从栈内消失。3.3.堆栈指令堆栈指令出栈前出栈前S0S1S2S3S4S5S6S7S0S1S2S3

39、S4S5S6S7出栈后出栈后LPP(出栈)(出栈) LPP指令的操作过程(注:指令的操作过程(注:表示不确定)表示不确定)3.3.堆栈指令堆栈指令合理使用合理使用LPS、LRD和和LPP指令可使程序简化,指令可使程序简化,但是注意但是注意LPS和和LPP必须必须成对成对使用。用编程软件使用。用编程软件将梯形图转换为语句表程序时,编程软件会将梯形图转换为语句表程序时,编程软件会自动自动地加入地加入LPS、LRD和和LPP指令。而写入语句表程指令。而写入语句表程序时,必须序时,必须由用户来写由用户来写入入LPS、LRD和和LPP指令。指令。3.3.堆栈指令堆栈指令装载堆栈(装载堆栈(LDS,Log

40、ic Stack)指令复)指令复制堆栈内第制堆栈内第n(n=18)层的值到栈顶。原栈顶层的值到栈顶。原栈顶中各级数据依次向下一中各级数据依次向下一级推移,栈底值被推出级推移,栈底值被推出丢失。丢失。执行前执行前S0S1S2S3S4S5S6S7S8S3S0S1S2S3S4S5S6S7执行后执行后LDS(装载堆栈)(装载堆栈) LDS 指令的操作过程指令的操作过程堆栈指令的应用堆栈指令的应用LD I 0.1A I 0.2LPSAN I 0.3= Q 2.1LRDA I 0.4= Q 2.2LPPAN I 0.5= Q 2.3I0.1I0.2I0.4( )Q2.1I0.3I0.5( )Q2.2( )

41、Q2.34.4.立即触点指令立即触点指令立即触点指令(立即触点指令(Immediate)只能用于)只能用于输入量输入量I,执行,执行立即触点指令时,立即读入物理输入点的值,根据该值立即触点指令时,立即读入物理输入点的值,根据该值决定触点的接通决定触点的接通/断开状态,但是并不更新该物理输入点断开状态,但是并不更新该物理输入点对应的输入过程映像寄存器。在语句表中,分别用对应的输入过程映像寄存器。在语句表中,分别用LDI、AI、OI来表示开始、串联和并联的常开立即触点,用来表示开始、串联和并联的常开立即触点,用LDNI、ANI、ONI来表示开始、串联和并联的常闭立即来表示开始、串联和并联的常闭立即

42、触点。触点符号中间的触点。触点符号中间的“I”和和“/I”用来表示立即常开触用来表示立即常开触点和立即常闭触点。点和立即常闭触点。LDNI I 0.1OI I 0.3AI I 0.2= Q 0.3LDI I 2.1OI I 2.3AI I 2.2= Q 3.3II0.1I0.2I0.3( )Q0.3IIII2.1I2.2I2.3( )Q3.3III立即触点和立即输出指令的应用立即触点和立即输出指令的应用5.5.其它指令其它指令取反(取反(NOT)指令将它左边电路的逻辑运算结果取反,)指令将它左边电路的逻辑运算结果取反,运算结果若为运算结果若为1则变为则变为0,为,为0则变为则变为1,该指令没有

43、操作,该指令没有操作数。能流到达该触点时即停止;若能流未到达该触点,该数。能流到达该触点时即停止;若能流未到达该触点,该触点给右侧提供能流。触点给右侧提供能流。空操作指令(空操作指令(NOP N) 空操作指令不影响程序的执行,空操作指令不影响程序的执行,操作数操作数N=0255。 正(正(EU,Edge Up,上升沿),上升沿)/(ED,Edge Down)负跳变指令负跳变指令 正跳变触点检测到一次正跳变(触点的输入正跳变触点检测到一次正跳变(触点的输入信号由信号由0变为变为1)时,或负跳变触点检测到一次负跳变)时,或负跳变触点检测到一次负跳变(触点的输入信号由(触点的输入信号由1变为变为0)

44、时,触点接通一个扫描周)时,触点接通一个扫描周期。它们没有操作数,触点符号中间的期。它们没有操作数,触点符号中间的“P”和和“N”分别分别表示正跳变(表示正跳变(Positive Transition)和负跳变)和负跳变(Negative Transition)。5.5.其它指令其它指令LD I 0.1EU = M 1.3LD I 0.1ED= M 3.3LD I 0.5NOT= M 0.3 取反与跳变指令的应用取反与跳变指令的应用I0.1( )M1.3PI0.1( )M3.3NI0.5( )M0.3NOTI0.1M1.3I0.5M0.3M3.31个扫描周期3.3.4 4 定时器和计数器指令定

45、时器和计数器指令 1.1.定时器指令定时器指令定时器有定时器有1ms、10 ms和和100 ms三种分辨率三种分辨率允许的最大值为允许的最大值为32767 定时器的设定时间等于分辨率与设定值(整数)的乘积定时器的设定时间等于分辨率与设定值(整数)的乘积 使用使用V4.0版的编程软件,输入定时器号后,在定时器方版的编程软件,输入定时器号后,在定时器方框的右下角内会出现定时器的分辨率框的右下角内会出现定时器的分辨率 1.1.定时器指令定时器指令接通延时定时器接通延时定时器(TON):使能输入():使能输入(IN)电路接通时)电路接通时开始定时,当前值线性增大。当前值大于等于预制时间开始定时,当前值

46、线性增大。当前值大于等于预制时间PT端指定的设定值(端指定的设定值(132767)时,定时器位变为)时,定时器位变为ON,其常,其常开触点闭合,常闭触点断开。达到设定值后,当前值仍开触点闭合,常闭触点断开。达到设定值后,当前值仍继继续计数续计数,直到最大值,直到最大值32 767。输入电路断开时,定时器自动复位,当前值被清零,定输入电路断开时,定时器自动复位,当前值被清零,定时器位变为时器位变为OFF。CPU第一次扫描时,定时器位被清零。第一次扫描时,定时器位被清零。分辨率分辨率: T32和和T96 ( 1ms )、)、 T33T36和和T97T100 (10ms )、)、 T37T63和和T

47、101T255 (100ms )T37T37为为100ms100ms定时器定时器T37I2.2IN TONPT 100msT3730( )Q2.0T37当前值当前值T37的位的位0I2.23s设定时间设定时间T=PTT=PTS SPT:PT:设定值,设定值,S S:分辨率:分辨率 T37T37设定时间设定时间100ms100ms30=3s30=3s LD I 2.2TON T37,+30 LD T37= Q2.01.1.定时器指令定时器指令断开延时定时器断开延时定时器(TOF)在)在IN输入断开后延时一段时间,输入断开后延时一段时间,使定时器位使定时器位OFF。输入从。输入从ON到到OFF的负

48、跳变启动定时。的负跳变启动定时。定时器定时器IN输入端的电路接通时,定时器位变为输入端的电路接通时,定时器位变为ON,当前,当前值被清零。值被清零。IN输入电路输入电路断开后开始定时断开后开始定时,当前值从,当前值从0开始增开始增大。当前值等于设定值时,输出位变为大。当前值等于设定值时,输出位变为OFF,当前值保持不,当前值保持不变,直到输入电路接通。变,直到输入电路接通。分辨率分辨率: T32和和T96 ( 1ms )、)、 T33T36和和T97T100 (10ms )、)、 T37T63和和T101T255 (100ms )T33I0.2IN TOFPT 10msT33200( )Q2.

49、2T33T33为为10ms10ms定时器定时器200I0.22sT33的位的位T33当前值当前值0设定时间为设定时间为10ms10ms200=2s200=2s LD I 0.2TOF T33,+200 LD T33= Q2.2保持型接通延时定时器(保持型接通延时定时器(TONR)输入接通时,开始定时。)输入接通时,开始定时。当前值大于等于当前值大于等于PT端指定的设定值时,定时器位变为端指定的设定值时,定时器位变为ON。达到设定值后,当前值仍继续计数,直到最大值达到设定值后,当前值仍继续计数,直到最大值32 767。输入电路断开时,当前值保持不变。可以用输入电路断开时,当前值保持不变。可以用T

50、ONR来累计来累计输入电路接通的若干个时间间隔。输入电路接通的若干个时间间隔。只能用复位指令(只能用复位指令(R)来复位)来复位TONR,使它的当前值变为,使它的当前值变为0,同时使定时器位变为同时使定时器位变为OFF。分辨率分辨率: T0和和T64( 1ms )、)、T1T4和和T65T68 (10ms )、)、 T5T31和和T69T95 (100ms )1.1.定时器指令定时器指令T2I2.1IN TONRPT 10msT21000( )Q0.0I0.3( )T2R1T2T2为为10ms10ms定时器定时器1000T2当前值当前值T2的位,的位,Q0.00I2.1t1t2I0.3设定时间

51、为设定时间为t1+t2=10mst1+t2=10ms1000=10s1000=10s LD I 2.1TONR T2,+1000 LD T2= Q0.0LD I0.3R T2,1加计数器指令(加计数器指令(CTU):当复位输入():当复位输入(R)断开,加计数)断开,加计数器(器(Count Up)脉冲()脉冲(CU)由断开变为接通(即)由断开变为接通(即CU信号信号的的上升沿上升沿),计数器的当前值加),计数器的当前值加1,直至计数最大值,直至计数最大值32 767。当前值大于等于设定值(当前值大于等于设定值(PV)时,计数器位被置)时,计数器位被置1。 2.2.计数器指令计数器指令复位输入

52、(复位输入(R)为)为ON或对计数器执行复位指令时,计数器或对计数器执行复位指令时,计数器被复位,计数器位变为被复位,计数器位变为OFF,当前值被清零。,当前值被清零。计数器的编号范围为计数器的编号范围为C0C255。不同类型的计数器不能共。不同类型的计数器不能共用同一计数器号。用同一计数器号。LD I 2.2LD I 2.3CTU C4,4C4CU CTURPVI2.24I2.3I2.2当前值当前值0I2.3计数器位计数器位123456加计数器加计数器减计数器输出指令(减计数器输出指令(CTD) 在在减计数(减计数(Count Down)脉冲输入)脉冲输入(CU)的)的上升沿上升沿(从(从O

53、FF到到ON),),从设定值开始,计数器的当前值从设定值开始,计数器的当前值减减1,减,减至至0时停止计数时停止计数,计数器位,计数器位被置被置1。装载输入(。装载输入(LD)为)为ON时,时,计数器位被复位,并把设定值装入计数器位被复位,并把设定值装入当前值。当前值。2.2.计数器指令计数器指令LD I 2.2LD I 2.3CTD C5,3C5CD CTDLDPVI2.23I2.3加减计数器(加减计数器(CTUD):在加计数脉冲():在加计数脉冲(CU)的上升沿),)的上升沿),计数器的当前值加计数器的当前值加1,在减计数脉冲(,在减计数脉冲(CU)的上升沿,计数)的上升沿,计数器的当前值

54、减器的当前值减1,当前值大于等于设定值(,当前值大于等于设定值(PV)时,计数器)时,计数器位被置位。位被置位。若复位输入(若复位输入(R)为)为ON,或对计数器执行复位(,或对计数器执行复位(R)指令)指令时,计数器被复位,当前值为最大值时,计数器被复位,当前值为最大值32 767时,下一个时,下一个CU输入的上升沿使当前值变为最小值输入的上升沿使当前值变为最小值32 767。当前值为。当前值为32 767时,下一个时,下一个CD输入的上升沿使当前值变为最大值输入的上升沿使当前值变为最大值32 767(循环计数循环计数)。2.2.计数器指令计数器指令S7-200S7-200常用的位逻辑指令有

55、触点指令、堆栈指令、常用的位逻辑指令有触点指令、堆栈指令、输出指令、其他指令等。输出指令、其他指令等。S7-200S7-200的定时器有接通延时型的定时器有接通延时型TONTON、断开延时型、断开延时型TOFTOF、接通延时保持型接通延时保持型TONRTONR。每种类型的定时器都有。每种类型的定时器都有3 3种时种时间精度,分别为间精度,分别为1ms1ms、10ms10ms和和100ms100ms。S7-200S7-200提供三种类型的计数器,即加计数器提供三种类型的计数器,即加计数器CTU CTU 、减计数器减计数器CTDCTD和加减计数器和加减计数器CTUDCTUD。补充内容在电气控制系统

56、中,电动机有许多控制环节,其中电动在电气控制系统中,电动机有许多控制环节,其中电动机机起保停起保停控制是最基本的控制环节,用控制是最基本的控制环节,用PLC完成控制功完成控制功能时,输入的常开、常闭信号如何接入能时,输入的常开、常闭信号如何接入PLC,PLC的输的输出信号怎么样去控制现场负载,控制程序任何编制,掌出信号怎么样去控制现场负载,控制程序任何编制,掌握了这些原则后,去完成电动机的其它控制程序,可以握了这些原则后,去完成电动机的其它控制程序,可以做到举一反三。做到举一反三。任务要求任务要求 电动机起保停控制电动机起保停控制要求电动机起保停控制系统设置起动按钮和停止按钮,要求电动机起保停

57、控制系统设置起动按钮和停止按钮,输出由接触器控制,热继电器进行过载保护。输出由接触器控制,热继电器进行过载保护。任务实施任务实施 电动机起保停控制电动机起保停控制电气原理图电气原理图I/O接线图接线图 梯形图梯形图 时序图时序图 创建项目创建项目打开打开STEP 7-Micro Win编程软件,编程软件,(双击图标双击图标 )执执行菜单命令行菜单命令“文件文件”“新建新建”或点击工具条最左边的【新建项目】图标,创建一个新或点击工具条最左边的【新建项目】图标,创建一个新的项目的项目 设置与读取设置与读取PLC的型号的型号 在编程之前,应该正确地设置在编程之前,应该正确地设置PLC型号,以防止创建

58、程型号,以防止创建程序时发生错误。序时发生错误。执行菜单命令执行菜单命令“PLC”“类型类型”,在出现的菜单命令中,在出现的菜单命令中设置设置PLC的型号。的型号。或者设置通信参数,建立起计算机与或者设置通信参数,建立起计算机与PLC的通信连接,的通信连接,单击对话框中的单击对话框中的【读取读取PLC】按钮,可以通过通信读出】按钮,可以通过通信读出PLC的型号与硬件版本。的型号与硬件版本。 选择编程语言和指令集选择编程语言和指令集 执行菜单命令执行菜单命令“工具工具”“选项选项”,在,在“一般一般”对话框对话框的的“一般一般”选项卡中,选择选项卡中,选择SIMATIC指令集和指令集和“国际国际

59、”助记符集,分别为英语和德语的指令助记符,将梯形图助记符集,分别为英语和德语的指令助记符,将梯形图编辑器设置为默认的程序编辑器。编辑器设置为默认的程序编辑器。确定程序结构确定程序结构 简单的数字量控简单的数字量控制程序一般只有主制程序一般只有主程序程序OB1,复杂程,复杂程序可能还有子程序、序可能还有子程序、中断程序和数据块。中断程序和数据块。 编写符号表编写符号表 为了便于记忆,在符号表中用符号地址代替存储器的地为了便于记忆,在符号表中用符号地址代替存储器的地址址 编写控制程序编写控制程序 简单的数字量控制程序一般只有主程序简单的数字量控制程序一般只有主程序OB1,复杂程,复杂程序可能还有子

60、程序、中断程序和数据块。序可能还有子程序、中断程序和数据块。 编译程序编译程序 点击工具条中的点击工具条中的“编译编译”或或“全部编译全部编译”按钮,编译输按钮,编译输入的程序,如果程序没有错误,将显示入的程序,如果程序没有错误,将显示“0”错误。如果程错误。如果程序有错误,编译后在屏幕下部的输出窗口显示与错误有关序有错误,编译后在屏幕下部的输出窗口显示与错误有关的信息。在下载用户程序之前,编程软件将首先自动执行的信息。在下载用户程序之前,编程软件将首先自动执行编译操作。编译操作。打开指令树中的打开指令树中的“符号表符号表”文件夹内名为文件夹内名为“用户用户1”的符的符号表,分别为网络号表,分

温馨提示

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

评论

0/150

提交评论