《LC的指令系统》PPT课件.ppt

上传人:pu****.1 文档编号:574594777 上传时间:2024-08-16 格式:PPT 页数:281 大小:7.05MB
返回 下载 相关 举报
《LC的指令系统》PPT课件.ppt_第1页
第1页 / 共281页
《LC的指令系统》PPT课件.ppt_第2页
第2页 / 共281页
《LC的指令系统》PPT课件.ppt_第3页
第3页 / 共281页
《LC的指令系统》PPT课件.ppt_第4页
第4页 / 共281页
《LC的指令系统》PPT课件.ppt_第5页
第5页 / 共281页
点击查看更多>>
资源描述

《《LC的指令系统》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《LC的指令系统》PPT课件.ppt(281页珍藏版)》请在金锄头文库上搜索。

1、江苏大学电气信息工程学院江苏大学电气信息工程学院第五章 S7-200 PLC的指令系统2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院主要内容S7-200PLC编程的基本概念S7-200PLC基本指令及编程方法S7-200PLC功能指令功能指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院第一节第一节 S7-200 PLCS7-200 PLC编程的基本概念编程的基本概念S7-200 PLCS7-200 PLC的编程语言的编程语言 数据类型数据类型 用户程序存储器区域用户程序存储器区域 S7-200CPUS7-200CPU的寻址方式的寻址方式 程序的组织结构程序的组织结

2、构 编程的一般规约编程的一般规约 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院一、一、S7-200 PLCS7-200 PLC的编程语言的编程语言S7-200 PLCS7-200 PLC有两种指令集:有两种指令集:IEC 61131-3指令集 SIMATIC指令集2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院IEC61131-3IEC61131-3指令集指令集是是国国际际电电工工委委员员会会(IECIEC)制制定定的的PLCPLC国国 际际 标标 准准 61131-3 61131-3 Programming Programming Language Languag

3、e ( (编编程程语语言言) )中中推推荐荐的的标标准准语语言。言。支持系统完全数据类型检查只能用梯形图(LAD)和功能块图(FBD)编程语言编程指令执行时间较长2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院SIMATICSIMATIC指令集指令集特点:大多数指令符合IEC61131-3标准不支持系统完全数据类型检查可以用梯形图(梯形图(LADLAD)、功能块图)、功能块图(FBDFBD)和语句表()和语句表(STLSTL)编程语言编程指令执行时间较短由西门子公司设计2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1. 梯形图(梯形图(LAD)梯形图(LAD)与电气控

4、制电路图相呼应。 沿用了继电器、触点、串并联等术语 简化了图形符号 增加了特殊功能的指令 信号流向清楚、简单、直观、易懂2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2. 功能块图(功能块图(FBD) 沿用了半导体逻辑电路的逻辑框图的表达方式沿用了半导体逻辑电路的逻辑框图的表达方式2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院 语句表(语句表(STLSTL)是)是用助记符来编程。它用助记符来编程。它类似于计算机的汇编类似于计算机的汇编语言。语言。l编程简单l直观、易懂3. 语句表(语句表(STL)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院有条件地相

5、互转换有条件地相互转换语句表可以编写梯形图和功能块图无法编写的程序2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院二、数据类型二、数据类型基本数据类型及数据类型检查基本数据类型及数据类型检查 数据长度与数据范围数据长度与数据范围 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1 1基本数据类型基本数据类型基本数据类型内容数据范围BOOL(1bit)布尔型0to1BYTE(8bit)无符号型0to255WORD(16bit)无符号整数0to65,535INT(16bit)有符号整数-32768to+32767DWORD(32bit) 无符号双整数0to232-1DINT

6、(32bit)有符号双整数-231to+231-1REAL(32bit)IEEE32浮点数-1038to+10382010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2 2数据类型检查数据类型检查数据类型检查分为三级:数据类型检查分为三级:完全数据类型检查简单数据类型检查无数据类型检查2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院3. 数据长度与数据范围数据长度无符号数有符号数十进制十六进制十进制十六进制B(字节字节):8bit值0to2550toFF-128to12780to7FW(字字):16bit值0to65,5350toFFFF-32,768to32,767800

7、0to7FFFD(双字双字):32bit值0to4,294,967,2950toFFFFFFFF-2,147,483,648to2,147,483,64780000000to7FFFFFFF实数实数:32bit值2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院三、用户程序存储器区域三、用户程序存储器区域数据区数据区用户程序区用户程序区系统区系统区(存放有关(存放有关PLCPLC配置结构的参数)配置结构的参数)EEPROMEEPROMEEPROM和RAM2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院数据区特定区域数据区是用户程序执行过程中的内部工作区域,是S7-200C

8、PU提供的存储器的特定区域。数据区使CPU的运行更快、更有效 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(一一)数据区存储器地址的表示格式数据区存储器地址的表示格式可分为可分为:位地址位地址字节地址字节地址字地址字地址双字地址双字地址2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1 1位地址格式位地址格式位号字节地址区区域域标标识识符符MSBLSBI076543210I1I2I3I4I5I3.42010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2 2字节、字、双字地址格式字节、字、双字地址格式起起始始字字节节地地址址数数据据长长度度区区域域标标识识符符

9、VD100VB100VW100VB1002010.3江苏大学电气信息工程学院江苏大学电气信息工程学院3.3.其他地址格式其他地址格式元元件件号号区区域域标标识识符符T24l定时器:T24l计数器: C45l累加器:AC32010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(二二) 数据区存储器区域数据区存储器区域输入输入/输出映象寄存器输出映象寄存器(I/Q)内部标志位存储器(内部标志位存储器(M)变量存储器(变量存储器(V)局部存储器(局部存储器(L)顺序控制继电器存储器顺序控制继电器存储器(S)特殊标志位存储器(特殊标志位存储器(SM)定时器存储器(定时器存储器(T)2010.3江

10、苏大学电气信息工程学院江苏大学电气信息工程学院数据区存储器区域(续)数据区存储器区域(续)计数器存储器(计数器存储器(C)模拟量输入映象寄存器(模拟量输入映象寄存器(AI)模拟量输出映象寄存器(模拟量输出映象寄存器(AQ)累加器(累加器(AC)高速计数器(高速计数器(HC) 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1输入输入/输出映象寄存器(输出映象寄存器(I/Q)输入映象寄存器(输入映象寄存器(I) 输出映象寄存器(输出映象寄存器(Q)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院输入映象寄存器(I)CPUCPU在在每每次次扫扫描描周周期期开开始始(或或结结

11、束束)时时,对对各各输输入入端端子子的的状状态态进进行行采采样样,并并将将采采样样值值存存于于输输入入映映象象寄寄存存器器对对应应的的位位中中,作作为为程程序序处处理理时输入点状态的依据。时输入点状态的依据。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院输入映象寄存器(输入映象寄存器(I I)的地址格式)的地址格式位地址位地址 I 字节地址字节地址 . 位地址位地址 例例I0.1字节、字、双字地址字节、字、双字地址 I 长度长度 起始字节地址起始字节地址 例例IB4CPU226模块输入映像寄存器的有效地址范围为:模块输入映像寄存器的有效地址范围为:I(0.015.7););IB(

12、015););IW(014););ID(012)。)。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院输出映象寄存器(输出映象寄存器(Q Q)u CPU将将输输出出的的结结果果存存放放在在输输出出映映象象寄寄存存器器中中,在在扫扫描描周周期期的的结结尾尾,CPU以以批批处处理理方方式式将将输输出出映映象象寄寄存存器器的的数数值值复复制制到到相相应应的的输输出出端端子子上上。输输出出模块将输出信号传送给外部负载。模块将输出信号传送给外部负载。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院输出映象寄存器(输出映象寄存器(Q Q)地址格式)地址格式位地址位地址Q字节地址.位

13、地址,例Q1.1字节、字、双字地址字节、字、双字地址Q长度起始字节地址,例QB5CPU226模块Q的有效地址范围为:Q(0.0115.7);QB(015);QW(014);QD(012)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院I/O设备 I/O端子2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院I I端子端子 I I映象区映象区输入采样阶段采集输入采样阶段采集存放在输入映象区中存放在输入映象区中执行期间冻结采样值执行期间冻结采样值2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院O映象区 O端子输出刷新阶段集中输出:O映象区输出锁存器O端子外部负载20

14、10.3江苏大学电气信息工程学院江苏大学电气信息工程学院I/O映象区 I/OI/O映象区每个位都映象映象区每个位都映象I/O单元的每个端子状态单元的每个端子状态 I/O映象区实际上就是外部映象区实际上就是外部I/O设备状态的映象区设备状态的映象区 PLC通过通过I/O映象区的各个位与外部物理设备建立映象区的各个位与外部物理设备建立联系联系2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院I/OI/O映象区映象区 I/OI/O继电器继电器执行程序过程执行程序过程:I/OI/O数据数据I/OI/O映象映象区区运算运算结果结果O O寄存器寄存器执行速度快,抗干扰能力强2010.3江苏大学电

15、气信息工程学院江苏大学电气信息工程学院2内部标志位存储器内部标志位存储器(M)l内部标志位存储器(M)l也称内部线圈,存放中间操作状态l没有外部的输入/输出端子与之对应,因此不能收外部信号的直接控制,其触点也不能直接驱动外部负载。lCPU226模块M的有效地址范围为:lM(0.031.7);MB(031);MW(030);MD(028)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院内部标志位存储器(内部标志位存储器(M M)的地址格式)的地址格式位地址:位地址:M字节地址字节地址 . 位地址位地址 例例M20.7字节、字、双字地址:字节、字、双字地址: M长度长度起始字节地址起始

16、字节地址 例例MD202010.3江苏大学电气信息工程学院江苏大学电气信息工程学院3变量存储器(变量存储器(V)存放程序执行过程中的中间结果存放程序执行过程中的中间结果存放其他相关的数据存放其他相关的数据全局有效全局有效全局是指同一个存储器可以被任何程序全局是指同一个存储器可以被任何程序存取(存取(主程序、子程序或中断程序主程序、子程序或中断程序)。)。 CPU226模块V的有效地址范围为:V(0.05119.7);VB(05119);VW(05118);VD(05116) 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院V V存储器的地址格式存储器的地址格式位地址:位地址: V字

17、节地址字节地址 . 位地址位地址 例例V10.2字节、字、双字地址:字节、字、双字地址: V长度长度起始字节地址起始字节地址 例例VW1002010.3江苏大学电气信息工程学院江苏大学电气信息工程学院4局部存储器(局部存储器(L)作暂时存储器作暂时存储器存放局部变量存放局部变量为子程序传递参数为子程序传递参数 作为间接寻址的指针作为间接寻址的指针不能作为间接寻址的存储器区不能作为间接寻址的存储器区局部存储器是局部有效局部存储器是局部有效局部有效是指某一局部存储器和特定的程序相关联局部有效是指某一局部存储器和特定的程序相关联2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院局部存储器(

18、局部存储器(L L)的地址格式)的地址格式位地址:位地址: L 字节地址字节地址、位地址位地址 例例 L33.0字节、字、双字:字节、字、双字: L 长度长度 起始字节地址起始字节地址,例,例LB33有效地址范围为:有效地址范围为:L(0.063.7););LB(063););LW(062););LD(060)。)。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院5 5顺序控制继电器存储器(顺序控制继电器存储器(S S)顺序控制继电器存储器(S)用于顺序控制顺序控制继电器指令是基于顺序功能图(SFC)编程的。有效地址范围为:S(0.031.7);SB(031);SW(030);SD

19、(028)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院顺序控制继电器存储器顺序控制继电器存储器(S)(S)的地址格式的地址格式位地址:位地址: S字节地址字节地址 . 位地址位地址 例例S4.1字节、字、双字地址:字节、字、双字地址: S长度长度起始字节地址起始字节地址 例例SB42010.3江苏大学电气信息工程学院江苏大学电气信息工程学院6 6特殊标志位存储器(特殊标志位存储器(SMSM)特殊内部线圈(特殊内部线圈(Special MemorySpecial Memory)用户程序与系统程序之间的界面用户程序与系统程序之间的界面提供特殊的控制功能及系统信息提供特殊的控制功能及

20、系统信息用户通知系统特殊要求用户通知系统特殊要求2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院只读区域可读写区域只读区只读区 只能用其触点只能用其触点*SM0.0 PLC在在RUN状态时,状态时,SM0.0总为总为1*SM0.1 初始脉冲,初始脉冲,PLC由由STOPRUN时时* SM0.1 ON一个扫描周期一个扫描周期*SMB30 用于自由通信口设置用于自由通信口设置*SMB34/SMB35 用于定时中断间隔时间设置的用于定时中断间隔时间设置的*可读写区 用于特殊控制功能用于特殊控制功能 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院特殊标志位存储器(特殊标志位存

21、储器(SMSM)的地址表示格式)的地址表示格式位地址:位地址: SM 字节地址字节地址 . 位地址位地址 例例SM86.7字节、字、双字地址:字节、字、双字地址: SM 长度长度 起始字节地址起始字节地址 例例SMB862010.3江苏大学电气信息工程学院江苏大学电气信息工程学院7定时器存储器(定时器存储器(T)模拟物理时间继电器模拟物理时间继电器时基有三种:时基有三种:1ms1ms 10ms 10ms 100ms 100ms地址表示格式:T T 定时器号定时器号 例:T242010.3江苏大学电气信息工程学院江苏大学电气信息工程学院是累计时间增量的内部器件,它没有瞬是累计时间增量的内部器件,

22、它没有瞬动触点,使用时要提前输入时间预设值,动触点,使用时要提前输入时间预设值,当定时器的输入条件满足时开始计时,当定时器的输入条件满足时开始计时,当前值从当前值从0开始按照一定的时间单位增开始按照一定的时间单位增加;当定时器的当前值达到预设值时,加;当定时器的当前值达到预设值时,定时器触点动作。定时器触点动作。利用其触点就可以完成所需要的定时控制任务。定时器存储器(定时器存储器(T)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院8. 计数器存储器(计数器存储器(C)累累计计其其输输入入端端脉脉冲冲电电平平由由低低到到高高的的次数次数地址表示格式: C C 计数器号计数器号 例:

23、C32010.3江苏大学电气信息工程学院江苏大学电气信息工程学院9 9模拟量输入映象寄存器(模拟量输入映象寄存器(AIAI)n模模拟拟量量输输入入模模块块将将外外界界输输入入的的模模拟拟量量信信号号的的模模拟拟值值转转换换成成1 1个个字字长长(16bit16bit)的的数数字字量量,转转换换后后存存放放在在模模拟拟量量输输入入存存储器(储器(AIAI)中,供)中,供CPUCPU运算处理。运算处理。n 地址格式:地址格式:lAIWAIW起始字节地址起始字节地址 例:AIW8l对AI只能进行读取操作。必须用偶数字节地址 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1010模拟量输

24、出映象寄存器(模拟量输出映象寄存器(AQAQ)存放存放CPUCPU运算的运算的相关结果相关结果,供,供D/AD/A转转换器将换器将1 1个字长的数字值转换为模拟个字长的数字值转换为模拟量。量。以驱动外部模拟量控制的设备。以驱动外部模拟量控制的设备。地址格式地址格式lAQWAQW起始字节地址起始字节地址 例:AQW10 注意:AI/ AI/ AQAQ的的地地址址必必须须用用偶偶数数字字节节地地址址表表示示对AQ只能进行写入操作。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1111累加器(累加器(ACAC)用来存储计算的中间值,也用来存储计算的中间值,也可用来向子程序传递参数,可用

25、来向子程序传递参数,或从子程序返回参数或从子程序返回参数 地址格式:地址格式:ACAC累加器号累加器号 例:AC0提供提供4个个32位累加器,位累加器,(AC0AC0、AC1AC1、AC2AC2、AC3AC3) 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院根据使用场合不同,可以作为字节、字和双字使用根据使用场合不同,可以作为字节、字和双字使用11累加器(累加器(AC)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1212高速计数器(高速计数器(HCHC)用用来来累累计计比比CPUCPU扫扫描描速速率率更更快快的的脉脉冲冲信信号。号。高速计数器地址格式:高速计数器地

26、址格式:HC高速计数器号高速计数器号 例:例:HC12010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院*2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院CPU226CPU226存储器的范围存储器的范围V0.0-5119.7AC0-3I0.0-15.7AIW0-62Q0.0-15.7AQW0-62M0.0-31.7HC0-5SM0.0-549.7常数常数S0.0-31.7T0-255C0-255L0.0-63.7AIW62AIB62-AIB632010.3

27、江苏大学电气信息工程学院江苏大学电气信息工程学院四、四、S7-200CPUS7-200CPU的寻址方式的寻址方式立即寻址立即寻址直接寻址直接寻址间接寻址间接寻址2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(一)立即寻址立即寻址方式可用来提供常数。立即寻址方式可用来提供常数。 常数值可分为字节、字、双字型数据。常数值可分为字节、字、双字型数据。CPU以二进制方式存储所有常数。以二进制方式存储所有常数。指令中可用十进制、十六进制、指令中可用十进制、十六进制、ASCII码或码或浮点数形式来表示。浮点数形式来表示。 例:例: MOVB 16#DB, SMB772010.3江苏大学电气信

28、息工程学院江苏大学电气信息工程学院(二)直接寻址(二)直接寻址指令直接给出操作数地址指令直接给出操作数地址操作数的存储器地址应按规定的格式表示操作数的存储器地址应按规定的格式表示指令中,数据类型应与指令标识符相匹配指令中,数据类型应与指令标识符相匹配 例:例:位寻址:位寻址: LD I3.4LD I3.4字节寻址:字节寻址: MOVB VB50MOVB VB50,VB100VB100字寻址:字寻址: MOVW VW50, VW100MOVW VW50, VW100双字寻址:双字寻址: MOVD VD50, VD100MOVD VD50, VD1002010.3江苏大学电气信息工程学院江苏大学电

29、气信息工程学院直接寻址的编址格式2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院说明:;A:元件名称,即该数据在数据存储器中的区域地址,可以是上表中的符号。T:数据类型,若为位寻址,则无该项;若为字节、字或双字寻址,则T的取值应分别为B、W和D;X:字节地址;Y:字节内的位地址,只有位寻址才有该项。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院T、C、HC、AC等,直接写出其编号即可。等,直接写出其编号即可。 T、C的地址编号有的地址编号有2个含义:位和当前值。个含义:位和当前值。 AC的特殊性:字节、字、双字的特殊性:字节、字、双字特殊元件的直接寻址格式2010.3

30、江苏大学电气信息工程学院江苏大学电气信息工程学院(三)间接寻址(三)间接寻址指指令令给给出出了了存存放放操操作作数数地地址址的的存存储储单单元元的的地地址址操作数地址的地址称为指针操作数地址的地址称为指针指针用指针用“*”号表示,例号表示,例*AC12010.3江苏大学电气信息工程学院江苏大学电气信息工程学院间接寻址间接寻址2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1建立指针建立指针将存储器某个位置的地址移入另一存储器或累加器中作为指针“&”符号表示某存储单元的地址必须使用双字传送指令建立指针必须使用双字传送指令建立指针2010.3江苏大学电气信息工程学院江苏大学电气信息工程

31、学院2 2使用指针来存取数据使用指针来存取数据对指针处所指定存储器中的值(内容)进行存取对指针处所指定存储器中的值(内容)进行存取把指针处把指针处(&VB200) (&VB200) 的值的值 AC0AC02010.3江苏大学电气信息工程学院江苏大学电气信息工程学院3修改指针修改指针处理连续存取数据时,可以通过改变指针的值来进行修改指针值时,应根据存取数据的长度来进行调整:*字节:指针值加/减1*字:指针值加/减2*双字:指针值加/减42010.3江苏大学电气信息工程学院江苏大学电气信息工程学院五五 、程序的组织结构、程序的组织结构 主程序(程序的主体主程序(程序的主体 ) 子程序(可选)子程序

32、(可选) 中断程序(可选)中断程序(可选)在在CPUCPU的每个扫描周期,主程序的指令的每个扫描周期,主程序的指令按顺序执行一次按顺序执行一次合理优化程序结构,可减少扫描时间合理优化程序结构,可减少扫描时间构成 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院六、编程的一般规约六、编程的一般规约网络网络梯形图(梯形图(LAD)允许输入端、允许输出端允许输入端、允许输出端条件输入条件输入/无条件输入无条件输入无输出的指令无输出的指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1 1网络网络梯形图中,程序被分成称为网络的一些梯形图中,程序被分成称为网络的一些程序段程序段

33、程序不分段,则编译有误程序不分段,则编译有误2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2 2梯形图(梯形图(LADLAD)输入输入在图形的左边,在图形的左边,输出输出在图形的右边在图形的右边触触点点与与左左母母线线相相连连,线线圈圈或或功功能能框框终终止止右右母母线线,从从而而构成一个构成一个梯级梯级。在在一一个个梯梯级级中中,左左、右右母母线线之之间间是是一一个个完完整整的的“电电路路”,不不允允许许“短短路路”、“开开路路”,也也不不允允许许“能能流流”反向反向“流动流动”。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院3.允许输入端/允许输出端允许输入端:

34、允许输入端:允许输入端(EN)必须存在“能流”(EN=1),才能执行该功能框的功能允许输入端2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院允许输出端允许输出端* *ENOENO端允许功能框的布尔量输出端允许功能框的布尔量输出* *如如果果(ENEN)存存在在“能能流流”,且且功功能能框框准准确确无无误误地地执执行行了了其其功功能能,那那么么允允许许输输出出端端(ENOENO)将将把把“能能流流”传传到到下下一一个个功功能框的元件。(即能框的元件。(即ENO=1ENO=1,实现级联),实现级联) * *如果执行过程中存在错误,那么如果执行过程中存在错误,那么“能流能流”就在出现错误

35、就在出现错误的功能框终止,即的功能框终止,即ENO=0ENO=0。允许输出端2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院4 4条件输入条件输入/ /无条件输入无条件输入条件输入:条件输入: LADLAD中中,不不直直接接与与左左母母线线连连接接的的与与“能流能流”有关的功能框或线圈。有关的功能框或线圈。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院无条件输入无条件输入 直接与左母线连接的与“能流”无关的线圈或功能框。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院5 5无输出的指令无输出的指令功能框中没有允许输出端(ENO)该指令方框不能用于级联控制2

36、010.3江苏大学电气信息工程学院江苏大学电气信息工程学院第二节 S7-200PLC基本指令及编程方法基本逻辑指令基本逻辑指令立即立即I/OI/O指令指令逻辑堆栈指令逻辑堆栈指令取非触点指令取非触点指令正正/ /负跳变触点指负跳变触点指令令定时器、计数器指令定时器、计数器指令顺序控制继电器指令顺序控制继电器指令移位寄存器指令移位寄存器指令比较触点指令比较触点指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院基本指令开关量逻辑控制注意各操作数的数据类型及数值范围CPU对非法操作数将生成编译错误代码S7-200CPU操作数的范围见表5-52010.3江苏大学电气信息工程学院江苏大学电

37、气信息工程学院一、基本逻辑指令一、基本逻辑指令基本逻辑指令以位逻辑位逻辑操作为主数据类型是数据类型是Bool通过逻辑堆栈(Stack)实现逻辑处理逻辑堆栈:逻辑堆栈:9级深度,1位宽度“能流”到,执行LAD/FBD指令当栈顶值为“1”时,才能执行语句表指令 逻辑堆栈逻辑堆栈(Stack)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院( (一一) ) 标准触点指令标准触点指令1梯形图(LAD) 常开和常闭触点指令用触点表示与某触点对应的存储器地址的位(bit)值为1时: *表示该触点的常开触点是接通的 ,为1 *同时常闭触点为0,表示该常闭触点是断开的2010.3江苏大学电气信息工

38、程学院江苏大学电气信息工程学院2 2语句表(语句表(STLSTL)LD(Load)栈装载指令A(And)逻辑“与”指令O(or)逻辑“或”指令LDNANON对常闭触点编程对常闭触点编程2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院栈装载指令栈装载指令 LD(Load)将存储区某位将存储区某位(bit)值装入栈)值装入栈顶。顶。 (堆栈最后(堆栈最后一级内容丢失)一级内容丢失) 表表示示一一个个逻逻辑辑梯梯级级常常开开触触点点的的编编程程开始。开始。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院逻辑逻辑 “与与”指令指令 A(And)表示常开触点串联编程将某将某 bi

39、t值值“与与”栈顶值,运栈顶值,运算结果存入栈算结果存入栈顶顶I0.1 I0.0没有压入没有压入和弹出操和弹出操作作2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院LDN、AN、ON指令对常闭触点编程将操作数的bit值取反后,再作相应的“装载”、“与”、“或”操作。I0.2将将I0.2的的bit值值取反后取反后,装入装入栈顶。栈顶。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院逻辑逻辑 “ “或或”指令指令 (oror)表示常开触点表示常开触点的并联编程的并联编程I0.2+I0.3堆栈没堆栈没有压入有压入和弹出和弹出操作操作将将某某bit值值“或或”栈栈顶顶值值,运运

40、算算结结果仍存入栈顶果仍存入栈顶I0.22010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(二)输出指令(二)输出指令在(在(LAD)中)中输出线圈表示继电器输出线圈编程执行输出指令时,“能流”到,则线圈被激励。线圈被激励,输出映象寄存器或其他存储器的相应位为“1”,反之为“0”。输出线圈2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院输出指令(续)输出指令(续)在(在(STL)中)中输出指令把栈顶值复制到由操作数地址指定的存储器的对应位中。堆栈操作过程中,传送前后堆栈值不变。输出指令Q0.02010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(三)置位和复位指令

41、(三)置位和复位指令把从指令操作数指定的(把从指令操作数指定的(bitbit)地址开始的)地址开始的N N个点都被置位或复位个点都被置位或复位N: 1255N=32010.3江苏大学电气信息工程学院江苏大学电气信息工程学院在梯形图(LAD)中能流到,就执行置位(或复位)指令执行置位指令时,把从指令操作数指定的地址开始的N个点都被置位且保持,置位后即使能流断,仍保持置位执行复位指令时,把从指令操作数指定的地址开始的N个点都被复位且保持,复位后即使能流断,仍保持复位由于扫描工作方式,程序中写在后面的指令有优先权。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院在语句表(STL)中栈顶值

42、为1时,执行置位(或复位)指令执执行行置置位位指指令令时时,把从指令操作数指定的地址开始的N个点都被置位且保持,置位后即使栈顶值变为0,仍保持置位执执行行复复位位指指令令时时,把从指令操作数(bit)指定的地址开始的N个点都被复位且保持,复位后即使栈顶值变为0,仍保持复位。12010.3江苏大学电气信息工程学院江苏大学电气信息工程学院电机的启、停控制程序电机的启、停控制程序1.2.2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院已知图中已知图中I0.1的波形的波形,画出画出M1.0的波形的波形2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院上述指令遵循CPU的扫描规则,

43、程序执行过程中梯形图中各输入继电器、输出继电器触点的状态取自于I/O映象寄存器。程序运算的结果要在输出刷新阶段,将输出映象区的内容集中转存到输出锁存寄存器。然后传送到各相应的输出端子,驱动实际输出负载。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院二、立即二、立即I/O指令指令为了加快输入输出响应速度采用直接处理方式引入立即I/O指令:立即触点指令立即触点指令立即输出指令立即输出指令立即置位立即置位/ /复位指令复位指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院 ( (一一) ) 立即触点指令立即触点指令直接读取物理输入点的值输入映象寄存器内容不更新指令操作数仅

44、限于物理输入点的值2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院梯形图(LAD)中“I”表示立即之意当某物理输入点的触点闭合时,相应的常开立即触点的位(bit)值为“1”常闭立即触点的位(bit)值为“0”常开立即触点 常闭立即触点 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院语句表(STL)中常开立即触点编程:LDI,AI,OI常闭立即触点编程:LDNI、ANI、ONI指令中的“I”表示立即之意2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院常开立即触点编程常开立即触点编程执行LDI(立即装载)指令把物理输入点的位(bit)值立即装入栈顶执行AI(立

45、即与)指令把物理输入点的位(bit)值“与”栈顶值,运算结果仍存入栈顶执行OI(立即或)指令把物理输入点的位(bit)值“或”栈顶值,运算结果仍存入栈顶。 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院常闭立即触点编程执行LDNI、ANI、ONI指令把物物理理输输入入点点的位(bit)值取反后,再作相应的“装载”,“与”,“或”操作2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(二)立即输出指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院堆栈操作栈顶值被同时立即复制到物理输出点和相应的输出映象寄存器(立即赋值立即赋值)不受扫描过程的影响不同于一般的输

46、出指令,后者只是把新值写到输出映象寄存器指令操作数只限于物理输出点(Q)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院小小 结结立即触点指令:立即触点指令:CPU不等待输入采样的时刻,绕过输入映象寄存器,直直接接读读入入物物理理输输入入点点的的状状态态作为程序执行期间的数据依据不对输入映象寄存器作刷新处理立即输出指令:立即输出指令:直接把结果传送到物理输出点,直接把结果传送到物理输出点,以驱动实际输出不等待程序执行阶段结束后,转入输出刷新阶段时才把结果传送到物理输出点将结果也写入输出映象寄存器加快了输入输出响应速度2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院必须指

47、出:必须指出:立即I/O指令是直接访问物理输入/输出点的,比一般指令访问输入/输出映象寄存器占用CPU时间要长。不能盲目地使用立即指令,否则,会加长扫描周期时间,反而对系统造成不利影响,应利弊权衡。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(三)立即置位和立即复位指令(三)立即置位和立即复位指令把从指令操作数指定的地址开始的N个物理输出点立即置位/复位且保持(即即使使能能流流断断,仍仍保保持持置置位位/复复位)。位)。N: 1128新值被同时写到物理输出点和相应的输出映象寄存器。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院在语句表(在语句表(STL)中)中 执

48、执行行立立即即置置位位指指令令时时,当栈顶值为1,把从指令操作数指定的地址开始的N个物理输出点立即置位且保持,置置位位后后即即使使栈顶值变为栈顶值变为0,仍保持置位;,仍保持置位;12010.3江苏大学电气信息工程学院江苏大学电气信息工程学院 执行立即复位指令时执行立即复位指令时,把从指令操作数指定的地址开始的N个物理输出点立即复位且保持,复位后即使栈顶值变为复位后即使栈顶值变为0,仍保持复位。,仍保持复位。 12010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院三、逻辑堆栈指令三、逻辑堆栈指令逻辑堆栈指令只用于语句表编程只用

49、于语句表编程使用梯形图编程时,梯形图编辑器会自动插入相关的指令处理堆栈操作栈装载与(ALD)栈装载或(OLD)逻辑推入栈(LPS)逻辑读栈(LRD)逻辑弹出栈(LPP)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(一)栈装载“或”(OLD)指令将堆栈中的第一级第一级和第二级第二级的值进行逻辑或操作,结果放入栈顶,并将堆栈中其余各级的内容依次上弹一级。触点组的并联编程2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(二)栈装载(二)栈装载“与与”(ALD)指令)指令将堆栈中的第一级第一级和第二级第二级的值进行逻辑与操作,结果置于栈顶,并将堆栈中的第三级至第九级的值依次

50、上弹一级。触点组的串联编程触点组的串联编程2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(三)逻辑推入栈(三)逻辑推入栈(LPS)指令)指令复制栈顶的值并将这个值推入栈顶,原堆栈中各级栈值依次下压一级,栈底值丢失。一个触点控一个触点控制三个线圈制三个线圈S0S1S2S3S4S5S6S7S8S0S0S1S2S3S4S5S6S72010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(四)逻辑读栈(LRD)指令复制堆栈中的第二层的值到栈顶堆栈没有压入或弹出压入或弹出的操作原栈顶值被新的复制值取代S0S1S2S3S4S5S6S7S8S1S1S2S3S4S5S6S7S82010.3江

51、苏大学电气信息工程学院江苏大学电气信息工程学院(五)逻辑弹出栈(LPP)指令堆栈作弹出栈操作将栈顶的值弹出,其余各级依次上弹一级原堆栈第二级的值成为新的栈顶值。S0S1S2S3S4S5S6S7S8S1S2S3S4S5S6S7S8X2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院合理运用LPS,LRD,LPP指令可达到简化程序的目的。注意:LPS与LPP必须配对使用。LPS:逻辑堆入栈,新母线的开始LRD:读栈LPP:弹出栈,新母线的结束,执行后,返回原母线开始中间最后2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院思考思考已知图中的语句表程序已知图中的语句表程序, ,画

52、出对应的梯形图画出对应的梯形图2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院四、取非触点指令改变能流的状态能流到达取非触点时,能流就停止;能流未到达取非触点时,能流就通过对堆栈的栈顶作取反操作,改变栈顶值2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院五、正五、正/负跳变触点指令负跳变触点指令正跳变触点正跳变触点检测到正跳变(由off到on)信号后,让能流通过一个扫描周期的时间检测上升沿一个扫描周期的宽度一个扫描周期的宽度正跳变触点正跳变触点2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院负跳变触点负跳变触点在检测到负跳变信号后,让能流通过一个扫描周期的时

53、间检测下降沿一个扫描周期的宽度一个扫描周期的宽度负跳变触点负跳变触点2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院用用S,R指令以及跳变指令指令以及跳变指令设计满足所示波形的梯形图设计满足所示波形的梯形图2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院画出图中画出图中Q0.0的波形的波形2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院六、定时器、计数器指令六、定时器、计数器指令定时器指令计数器指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(一)定时器指令(一)定时器指令对对PLCPLC内部的时钟脉冲进行计数内部的时钟脉冲进行计数 定时器类

54、型 :接通延时定时器(TON)有记忆接通延时定时器(TONR)断开延时定时器(TOF)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院定时器分辨率定时器分辨率1ms10ms100ms分辨率由定时器号决定2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院定时器号范围:定时器号范围:(T0T255)定时器有两个相关的变量: 1. 1.当前值:当前值: 累计时间的当前值,存放在定时器的16(bit)当前值寄存器中。 2. 2.定时器位:定时器位: 当定时器当前值等于或大于设定值时,该定时器位被置为“1”。 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1接通延时定

55、时器接通延时定时器TON输入端(IN)接通时,定时器(TON)开始计时当定时器的当前值等等于于或或大大于于设定值(PT)时,该定时器位被置位为“1”。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院定时器定时器TON(续)(续)当达到设定时间后,TON继续计时,一直计到最大值32767。输入端(1N)断开时,定时器TON复位,即当前值为“0”,定时器位为“0”(Off)。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院设定时间设定时间T设定时间设定时间T=设定值设定值PT分辨率分辨率TON是模拟通电延时型物理时间继电器功能T=5100ms2010.3江苏大学电气信息工程

56、学院江苏大学电气信息工程学院2有记忆接通延时定时器TONR输入端接通时,定时器(TONR)开始计时当当前值=设定值时,该定时器位被置位为1当达到设定值后,定时器(TONR)继续计时,一直计到最大值327672010.3江苏大学电气信息工程学院江苏大学电气信息工程学院输入端断开时,定时器(TONR)的当前值保持不变,定时器位不变(与TON不同)当输入端再次接通,定时器当前值从原保持值开始再往上累计时间,继续计时可以用定时器(TONR)累计多次输入信号的接通时间2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院上电周期或首次扫描时,定时器(TONR)的定时器位为0,当前值保持可利用复位指

57、令(R)清除定时器(TONR)的当前值(定时器位=0)。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院3断开延时定时器(断开延时定时器(TOF)输输入入端端接接通通时时,定定时时器器位位立立即即为为1 1,并并把把当当前前值设为值设为0 0当输入端断开时,定时器开始计时,当达到设当输入端断开时,定时器开始计时,当达到设定时间时,定时器位为定时间时,定时器位为“0” 0” ,并停止计时,并停止计时TOFTOF指令必须用输入信号的指令必须用输入信号的ONOFFONOFF的跳变启动的跳变启动计时计时模拟断电延时型物理时间继电器功能模拟断电延时型物理时间继电器功能 2010.3江苏大学电

58、气信息工程学院江苏大学电气信息工程学院小结定时器类型接通IN当前值=设定值断开INTON计时T位=1复位TONR计时T位=1不变TOF不计时,T位=1 当前值=0T位=0开始计时2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院注意注意 定时器号不可重复使用定时器号不可重复使用 使用复位(使用复位(R R)指令对定时器复位时,定)指令对定时器复位时,定时器位时器位=0=0,定时器当前值清零,定时器当前值清零有有记记忆忆接接通通延延时时定定时时器器(TONRTONR)只只能能通通过过复位指令使定时器当前值清零复位指令使定时器当前值清零对对断断开开延延时时定定时时器器(TOFTOF),需

59、需在在输输入入端端有有一一个个负负跳跳变变(ONOFFONOFF)的的输输入入信信号号才才能能启启动计时。动计时。不同分辨率的定时器它们当前值的刷新周不同分辨率的定时器它们当前值的刷新周期是不同的。期是不同的。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院T当前值当前值的刷新1ms分辩率定时器分辩率定时器每隔每隔1ms刷新一次在一个扫描周期中要刷新多次,而不和扫描周期同步。ON一个一个扫描周扫描周期期 不会接通不会接通 错误正确2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院10ms分辩率定时器分辩率定时器在每次扫描周期的开始对10ms定时器刷新在一个扫描周期内定时器

60、当前值保持不变不会接通不会接通 错误正确2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院100ms分辨率定时器分辨率定时器在定时器指令执行时刷新100ms30=3s自复位式自复位式定时器定时器2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院100ms100ms定时器定时器100ms100ms定定时时器器只只能能用用于于每每个个扫扫描描周周期期内内同同一一定定时时器器指指令令执执行行一一次次,且且仅仅执执行行一一次的场合。次的场合。不宜用在子程序不宜用在子程序和中断程序中和中断程序中在主程序中不能重在主程序中不能重复使用同一个复使用同一个100ms100ms的定时器号的定

61、时器号结论结论2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院指出梯形图中的错误指出梯形图中的错误M0.7I0.4Q0.5T372010.3江苏大学电气信息工程学院江苏大学电气信息工程学院典型简单电路编程延时接通延时接通/延时断开电路延时断开电路2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院典型的简单电路编程典型的简单电路编程闪烁电路闪烁电路 当当I0.0有效时,有效时,T37就会产生一个就会产生一个2s通,通,1s断的闪烁信号。断的闪烁信号。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(二)计数器指令(二)计数器指令对外部的或由程序产生的计数脉冲进行

62、计数对外部的或由程序产生的计数脉冲进行计数计数器是累计其计数输入端的计数脉冲电平由低到高的次数计数器类型:计数器类型: 增计数器 减计数器 增/减计数器2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院计数器号范围:计数器号范围:C(0255)计数器有两个相关的变量:1. 1.当前值:当前值:计数器累计计数的当前值,存放在计数器的16(bit)当前值寄存器中。2.2.计数器位:计数器位:当计数器的当前值等于或大于设定值时,计数器位置为“1”。计数范围:计数范围: (32768 32767) 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1增计数器指令增计数器指令CTU当

63、当CUCU端有端有一一上升沿信号时,计数器作递增计数上升沿信号时,计数器作递增计数当计数器当前值等于或大于设定值(当计数器当前值等于或大于设定值(PVPV)时,该计数器位)时,该计数器位被置位。被置位。复位输入端复位输入端R R为为ONON或执行复位指令时,计数器位为或执行复位指令时,计数器位为“0”0”,当前值被清零当前值被清零 计数输入端计数输入端复位输复位输入端入端2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院自复位式计数器自复位式计数器自复位自复位式计数式计数器器2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2 2减计数器指令(减计数器指令(CTDCTD)

64、当当装装载载输输入入端端(LDLD)有有效效时时,计计数数器器复复位位并并把把设设定定值(值(PVPV)装入当前值寄存器()装入当前值寄存器(CVCV)中)中当I1.4=1:C40=0,PVCV;当CV=0:C40=1;当计数输入端(当计数输入端(CDCD)有一个上升沿信号时,计数器从设定)有一个上升沿信号时,计数器从设定值(值(PVPV)开始作递减计数)开始作递减计数直至计数器当前值等于直至计数器当前值等于0 0时,停止计数,同时计数器位被置位时,停止计数,同时计数器位被置位2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院减计数器用法举例减计数器用法举例2010.3江苏大学电气信

65、息工程学院江苏大学电气信息工程学院3增/减计数器指令(CTUD)在每一个CU输入端的上升沿递增计数在每一个CD输入端的上升沿递减计数当复位输入端(R)有效时,计数器被复位 当前值被清零 当前值=设定值(PV)时,该计数器位被置位或用复位指令(或用复位指令(R)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院计数器在达到计数最大值32767后,下一个CU输入端上升沿将使计数值变为最小值(-32768)计数范围:计数范围: +32767 -32768在达到最小计数值(-32768)后,下一个CD输入端上升沿将使计数值变为最大值(32767)2010.3江苏大学电气信息工程学院江苏大学电

66、气信息工程学院增减计数器用法举例增减计数器用法举例当前值2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院注意注意在一个程序中,在一个程序中,同一计数器号不要重复使用!同一计数器号不要重复使用!2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院典型的简单电路编程典型的简单电路编程输入信号输入信号I0.0有效后,经过有效后,经过2h30min时,输出时,输出Q0.0置位置位长定时电路长定时电路1min定时器定时器1h定时器定时器定时定时2h2h到,再计时到,再计时30minPLC的输入:I0.0:起动按钮I0.1:停止按钮PLC的输出:Q0.02010.3江苏大学电气信息工程

67、学院江苏大学电气信息工程学院产品通过检测器产品通过检测器PH机械手电机机械手电机KM1KM2传送带电机传送带电机PLC的输入:的输入:I0.0 传送带起动按钮传送带起动按钮I0.1传送带停机按钮传送带停机按钮I0.2 产品通过检测器产品通过检测器PHPLC的输出:的输出:Q0.0传送带电机传送带电机KM1Q0.1机械手机械手KM2要求:要求:每每3 3个产品通过检测器,机械手动作个产品通过检测器,机械手动作1 1次,次, 机械手机械手动作后,延时动作后,延时5 5秒,将机械手电磁铁切断,即秒,将机械手电磁铁切断,即KM2KM2失电失电典型的简单电路编程典型的简单电路编程产品数量检测产品数量检测

68、2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院 起、停传送带电机起、停传送带电机每检测到一个产品,每检测到一个产品,I0.2产生一个正脉冲,产生一个正脉冲, 使使C20计一个数计一个数 C20每计每计3个数,机械手动作一次个数,机械手动作一次 机械手动作时间为机械手动作时间为5秒后,秒后,5秒后,将秒后,将机械手电磁铁切断,同时将机械手电磁铁切断,同时将C20复位。复位。C20复位后,复位后,T37也复位也复位举例:产品数量检测举例:产品数量检测2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院七、顺序控制继电器指令七、顺序控制继电器指令(Sequential Cont

69、rol Relay)顺序控制SCR指令的功能使用SCR指令的限制编程举例2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院顺序控制顺序控制所谓顺序控制,是使生产过所谓顺序控制,是使生产过程按工艺要求事先安排的顺序自程按工艺要求事先安排的顺序自动地进行控制。动地进行控制。四台电机的顺序启动四台电机的顺序启动四台电机的顺序启动四台电机的顺序启动2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院顺序功能图顺序功能图SFC(SequentialFunctionChart)顺序功能图IEC1131标准颁布的一种PLC编程语言。一种基于工艺流程的高级语言。2010.3江苏大学电气信息工

70、程学院江苏大学电气信息工程学院顺序控制继电器(顺序控制继电器(SCR)指令)指令 基于基于SFC的编程方式的编程方式它依据被控对象的顺序功能图进行编程将控制程序进行逻辑分段l优点:优点: 编制的程序清晰、明了、编制的程序清晰、明了、统一性强、简单、易学。编统一性强、简单、易学。编程效率高,调试方便。程效率高,调试方便。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(一)(一)SCR指令的功能指令的功能S SC CR R程程序序段段段的开始段的结束段的转换2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院装载顺序控制继电器指令(LSCRn)LSCR n指令把指令把S位的值

71、装载到位的值装载到SCR堆栈和逻辑堆栈栈顶堆栈和逻辑堆栈栈顶n=S0.1SCR堆栈的值决定该堆栈的值决定该SCR段是否执行段是否执行当当SCR程序段的程序段的S位置位置“1”时,允许该时,允许该SCR程序段工作程序段工作2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院顺序控制继电器转换指令顺序控制继电器转换指令SCRT执行执行SCRSCR程序段的转换功能:程序段的转换功能:使当前SCR程序段的S位复位,停止该SCR程序段工作;使下一个SCR程序段S位置位,以便下一个SCR程序段工作。程序段程序段的转换的转换 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院顺序控制继电器

72、结束指令顺序控制继电器结束指令SCRE它使程序退出一个激活的SCR程序段 SCRSCR程序段必须由程序段必须由SCRESCRE指令结束指令结束程序段的结束 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(二)使用(二)使用SCR指令的限制指令的限制同一地址的S位不可用于不同的程序分区在在SCRSCR段中不能使用的指令:段中不能使用的指令: 跳转指令跳转指令JMPJMP、LBLLBL; 循环指令循环指令FORFOR、NEXTNEXT; 有条件结束指令有条件结束指令ENDEND。段外可使用跳转指令JMP、LBL;循环指令FOR、NEXT指令。2010.3江苏大学电气信息工程学院江苏大

73、学电气信息工程学院(三)(三)SCR指令的编程举例指令的编程举例课题:课题:根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2秒后绿灯亮,再过3秒后黄灯亮。待红、绿、黄灯全亮3分钟后,全部熄灭。试用SCR指令设计其控制程序。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院PLC的外部接线图的外部接线图2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院步(步(01)不用置位指令行不行?不用置位指令行不行?2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院步步22010.3江苏大学电气信息工程

74、学院江苏大学电气信息工程学院步步32010.3江苏大学电气信息工程学院江苏大学电气信息工程学院步步4、停止、停止2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院SCR程序段的三个要素程序段的三个要素 输出对象:在这一步序中应完成的动作输出对象输出对象转换转换条件条件转换目标转换目标 转换条件:满足转换条件后,实现SCR段的转换 转换目标:转换到下一个步序2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院八、移位寄存器指令八、移位寄存器指令 (SHRB)把输入端(DATA)的数值移入移位寄存器,并进行移位。移位寄存器是由S-BIT和N决定的。其中,S-BIT指定移位寄存器的

75、最低位,N指定移位寄存器的长度。N为正数表示正向移位,N为负数表示反向移位2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院I0.2正向移位时,输入数据从移位寄存器的最低有效位移入,从最高有效位移出BYTE型数据类型N64Bool型数据类型。移出的数据送入溢出存储器位(SM1.1)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院移位寄存器最高有效位地址的计算移位寄存器最高有效位地址的计算计计算算:由由最最低低有有效效位位(S-BITS-BIT)和和长长度度(N N)计计算算最高有效位(最高有效位(MSB.bMSB.b)的地址)的地址计算公式:计算公式:MSB.b=S-BI

76、T的字节号+(|N|-1+S-BIT的位号)8.被8除所得余数举例:举例:如果S-BIT是V22.5,N是8,那么:MSB.b=V22+(8-1+5)8=V22+128=V22+1(余数为4)=V23.4字节号位号2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院在允许输入端(EN)端的每个上上升升沿沿时刻对DATA端采样一次当允许输入端(当允许输入端(EN)有效时,)有效时,在每个扫描周期在每个扫描周期:把输入端(DATA)的数值移入移位寄存器。使移位寄存器各位移动一位。I0.22010.3江苏大学电气信息工程学院江苏大学电气信息工程学院思考梯形图中不用正跳变触点正跳变触点指令行吗

77、?2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院移位寄存器的应用移位寄存器的应用移位寄存移位寄存器的器的 各位各位移位寄存移位寄存器的器的 各位各位移位寄存移位寄存器的器的 各位各位可用于电动机的顺序起动改为改为V10.22010.3江苏大学电气信息工程学院江苏大学电气信息工程学院九、比较触点指令作上、下限控制作上、下限控制比较比较触点触点2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院梯形图(LAD)中将两个操作数(IN1、IN2)按指定的比较关系作比较比较关系成立则比较触点闭合“能流”存在,执行指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院6 6

78、种比较关系种比较关系IN1=IN2、IN1=IN2、IN1=IN2、IN1IN2、IN1IN2、IN1IN2, “”表示不等于。表示不等于。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院比较触点指令的类型按操作数的数据类型可分:按操作数的数据类型可分:字节比较(无符号)整数比较双字整数比较实数比较指令有符号2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院比较触点应用举例实现占空比可调的脉冲发生器实现占空比可调的脉冲发生器2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院第三节第三节 S7-200PLC功能指令功能指令传送指令数学运算指令逻辑运算指令移位和循环

79、移位指令数据转换指令表功能指令程序控制指令中断指令PID回路指令高速计数器指令高速脉冲输出指令时钟指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院功能指令数据类型功能指令涉及的数据类型多,编程时应保证操作数在合法范围内。S7-200PLC不支持完全数据类型检查操作数的数据类型应与指令标识符相匹配2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院一、传送指令一、传送指令数据传送指令 数据块传送指令交换字节指令 传送字节立即读、写指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(一)一)数据传送指令数据传送指令 把输入(IN)指定的数据传送到输 出(OUT

80、),传送过程中数据值保 持不变。输入输出允许允许输入端输入端允许允许输出端输出端2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院数据传送指令按操作数的数据类型可分为:数据传送指令按操作数的数据类型可分为: 操作数可为有符号数或无符号数操作数可为有符号数或无符号数 字节传字节传送送(MOVBMOVB)字传送字传送(MOVWMOVW)双字传送双字传送(MOVDWMOVDW)实数传送实数传送(MOVRMOVR)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院自学数据块传送指令(操作数均为为无符号数)传送字节立即读、写指令(物理输入、输出点)交换字节指令2010.3江苏大学电气

81、信息工程学院江苏大学电气信息工程学院二、数学运算指令二、数学运算指令四则运算指令数学功能指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(一)四则运算指令(一)四则运算指令加法指令减法指令乘法指令除法指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1.加法指令加法指令把两个输入端(IN1,IN2)指定的数相加,结果送到输出端(OUT)指定的存储单元中。输入端输入端输出端输出端整数加法指令整数加法指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院整数、双整数、实数加法指令整数、双整数、实数加法指令 对应的操作数数据类型:对应的操作数数据类型:有符号整

82、数(INT)有符号双整数(DINT)实数(REAL)整数加法 双整数加法 实数加法 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院加法指令的操作操作数IN2与OUT共用一个地址单元操作:IN1+OUT=OUTIN1+OUT=OUT2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2减法指令 把两个输入端(把两个输入端(IN1IN1,IN2IN2)指定的数)指定的数相减,结果送到输出(相减,结果送到输出(OUTOUT)指定的存储)指定的存储单元中去。单元中去。 输出端输入端2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院整数、双整数、实数减法指令整数、双整数、

83、实数减法指令对应的操作数:有符号整数(有符号整数(INTINT) 有符号双整数(有符号双整数(DINTDINT) 实数(实数(REALREAL) 整数减法 双整数减法 实数减法 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院减法指令的操作操作数IN1与OUT共用一个地址单元操作:OUT-IN2=OUTOUT- IN2 =OUT 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院3乘法指令操作数的数据类型:操作数的数据类型:有符号整数(INT)有符号双整数(DITN)实数(REAL) 整数乘法整数乘法 双整数乘法双整数乘法 实数乘法实数乘法 整数完全乘法整数完全乘法 操作

84、数IN2与OUT共用一个地址单元IN1OUT=OUT 把两个输入端(IN1,IN2)指定的数相乘,结果送到输出端(OUT)指定的存储单元中去2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院整数完全乘法指令整数完全乘法指令 操作数IN2与OUT的低16位用的是同地址单元16bit16bit有符有符号整数号整数32bit的乘积IN1OUT=OUTVD200IN1(16bit) IN2(16bit) =32(bit)乘积 (OUT) 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院4除法指令操作数的数据类型:操作数的数据类型: 有符号整数(有符号整数(INT) 有符号双整数(

85、有符号双整数(DINT) 实数(实数(REAL) 操作数操作数IN1与与OUT共共用一个地址单元用一个地址单元OUT/IN2=OUT 整数除法整数除法 双整数除法双整数除法 实数除法实数除法 整数完全除法整数完全除法 把两个输入端(IN1,IN2)指定的数相除,结果送到输出端(OUT)指定的存储单元中去。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院整数完全除法指令整数完全除法指令 操作数IN1与OUT的低16位用的是同地址单元VD30032bit的结果 OUT/ IN2 =OUT16bit16bit有符有符号整数号整数余数商IN1(16bit) IN2(16bit) =32(b

86、it)结果 (OUT) 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院四则运算举例IN1与OUT不是同一地址单元加法、减法、乘法指令遇到上述情况,也可作类似的处理。 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院5.5.加加1 1和减和减1 1指令指令操作数的数据类型操作数的数据类型:字节、字、双字VB100VB100IN和OUT共用一个地址单元 INCW OUTINCD OUT2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院( (二二) )数学功能指令数学功能指令平方根平方根自然对数自然对数自然指数自然指数三角函数三角函数操作数均为操作数均为实数实数(

87、REAL)自自学学2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院三、逻辑运算指令三、逻辑运算指令逻辑“与”指令逻辑“或”指令逻辑“异或”指令取反指令逻辑运算指令的操作数均为逻辑运算指令的操作数均为无符号数无符号数自学自学对两个输入端(IN1,IN2)的数据按位“与”,结果存入OUT单元 ORD IN1,OUT2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院四、移位和循环移位指令右移位指令右移位指令 左移位指令左移位指令 循环右移指令循环右移指令 循环左移指令循环左移指令移位和循环移位指令均为无符号数操作移位和循环移位指令均为无符号数操作2010.3江苏大学电气信息工程

88、学院江苏大学电气信息工程学院1右移位指令把输入端(IN)指定的数据右移N位,结果存入OUT.字节右移 字右移 双字右移 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院字节、字、双字移位指令的实际字节、字、双字移位指令的实际最大可移位数:最大可移位数: 8、16、32空位自动补零空位自动补零溢出溢出SM1.1移位后溢出位移位后溢出位(SM1.1SM1.1)的值就是最)的值就是最后一次移出的位值后一次移出的位值 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2左移位指令左移位指令字节左移字节左移 字左移字左移 双字左移双字左移 自学2010.3江苏大学电气信息工程学院江

89、苏大学电气信息工程学院3循环右移指令字节循环右移字节循环右移 字循环右移字循环右移双字循环右移双字循环右移 SM1.1溢出位把输入端(把输入端(ININ)指定的数据循环指定的数据循环右移右移N N位,结果存位,结果存入入OUTOUT 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院字节、字、双字循环移位指令的实际移动位数字节、字、双字循环移位指令的实际移动位数字节、字、双字循环移位指令,如果所需移位次数N大于或等于8、16、32,那么在执行循环移位前,先对先对N取以取以8、16、32为底的模为底的模,其结果07、015、031为实际移动位数。2010.3江苏大学电气信息工程学院江苏

90、大学电气信息工程学院4循环左移指令字节循环左移字节循环左移 字循环左移字循环左移 双字循环左移双字循环左移 自学2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院移位和循环移位2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院五、数据转换指令五、数据转换指令 BCD码与整数的转换双字整数与实数的转换双字整数与整数的转换字节与整数的转换译码、编码指令段码(SEG)指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1BCD码与整数的转换09999099992010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2双字整数与实数的转换双字整数与实数的转换 32b

91、it 32bitDINT REAL +101 +101.0 256.54 257256.54 256REAL DINT REAL DINT 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院3双字整数与整数的转换双字整数与整数的转换有效的有效的双字整数双字整数 进行符号扩展进行符号扩展 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院整数转换为实数整数转换为实数 ITD DTRINT DINT REAL2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院4字节与整数的转换字节与整数的转换有效的整数有效的整数 2010.3江苏大学电气信息工程学院江苏大学电气信息工程

92、学院转换指令编程举例IN2与OUT不是同一地址2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院自学5译码、编码指令6段码(SEG)指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院六、表功能指令六、表功能指令填表、查表指令先进先出、后进先出指令存储器填充指令存储器填充指令执行FILL指令后,VW400VW418的区域被清零。自自学学用输入值(IN)填充从输出单元(OUT)开始的N个字的内容。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院七、程序控制指令七、程序控制指令有条件结束指令(有条件结束指令(END)暂停指令(暂停指令(STOP)监视定时器复位指令

93、(监视定时器复位指令(WDR)跳转与标号指令跳转与标号指令循环指令(循环指令(For,Next)子程序调用、子程序返回指令子程序调用、子程序返回指令2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1.有条件结束指令(有条件结束指令(END)执行条件成立时,终止当前的扫描周期,结束主程序,返回主程序起点。只能在主程序中使用只能在主程序中使用2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2.暂停指令(暂停指令(STOP)从运行(从运行(RUN)模式进入停止()模式进入停止(STOP)模式,立即终止程序的执行模式,立即终止程序的执行2010.3江苏大学电气信息工程学院江苏大

94、学电气信息工程学院3.监视定时器复位指令(监视定时器复位指令(WDR)设置系统监视定时器设置系统监视定时器WTD,WTD,定时时间为定时时间为100100300ms,300ms,扫描到扫描到WTDWTD时,时,WTDWTD将复位将复位监视扫描周期是否超时监视扫描周期是否超时正常工作时:正常工作时:WTD及时复位;及时复位;故障时:不能复位,会报警并终止系统运行;故障时:不能复位,会报警并终止系统运行;使用使用WDR指令:指令:用户程序长用户程序长执行中断程序的时间长执行中断程序的时间长循环指令使扫描周期延长循环指令使扫描周期延长2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院4.跳

95、转与标号指令跳转与标号指令0255跳转指令和对应的跳转指令和对应的LBL指令必须在同一程序块中指令必须在同一程序块中2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院5.循环指令循环开始循环开始循环结束循环结束INDX:当前循环次数计数器:当前循环次数计数器INIT:起始值:起始值FINAL:结束值:结束值FOR与与NEXT必须成套使用必须成套使用循环体循环体2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院举例举例 8 8个个1212位二进制数位二进制数存放在存放在VW10VW10开始的存开始的存储区内,在储区内,在I0.3I0.3的上的上升沿,用循环指令求升沿,用循环指

96、令求平均值,并将结果存平均值,并将结果存放在放在VW0VW0中。中。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院 6.6.子程序调用指令、子程序返回指令子程序调用指令、子程序返回指令 把程序控制权把程序控制权交给子程序交给子程序 结束后,必须结束后,必须返回主程序返回主程序 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院子程序返回主程序指令子程序返回主程序指令有条件子程序返回指令(有条件子程序返回指令(CRET)无条件子程序返回指令(无条件子程序返回指令(RET) RET指令指令Micro/WINMicro/WIN3232为每个为每个子程序自子程序自动加入无动加入

97、无条件返回条件返回指令指令子程序子程序返回之处返回之处 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院逻辑堆栈逻辑堆栈子程序执行完毕,通过返回子程序执行完毕,通过返回指令自动恢复逻辑堆栈原调指令自动恢复逻辑堆栈原调用点的值,把控制权交还给用点的值,把控制权交还给调用程序。调用程序。子程序被调用时,系统会保存当前的逻辑堆栈。保存后再置栈顶值为1,堆栈的其他值为零,把控制权交给被调用的子程序。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院注意注意在中断程序和子程序中可以调用子程序在中断程序和子程序中可以调用子程序主程序和子程序共用累加器主程序和子程序共用累加器子程序中的

98、定时器在停止调用时:子程序中的定时器在停止调用时:100ms定时器将停止计时,当前值不变,重新调用时继续计时定时器将停止计时,当前值不变,重新调用时继续计时1ms和和10ms定时器将继续定时,定时时间到,位变为定时器将继续定时,定时时间到,位变为1,可以在子程序之外起作用可以在子程序之外起作用子程序内的定时器的位状态保持不变子程序内的定时器的位状态保持不变2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院 带参数调用子程序(自学)带参数调用子程序(自学)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院例:当例:当I0.1I0.1为为ONON时,定时器时,定时器T32T32

99、开始定时,产生每秒开始定时,产生每秒1 1次的周次的周期脉冲。期脉冲。T32T32每次定时时间到时调用一个子程序,在子程序每次定时时间到时调用一个子程序,在子程序中将模拟量输入中将模拟量输入AIW0AIW0的值送入的值送入VW10VW10,设计主程序和子程序,设计主程序和子程序2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院对特定的内部和外部事件作快速响应对特定的内部和外部事件作快速响应 八、中断指令八、中断指令中断程序不是由用户程序调用,而是在中断事件中断程序不是由用户程序调用,而是在中断事件发生时由操作系统调用发生时由操作系统调用注意:注意:在中断程序中不能改写其他程序使用在中

100、断程序中不能改写其他程序使用的存储器,在中断程序中可以调用一级子程序,的存储器,在中断程序中可以调用一级子程序,累加器和逻辑堆栈在中断程序和被调用的子程累加器和逻辑堆栈在中断程序和被调用的子程序中是公用的,序中是公用的,设计时应设计时应“越短越好越短越好”2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院( (一)全局中断允许、全局中断禁止指令一)全局中断允许、全局中断禁止指令全局地允许全局地允许所有被连接所有被连接的中断事件的中断事件 全局地禁止全局地禁止处理所有中处理所有中断事件断事件 CPUCPU进入进入 RUN RUN 模式时自模式时自动禁止了中断。在动禁止了中断。在 RUN

101、RUN模式执行全局中断允许模式执行全局中断允许指令(指令(ENIENI)后,允许)后,允许所有中断。所有中断。 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(二)中断连接指令、中断分离指令(二)中断连接指令、中断分离指令用来建立某个中断事用来建立某个中断事件(件(EVNTEVNT)和某个中断)和某个中断程序(程序(INTINT)之间的联)之间的联系。系。该中断事件发生时执该中断事件发生时执行相关的中断程序行相关的中断程序 中断连接指令中断连接指令(ATCHATCH)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院中断事件号中断事件号2010.3江苏大学电气信息工程学

102、院江苏大学电气信息工程学院2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院中断事件中断事件 中断程序中断程序多个中断事件可调用同一个中断程序多个中断事件可调用同一个中断程序一一个个中中断断事事件件不不能能同同时时与与多多个个中中断断程程序序建建立立连连接接,否否则则,系系统统默默认认执执行行这这些些中中断断程程序序中的最后一个。中的最后一个。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院中断分离指令中断分离指令(DTCH)截断某中断事截断某中断事件和中断程序件和中断程序之间的联系之间的联系单独单独禁止某中禁止某中断事件断事件2010.3江苏大学电气信息工程学院江苏大学

103、电气信息工程学院 (三三) 中断返回指令中断返回指令有条件中断返回指有条件中断返回指令令(CRETICRETI),根,根据控制的条件从中据控制的条件从中断程序中返回到主断程序中返回到主程序程序中断程序中断程序的入口的入口2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院中断程序中不能使用:全局中断禁止指令DISI全局中断允许指令ENI高速计数器指令HDEF顺序控制继电器指令LSCR有条件结束指令END。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(四)(四) 中断的分类中断的分类通讯口中断I/O中断时基中断2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1

104、.通信口中断通信口中断利用接受和发送中断来简化程序对通信的控制利用接受和发送中断来简化程序对通信的控制2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2.I/O中断中断2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院3.3.时基中断:时基中断:定时中断定时中断定时器中断定时器中断2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院定时中断定时中断按指定的周期按指定的周期时间循环执行时间循环执行当定时中断设定的当定时中断设定的周期时间到,定时周期时间到,定时中断事件把控制权中断事件把控制权交给相应的中断程序。交给相应的中断程序。定时中断一旦被允许,定时中断一旦被允

105、许,就会按指定的时间间就会按指定的时间间隔反复执行被连接隔反复执行被连接的中程序的中程序2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院定时中断的周期时间定时中断的周期时间定时中断0/1的周期时间SMB34/35改变周期时间:修改SMB34/35中的值,必须重新建立中断程序与定时中断事件的连接。周期时间:周期时间:1 1255ms255ms周期增量:周期增量:1ms1ms2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院定时中断的应用定时中断的应用常常用用定定时时中中断断以以固固定定的的时时间间间间隔隔去去控控制制模模拟拟量量的的采集和执行采集和执行PIDPID回路程序。

106、回路程序。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院定时器中断定时器中断使用使用1ms分辨率的定时器分辨率的定时器T32和和T96当中断被允许,定时器的当前值等于设定值时,当中断被允许,定时器的当前值等于设定值时,在在CPU的的1ms定时刷新中,执行被链接的中断程序定时刷新中,执行被链接的中断程序2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(五)中断优先级(五)中断优先级通讯(最高)(最高)I/O中断(中等)(中等)时基中断(最低)(最低)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院中断指令举例中断指令举例例:用定时中断例:用定时中断0 0,每

107、,每100ms100ms将将VB0VB0加加1 1,VB0VB0到到100100时时关闭定时中断,并将关闭定时中断,并将Q0.0Q0.0置置1 1,设计主程序和中,设计主程序和中断程序断程序2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院九、九、PID回路指令回路指令用用PLC实现模拟量闭环控制系统实现模拟量闭环控制系统PLCc(t)M(t)Sp(n)e(n)M(n)pv(n)pv(t)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(一一)PID算法算法PIDPID控控制制器器调调节节回回路路输输出出。为为使使系系统统达达到到稳稳定定状状态,应让偏差(态,应让偏差(e

108、 e)趋于零。)趋于零。偏差(偏差(e e)= = 给定值(给定值(SPSP)过程变量()过程变量(PVPV)PID控制器的输出量控制器的输出量M(t):比例项比例项积分项积分项初始值初始值微分项微分项随时间t连续变化的模拟量PID回路的增益回路的增益2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院将连续函数离散化将连续函数离散化 Mn在第在第n采样时刻采样时刻PID回路输出的计算值;回路输出的计算值;en在第在第n次采样时刻的偏差值;次采样时刻的偏差值;en-1在第在第n-1采样时刻的偏差值(偏差前值);采样时刻的偏差值(偏差前值);KI积分项的系数;积分项的系数;KD微分项的系

109、数;微分项的系数;2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院计算中,只需保留积分项前值(计算中,只需保留积分项前值(MX),即),即: :从第一个采样周期到当前采样周期的所有误差的累积值从第一个采样周期到当前采样周期的所有误差的累积值2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院比例项、积分项、微分项比例项、积分项、微分项比例项MPn=KC(SPnPVn)积分项MIn= KCTS / TI(SPnPVn)+MX微分项MDn=KCTD / TS(PVn1PVn)9个参数个参数KIKD2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院进行进行PID运算的运

110、算的9个参数:个参数:过程变量当前值 PVn给定值 SPn增益 KC 采样时间 TS 积分时间 TI微分时间 TD积分项前值MX 过程变量前值 PVn1 输出值 Mn2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(二)(二)PID回路指令回路指令PID回路指令运用回路指令运用回路表回路表中的输入信息和中的输入信息和组态信息,进行组态信息,进行PID运算,编程极其简便。运算,编程极其简便。(组态编程,即填表式编程)(组态编程,即填表式编程) 回路回路号号0-70-7回路表的回路表的起始地址起始地址限用限用VBVB区区域域2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院进

111、行PID运算的前提条件在程序中最多可以用在程序中最多可以用8条条PID指令指令不可重复使用同一个回路号不可重复使用同一个回路号逻辑堆栈栈顶值必须为112010.3江苏大学电气信息工程学院江苏大学电气信息工程学院回路表格式VB10036个个字节字节 9个个参数参数*2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院周期地进行周期地进行PID运算运算以一定的采样频率进行以一定的采样频率进行PID运算运算PIDPID指令必须编入定时发生的中断程指令必须编入定时发生的中断程序中序中在主程序中由定时器控制在主程序中由定时器控制PIDPID指令的指令的执行频率执行频率 2010.3江苏大学电气信

112、息工程学院江苏大学电气信息工程学院(三)控制方式(三)控制方式 当允许输入端(EN)检测到一个正正跳变跳变信号,PID回路就从手动方式无扰动无扰动地地切换到自动方式。自动自动手动手动2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(四)回路输入输出变量的数值转换回路输入变量的转换和标准化回路输出变量的数据转换2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院1回路输入变量的转换和标准化回路输入变量的转换和标准化 执行执行PIDPID指令前必须把给定值和过程变量转换成标准指令前必须把给定值和过程变量转换成标准的浮点型实数。的浮点型实数。 AIW0pv(t)pv(n)Sp(n

113、)将过程变量将过程变量PVn 输入值标准化为(输入值标准化为(0.00.1)的实数,)的实数,填入表中(填入表中(VD100):): INT REAL (0.00.1)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(1)(1)回路输入变量的数据转换回路输入变量的数据转换INT REALINT REAL XORD AC0,AC0, 清空累加器清空累加器MOVW AIW0,AC0, 把待变换的把待变换的AIW0的模拟量的模拟量 (INT)存入累加器。)存入累加器。LDW= AC0,0 如果模拟量为正如果模拟量为正JMP 0 则直接转成实数则直接转成实数NOT 否则否则ORD 16#F

114、FFF0000,AC0 先对先对AC0中的值进行中的值进行 符号扩展符号扩展LBL 0ITD AC0,AC0 把把16位整数转换成双字整数位整数转换成双字整数DTR AC0,AC0 把双字整数转成实数把双字整数转成实数2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(2) 实数值的标准化实数值的标准化 REAL (0.00.1) 实数标准化的公式:RNorm=(RRaw / Span+ Offset)RNorm是标准化的实数值;Rraw是未标准化的实数值;Offset是补偿值或偏置,单极性为0.0,双极性为0.5;Span是值域大小,为最大允许值减去最小允许值,单极性为32,000

115、(典型值)双极性为64,000(典型值)。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院双极性实数标准化的程序:RNorm=(RRaw / Span+ Offset)/R 64000.0,AC0 累加器中的实数值除以64000.0+R 0.5,AC0加上偏置,使其落在0.01.0之间MOVR AC0,VD100(过程变量(过程变量PVn)标准化的实数值存入回路表2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院2回路输出变量的数据转换PID运算的输出值是运算的输出值是0.01.0之间的标准化了的实数值。之间的标准化了的实数值。在在输输出出变变量量传传送送给给D/AD/A

116、模模拟拟量量单单元元之之前前,必必须须把把回回路路输输出出变变量转换成相应的量转换成相应的1616位整数,从位整数,从AQWAQW送出去。送出去。pv(t)pv(n)Sp(n)M(n)M(t)是实数值标准化的逆过程:是实数值标准化的逆过程: 标准化的实数值(标准化的实数值(0.00.1)REAL INT2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(1)回路输出变量的刻度化回路输出变量的刻度化 标准化的实数值(标准化的实数值(0.00.1)REAL 标准化实数转换成实数的公式:RScal=(Mn-Offset)SpanRScal是回路输出的刻度实数值Mn是回路输出的标准化实数值O

117、ffset、Span定义同前2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院回路输出变量的刻度化的程序:回路输出变量的刻度化的程序:RScal=(Mn-Offset)SpanMOVRVD108,AC0把(Mn)移入累加器-R0.5,AC0对双极性,0ffset为0.5*R64000.0,AC0得 输 出 变 量 的 刻 度 值(REAL)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(2)将实数转换为)将实数转换为16位整数(位整数(INT) REAL INT ROUND AC0AC0 REAL DINTREAL DINT DTIAC0,AC0DINT INTDINT

118、 INT MOVWAC0,AQW0INT INT AQW0D/A2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(五)变量和范围(六)选择回路控制类型(七)出错条件2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院(八)PID指令编程举例水箱由水泵供水维持水箱的水位(0.75)控制水泵速度维持0.75水位变化的速度v变化的速度v2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院分析给定值给定值是水箱满水位的75%时的水位(0.75)过程变量过程变量由水位测量仪(A/D)提供( 单 极性)输出值输出值用来控制水泵的速度是最大允许值的0%100%(0.01.0)(

119、单 极性)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院选择比例和积分控制其回路增益和时间常数可以通过工程计算初步确定。进一步调整以达到最优控制效果。初步确定的回路增益和时间常数:KC=0.25 TS=0.1秒,秒, T1=30分钟分钟 TD=0。2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院手动方式手动方式启动时关闭出水口用手动方式控制水泵速度使水位达到满水位的75%2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院手动方式 自动方式控制开关自动方式:自动方式:打开出水口,打开出水口,合上控制开关(合上控制开关(I0.0)水泵控制从手动方式切换到自动方式(无扰动切换)水泵控制从手动方式切换到自动方式(无扰动切换)2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院水箱水位水箱水位PIDPID控制程序控制程序 2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院MAIN调用初始化子程序2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院SBR_0SPnKCTSTITD填入5个参数,设置定时中断2010.3江苏大学电气信息工程学院江苏大学电气信息工程学院INT_0AIW0:INTDINTREAL(0.0-0.1)VD100 执行PID指令 无扰动切换 :Mn、SPn、PVn-1、MX 2010.3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号