好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第七章PLC功能指令(高级课堂).ppt

112页
  • 卖家[上传人]:鲁**
  • 文档编号:576199567
  • 上传时间:2024-08-19
  • 文档格式:PPT
  • 文档大小:2.99MB
  • / 112 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第7章章 PLC功能指令功能指令1学习幻灯 7.1.1数据传送• 数据处理指令包括数据传送指令,交换、填充指令,移位指令等•1. 单个数据传送 •LAD•STL              MOV IN,OUT                   //IN= OUT 2学习幻灯 数据块传送指令数据块传送指令把从输入(IN)指定地址的N个连续字节、字、双字的内容传送到从输出(OUT)指定地址开始的N个连续字节、字、双字的存储单元中去 MOVB IN,OUTMOVW IN,OUTMOVDW IN,OUTBLKMOV-DWENINOUTENONBLKMOV-WENINOUTENONBLKMOV-BENINOUTENON3学习幻灯 传送字节立即读、写指令传送字节立即写(BIW)指令,将从输入端(IN)指定字节地址的内容写入输出端(OUT)指定字节地址的物理输出点(QB)传送字节立即读(BIR)指令,读取输入端(IN)指定字节地址的物理输入点(IB)的值,并写入输出端(OUT)指定字节地址的存储单元中传送字节立即读传送字节立即读传送字节立即写传送字节立即写MOV-BIRENINOUTENOBIW IN,OUTMOV-BIWENINOUTENOBIR IN,OUT4学习幻灯 [例]将变量存储器VW100中内容送到VW200中。

       •                                        NETWORK 1•                            LD    I0.0 //使能输入•                             MOVW   VW100, VW200          •                              //VW100=VW200 5学习幻灯 移位指令 •移位指令分为:左、右移位和循环左、右移位及寄存器移位指令三大类•左、右移位和循环左、右移位指令按移位数据的长度又分为字节型、字型、双字型三种•左、右移位指令(SHL 、SHR )的功能:使能输入有效时,将输入的字节、字或双字(IN)左、右移N位后(右、左端补0),将结果输出到OUT所指定的存储单元中,最后一次移出位保存在SM1.1 •循环左、右移位指令(ROL 、ROR )的功能:使能输入有效时,字节、字或双字(IN)数据循环左移N位后,将结果输出到OUT所指定的存储单元中,并将最后一次移出位送SM1.1 6学习幻灯 移位指令•[例] 将VD0右移2位送AC0 • NETWORK 1•LD I0.0 //使能输入•MOVD VD0, AC0 //VD0=AC0•SRD AC0, 2 //AC0右移2位 •寄存器移位指令最大移位位数N≤数据类型(B、W、D)对应的位数,移位位数(次数)N为字节型数据。

      7学习幻灯 寄存器移位指令•寄存器移位指令是一个移位长度可指定的移位指令 •                                                   SHRB   I1.1, M1.0, +10 •功能:指令执行时,DATA位的值移入移位寄存器• S-BIT为寄存器的最低位,N为移位寄存器的长度(1~64)每次使能有效时,整个移位寄存器移动1位• N为正值时,左移位(由低位到高位),DATA值从S-BIT位移入,移出位进入SM1.1;•      N为负值时右移位(由高位到低位),S-BIT移出到SM1.1,高端补充DATA移入位的值 • 最高位的计算方法:(N 的绝对值-1+(S_BIT的位号))/8,余数即是最高位的位号,商与S_BIT的字节号之和即是最高位的字节号 8学习幻灯 7.1.2 算术、逻辑运算指令   算术运算指令 •                                                        IN1+IN2=OUT •                                                         IN1—IN2=OUT• 加减指令盒由指令类型,使能端EN,操作数(IN1、IN2)输入端,运算结果输出OUT,逻辑结果输出端ENO等组成。

       9学习幻灯 整数加法、减法、乘法、除法双整数加法、减法、乘法、除法整数完全乘法、除法实数加法、减法、乘法、除法10学习幻灯 7.1.3加法运算应用举例 •NETWORK 1•LD     I0.0      //装入常开触点•MOVW   VW100, VW200   //VW100 → VW200•+I     +100, VW200               //VW200+100=VW200 11学习幻灯 乘/除运算 • • 乘法运算 • 除法运算• MUL I/DIV I为整数乘/除运算,MUL DI/DIV DI双整数乘/除运算,MUL/DIV整数乘/除的结果双整数输出,MUL R/DVI R实数乘/除运算 • 指令执行的结果:乘法 IN1*IN2=OUT•                                      除法 IN1/IN2=OUT 12学习幻灯 [例]  乘/除法指令的应用 •NETWORK 1•LDN    I0.0         //装入常闭触点•*R     AC1, VD100   //实数乘法•/R     VD10, VD200  //实数除法 •运行结果: 13学习幻灯 数学函数变换指令 1. 平方根/自然对数/指数指令 •                                     SQRT IN,OUT•                                    //求平方根指令  SQRT(IN)=OUT •                                                    LN IN,OUT•                                                    //求(IN)的自然对数指令•                                                     LN(IN)=OUT •                                                     EXP IN,OUT• //求(IN)的指数指令EXP(IN)=OUT• 平方根(自然对数、指数)指令是把一个双字长(32位)的实数(IN)开方(取自然对数、取以e为底的指数),得到32位的实数运算结果,通过(OUT)指定的存储器单元输出。

      14学习幻灯 [例] 求以10为底,150的常用对数,150存于VD100,结果放到AC1(应用对数的换底公式求解) 当求解以10为底的常用对数时,用实数除法指令将自然对数除以2.302585即可LN10≈2.302585) •LD     I0.1                //使能输入•LN   VD100, AC1   //自然对数•                 //Ln(VD100)=AC1•LN   10.0, VD200   //自然对数•                 //Ln(10)=VD200/R  VD200, AC1 //实数除法指令•               //AC1/VD200=VD200 15学习幻灯 1. 平方根/自然对数/指数指令 •利用指数函数求解任意函数的x次方(yx=exlny)•例如:  7的4次方=EXP(4*LN(7))=2401   •        8的3次方根=8 ^ (1/3)=EXP (LN (8) *1/3 )=2•2. 三角函数  • SIN  IN,OUT      //SIN(IN)=OUT•   COS IN,OUT    // COS(IN)=OUT•TAN IN,OUT       //TAN(IN)=OUT16学习幻灯 [例]  求65o的正切值 •LDN    I0.0              //使能输入•MOVR   3.14159, AC0      //π装入AC0•/R     180.0, AC0          //得π/1800弧度• •*R     65.0, AC0           //将角度转化为弧度 •TAN    AC0, AC1        //求正切指令结果存放到AC1•3.数学函数变换指令对标志位的影响及操作数的寻址范围•(1)平方根/自然对数/指数/三角函数运算指令执行的结果影响特殊存储器位:SM1.0(零),SM1.1(溢出),SM1.2(负),SM1.3(被0除)。

      •(2)使能流输出ENO=0的错误条件是:SM1.1(溢出),SM4.3(运行时间),0006(间接寻址)•(3)IN、OUT操作数的数据类型为REAL,寻址范围见附表1 17学习幻灯 增1/减1计数 • 增1/减1计数器用于自增、自减操作,以实现累加计数和循环控制等程序的编制•                                                      字节、字、双字增1• OUT+1=OUT•                                                       字节、字、双字减1• OUT-1=OUT  18学习幻灯 7.1.4逻辑运算指令 • 逻辑运算是对无符号数进行的逻辑处理,主要包括逻辑与、逻辑或、逻辑异或和取反等运算指令• • 与(或、异或)指令功能:使能输入有效时,把两个字节(字、双字)长的输入逻辑数按位相与(或、异或) ,得到的一个字节(字、双字)逻辑运算结果,送到OUT指定的存储器单元输出。

      • 取反指令功能:使能输入有效时,将一个字节(字、双字)长的逻辑数按位取反,得到的一个字节(字、双字)逻辑运算结果,送到OUT指定的存储器单元输出 19学习幻灯 [例] 字或/双字异或/字求反/字节与操作编程举例 •NETWORK 1      •LD     I0.0•MOVW      LW10,  LW30          //LW 10=LW30•ORW    LW20, LW30      //字或操作 •NETWORK 2•LD     I0.1•MOVD   VD100, VD120•XORD   VD200, VD120    //双字异或操作 •NETWORK 3•LD     I0.2•MOVW   AC0, AC1•INVW   AC1             //字取反操作 •NETWORK 4•LD     I0.3•MOVB   AC0, AC1•ANDB   255, AC1        //字节与操作20学习幻灯 7.1.5 字节交换/填充指令 •1、字节交换指令(SWAY IN)•使能输入(EN)有效时,将输入字(IN)的高、低字节交换的结果输出到(IN)存储器单元。

      •2、字填充(FILL IN,OUT,N)•使能输入(EN)有效时,字型输入数据(IN)填充从输出(OUT)指定单元开始的N个字存储单元 N(BYTE)的数据范围0~255 21学习幻灯 [例]将从VW100开始的256个字节(128个字)存储单元清零 •NETWORK 1    • LD     I0.0              //使能输入• FILL   +0, VW100, 128   •                                                                                         //128个字填充0 •本条指令执行结果:从VW100开始的256个字节(VW100~VW354)的存储单元清零 22学习幻灯 7.2 表功能指令 •7.2.1 表存数指令•7.2.2 表取数指令  •7.2.3 表查找指令 返回本章首页返回本章首页23学习幻灯 •表只对字型数据存储,表的格式例如表所示 24学习幻灯 7.2.1 表存数指令 •ATT,表存数指令•该指令在梯形图中有2个数据输入端:DATA为数值输入,指出将被存储的字型数据或其地址;TBL表格的首地址,用以指明被访问的表格。

      当使能输入有效时,将输入字型数据添加到指定的表格中•表存数特点:•表存数时,新存的数据添加在表中最后一个数据的后面每向表中存一个数据,实际填表数EC会自动加125学习幻灯  指令 指令ATT执行结果执行结果 返回本节返回本节26学习幻灯 7.2.2 表取数指令 •1. FIFO,先进先出指令 •2. LIFO,后进先出指令 27学习幻灯 1. FIFO,先进先出指令 •当使能输入有效时,从TBL指明的表中移出第一个字型数据并将其输出到DATA所指定的字单元•FIFO表取数特点:•取数时,移出的数据总是最先进入表中的数据每次从表中移出一个数据,剩余数据依次上移一个字单元位置,同时实际填表数EC会自动减1•指令格式:FIFO TBL,  DATA•例:FIFO VW100,  AC0•如果仍是对表4.21存取,则指令执行情况如表4.23所示 28学习幻灯  指令 指令FIFO执行结果执行结果 29学习幻灯 2. LIFO,后进先出指令 •当使能输入有效时,从TBL指明的表中移出最后一个字型数据并将其输出到DATA所指定的字单元•LIFO表取数特点:•取数时,移出的数据是最后进入表中的数据每次从表中取出一个数据,剩余数据位置保持不变,实际填表数EC会自动减1。

      •指令格式:LIFO TBL,  DATA•例:LIFO VW100,  AC0•如果仍是对表存取,则指令执行情况如表所示30学习幻灯 指令指令LIFO执行结果执行结果返回本节返回本节31学习幻灯 7.2.3 表查找指令 •FND?,表查找指令通过表查找指令可以从字型数表中找出符合条件的数据所在的表中数据编号,编号范围为0~99•在梯形图中有4个数据输入端:TBL表格的首地址,用以指明被访问的表格;PTN是用来描述查表条件时进行比较的数据;CMD是比较运算符“?”的编码,它是一个1~4的数值,分别代表=、<>、<和>运算符;INDX用来指定表中符合查找条件的数据的地址32学习幻灯  表查找指令执行结果 表查找指令执行结果返回本节返回本节33学习幻灯 7.3 转换指令 •7.3.1 数据类型转换 •7.3.2 编码和译码 •7.3.3 七段码 •7.3.4 字符串转换 返回本章首页返回本章首页34学习幻灯 7.3.1 数据类型转换 •1. 字节与整数 •(1)字节到整数•(2)整数到字节 •2. 整数与双整数 •(1)双整数到整数 •(2)整数到双整数 3. 双整数与实数双整数与实数 ((1)实数到双整数)实数到双整数 ((2)双整数到实数)双整数到实数 4. 整数与整数与BCD码码 ((1))BCD码到整数码到整数 ((2)整数到)整数到BCD码码 5. 程序实例程序实例 35学习幻灯 1. 字节与整数 •(1)字节到整数•BTI,字节转换为整数指令。

      使能输入有效时,将字节输入数据IN转换成整数类型,并将结果送到OUT输出字节型是无符号的,所以没有符号扩展•使 能 流 输 出 ENO断 开 的 出 错 条 件 :SM4.3(运行时间);0006(间接寻址)•指令格式:BTI IN,  OUT•例:BTI VB0,  AC036学习幻灯 •(2)整数到字节•ITB,整数转换字节指令使能输入有效时,将整数输入数据IN转换成字节类型,并将结果送到OUT输出输入数据超出字节范围(0~255)则产生溢出•移位指令影响的特殊存储器位:SM1.1(溢出)•使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)•指令格式:ITBIN,  OUT•例:ITBAC0,  VB1037学习幻灯 2. 整数与双整数•(1)双整数到整数•DTI,双整数转换为整数指令使能输入有效时,将双整数输入数据IN转换成整数类型,并将结果送到OUT输出输入数据超出整数范围则产生溢出•移位指令影响的特殊存储器位:SM1.1(溢出)•使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)•指令格式:DTIIN,  OUT•例:DTIAC0,  VW2038学习幻灯 •(2)整数到双整数•ITD,整数转换为双整数指令。

      使能输入有效时,将整数输入数据IN转换成双整数类型(符号进行扩展),并将结果送到OUT输出•使 能 流 输 出 ENO断 开 的 出 错 条 件 :SM4.3(运行时间);0006(间接寻址)•指令格式:ITD IN,  OUT•例:ITD VW0,  AC039学习幻灯 3. 双整数与实数•(1)实数到双整数40学习幻灯 •(2)双整数到实数•DTR,双整数转换实数指令使能输入有效时,将双整数输入数据IN转换成实型,并将结果送到OUT输出•使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)•指令格式:DTRIN,  OUT•例: DTRAC0,  VD10041学习幻灯 4. 整数与BCD码•(1)BCD码到整数•BCDI,BCD码转换为整数指令使能输入有效时,将BCD码输入数据IN转换成整数类型,并将结果送到OUT输出输入数据IN的范围为0~9999•指令格式:BCDIOUT•例: BCDIAC0 42学习幻灯 •(2)整数到BCD码•IBCD,整数转换为BCD码指令使能输入有效时,将整数输入数据IN转换成BCD码类型,并将结果送到OUT输出输入数据IN的范围为0~9999。

      •指令格式:IBCDOUT•例:  IBCDAC043学习幻灯 5. 程序实例•功能:•模拟量控制程序中的数据类型转换将模拟量输入端采样值由整数转换为双整数,然后由双整数转换为实数,再除以一个比例因子得到PLC可以处理的范围内的值•程序实现:•本程序如图所示返回本节返回本节44学习幻灯 7.3.2 编码和译码 •1. 编码•ENCO,编码指令使能输入有效时,将字型输入数据IN的最低有效位(值为1的位)的位号输出到OUT所指定的字节单元的低4位即用半个字节来对一个字型数据16位中的1位有效位进行编码•使 能 流 输 出 ENO断 开 的 出 错 条 件 :SM4.3(运行时间);0006(间接寻址)•指令格式:ENCOIN,  OUT•例:ENCOAC0,  VB045学习幻灯 •以本指令为例,指令执行情况如表所示 编码指令执行结果 编码指令执行结果46学习幻灯 •2. 译码•DECO,译码指令使能输入有效时,将字节型输入数据IN的低4位所表示的位号对OUT所指定的字单元的对应位置1,其他位置0即对半个字节的编码进行译码来选择一个字型数据16位中的1位•使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。

      •指令格式:DECOIN,  OUT•例:DECOVB0,  AC0•本指令执行情况如表所示47学习幻灯 返回本节返回本节译码指令执行结果48学习幻灯 7.3.3 七段码 •SEG,七段码指令使能输入有效时,将字节型输入数据IN的低4位有效数字产生相应的七段码,并将其输出到OUT所指定的字节单元返回本节返回本节49学习幻灯 7.3.4 字符串转换 •1. 指令种类•(1)ASCII码转换16进制指令•(2)16进制到ASCII码•(3)整数到ASCII码•(4)双整数到ASCII码•(5)实数到ASCII码50学习幻灯 •2. 指令介绍•下面仅以ASCII码转换16进制指令为例说明字符串与其他数据类型之间的转换•ATH,ASCII码转换16进制指令指令盒中有3个操作数:IN,开始字符的字节地址,字节类型;LEN,字符串的长度,字节类型,最大长度为255;OUT,输出目的开始字节地址,字节类型使能输入有效时,把从IN开始的长度为LEN的ASCII码转换为16进制数,并将结果送到OUT开始的字节进行输出51学习幻灯 •3. 程序实例•以上面的指令为例,条指令的执行结果如表所示,程序如图所示。

       指令 指令ATH执行结果执行结果52学习幻灯  字符串转换 字符串转换返回本节返回本节53学习幻灯 7.4 特殊指令•7.4.1 时钟指令 •7.4.2    中断 •7.4.3 通信 •7.4.4 高速计数 •7.4.5 高速脉冲输出 •7.4.6 PID回路指令 54学习幻灯 7.4.1 时钟指令•1. 读实时时钟•TODR,读实时时钟指令当使能输入有效时,系统读当前时间和日期,并把它装入一个8字节的缓冲区 •2. 写实时时钟•TODW,写实时时钟指令用来设定实时时钟当使能输入有效时,系统将包含当前时间和日期,一个8字节的缓冲区将装入时钟 55学习幻灯 • 时钟缓冲区 时钟缓冲区时钟缓冲区的格式如表所示时钟缓冲区的格式如表所示 56学习幻灯 •程序实例•控制要求:•编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟时钟缓冲区从VB100开始•程序中的子程序SBR_0为写时钟子程序,将当前时间写入从VB100开始的8字节时间缓冲区,时间设置如下表所示程序实现:读写时钟程序如图所示57学习幻灯 • 读写时钟 读写时钟返回本节返回本节58学习幻灯 7.4.2  中断 •1. 中断源中断源•(1)中断源及种类•中断源,即中断事件发出中断请求的来源。

      S7-200可编程序控制器具有最多可达34个中断源,每个中断源都分配一个编号用以识别,称为中断事件号这些中断源大致分为三大类:通信中断、输入输出中断和时基中断59学习幻灯 •(2)中断优先级 •中断优先级由高到低依次是:通信中断、输入输出中断、时基中断每种中断中的不同中断事件又有不同的优先权•主机中的所有中断事件及优先级如表5.4所示60学习幻灯 •表表5.4 中断事件及优先级 中断事件及优先级61学习幻灯 62学习幻灯 •2. 中断调用中断调用•即调用中断程序,使系统对特殊的内部或外部事件作出响应系统响应中断时自动保存逻辑堆栈、累加器和某些特殊标志存储器位,即保护现场中断处理完成时,又自动恢复这些单元原来的状态,即恢复现场•(1)中断调用指令•(2)注意事项•(3)程序实例63学习幻灯 •(3)程序实例•控制要求:•程序实现的功能是调用I0.1输入点的上升沿中断,若发现I/O错误,则禁止本中断,用外部条件可以禁止全局中断•程序实现:本程序如所示• 中断调用程序 中断调用程序64学习幻灯 •3. 中断程序•(1)构成•中断程序必须由三部分构成:中断程序标号、中断程序指令和无条件返回指令。

      •(2)要求•(3)编制方法•(4)注意事项返回本节返回本节65学习幻灯 7.4.3 高速计数 •1. 高速计数器介绍•2. 高速计数指令 •3. 高速计数器的使用方法 •4.  应用实例 66学习幻灯 1. 高速计数器介绍•(1)数量及编号•(2)中断事件类型 •(3)工作模式及输入点 67学习幻灯 •(1)数量及编号•高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),HC表编程元件名称为高速计数器,n为编号•HCn除了表示高速计数器的编号之外,还代表两方面的含义:高速计数器位和高速计数器当前值编程时,从所用的指令可以看出是位还是当前值•不同型号的PLC主机,高速计数器的数量对应如表所示68学习幻灯 •(2)中断事件类型•高速计数器的计数和动作可采用中断方式进行控制,与CPU的扫描周期关系不大,各种型号的PLC可用的高速计数器的中断事件大致分为3类:当前值等于预设值中断、输入方向改变中断和外部复位中断所有高速计数器都支持当前值等于预设值中断•每个高速计数器的3种中断的优先级由高到低,不同高速计数器之间的优先级又按编号顺序由高到低具体对应关系如表所示69学习幻灯 •(3)工作模式及输入点•  工作模式 •  输入端连接 •高速计数器的工作模式共有12种。

      以模式4为例,时序如图7.11所示70学习幻灯 • 模式 模式4操作时序操作时序71学习幻灯 •选用某个高速计数器在某种工作模式下工作,选用某个高速计数器在某种工作模式下工作,高速计数器的输入端不是任意选择,必须按系统高速计数器的输入端不是任意选择,必须按系统指定的输入点如表所示指定的输入点如表所示72学习幻灯 2. 高速计数指令 •高速计数器指令有两条:HDEF和HSC•(1)HDEF指令•HDEF,定义高速计数器指令使能输入有效时,为指定的高速计数器分配一种工作模式,即用来建立高速计数器与工作模式之间的联系梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为0~5的常数,字节型;MODE,工作模式,为0~11的常数,字节型73学习幻灯 •(2)HSC指令•HSC,高速计数器指令使能输入有效时,根据高速计数器特殊存储器位的状态,并按照HDEF指令指定的工作模式,设置高速计数器并控制其工作梯形图指令盒数据输入端N:高速计数器编号,为0~5的常数,字型74学习幻灯 •每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能具体对应关系如表所示3. 高速计数器的使用方法高速计数器的使用方法 75学习幻灯 •每个高速计数器都有一个状态字节,程序运行时根据运行状况自动使某些位置位,可以通过程序来读相关位的状态,用以作为判断条件实现相应的操作。

      状态字节中各状态位的功能如表所示76学习幻灯 •(1)选择计数器及工作模式 •(2)设置控制字节 •(3)执行HDEF指令 •(4)设定当前值和预设值 •(5)设置中断事件并全局开中断 •(6)执行HSC指令 使用高速计数器时,要按以下步骤进行:77学习幻灯 •表 控制位含义78学习幻灯 4. 应用实例 •要对一高速事件精确控制,通过对脉冲信号进行增计数,计数当前值达到24产生中断,重新从0计数,对中断次数进行累计计数方向用一个外部信号控制,并能实现外部复位所用的主机型号为CPU221•设计步骤:•①选择高速计数器HSC0,并确定工作方式4②令SM37=16#F8 ③执行HDEF指令,输入端HSC为0,MODE为4④装入当前值,令SMD38=0⑤装入设定值,令SMD42=24⑥执行中断连接ATCH指令,输入端INT为INT0,EVNT为10 79学习幻灯 •主程序、初始化子程序和中断程序分别如图所示•主程序主程序80学习幻灯 • 初始化子程序 初始化子程序81学习幻灯 •中断程序中断程序返回本节返回本节82学习幻灯 7.2.5 高速脉冲输出 •1. 高速脉冲输出介绍•(1)高速脉冲输出的形式 •(2)输出端子的确定 •(3)相关寄存器 •(4)脉冲输出指令 83学习幻灯 •每个高速脉冲发生器对应一定数量特殊标志寄存器,这些寄存器包括控制字节寄存器、状态字节寄存器和参数数值寄存器,用以控制高速脉冲的输出形式、反映输出状态和参数值。

      各寄存器分配如表所示84学习幻灯 •l           状态字节•每个高速脉冲输出都有一个状态字节,程序运行时根据运行状况自动使某些位置位,可以通过程序来读相关位的状态,用以作为判断条件实现相应的操作状态字节中各状态位的功能如表所示85学习幻灯 •          控制字节•每个高速脉冲输出都对应一个控制字节,通过对控制字节中指定位的编程,可以根据操作要求设置 字 节 中 各 控 制 位 , 如 脉 冲 输 出 允 许 、PTO/PWM模式选择、单段/多段选择、更新方式、时间基准、允许更新等控制字节中各控制位的功能如表所示86学习幻灯 2. 高速脉冲串输出PTO•(1)周期和脉冲数•(2)PTO的种类•(3)中断事件类型•(4)PTO的使用87学习幻灯 (1)周期和脉冲数•周期:单位可以是微秒μs或毫秒ms;为16位无符号数据,周期变化范围是50~65535μs或2~65535ms,通常应设定周期值为偶数,若设置为奇数,则会引起输出波形占空比的轻微失真如果编程时设定周期单位小于2,系统默认按2进行设置•脉冲数:用双字长无符号数表示,脉冲数取值范围是1~4294967295之间如果编程时指定脉冲数为0,则系统默认脉冲数为1个。

      88学习幻灯 (2)PTO的种类•PTO方式中,如果要输出多个脉冲串,允许脉冲串进行排队,形成管线,当前输出的脉冲串完成之后,立即输出新脉冲串,这保证了脉冲串顺序输出的连续性ü单段管线 ü多段管线 89学习幻灯 •包络表由包络段数和各段构成每段长度为8个字节,包括:脉冲周期值(16位)、周期增量值(16位)和脉冲计数值(32位)以包络3段的包络表为例,包络表的结构如表所示90学习幻灯 (3)中断事件类型•高速脉冲串输出可以采用中断方式进行控制,各种型号的PLC可用的高速脉冲串输出的中断事件有两个,如表所示91学习幻灯 (4)PTO的使用•使用高速脉冲串输出时,要按以下步骤进行:ü  确定脉冲发生器及工作模式 ü 设置控制字节ü 写入周期值、周期增量值和脉冲数ü装入包络的首地址ü设置中断事件并全局开中断ü执行PLS指令92学习幻灯 3. 应用实例•(1)控制要求•步进电机转动过程中,要从A点加速到B点后恒速运行,又从C点开始减速到D点,完成这一过程时用指示灯显示电机的转动受脉冲控制,A点和D点的脉冲频率为2kHz,B点和C点的频率为10kHz,加速过程的脉冲数为400个,恒速转动的脉冲数为4000个,减速过程脉冲数为200个。

      •工作过程如图5.15所示93学习幻灯 • 步进电机工作过程 步进电机工作过程94学习幻灯 •(2)分析Ø确定脉冲发生器及工作模式 Ø设置控制字节 Ø写入周期值、周期增量值和脉冲数 Ø装入包络表首地址 Ø中断调用 Ø执行PLS指令 95学习幻灯 •(3)程序实现•本控制系统主程序如下图所示初始化子程序SBR_1如图所示包络表子程序如图5.18所示中断程序如图所示• 主程序 主程序96学习幻灯 • 初始化子程序 初始化子程序SBR_197学习幻灯 •图图  包包络络表表子子程程序序SBR_0 (( 1 ))98学习幻灯 • 包络表子程序 包络表子程序SBR_0((2))•图图 中断程序中断程序99学习幻灯 4. 宽度可调脉冲输出PWM •(1)周期和脉冲宽度 •(2)更新方式 •(3)PWM的使用 返回本节返回本节100学习幻灯 7.4.6 PID回路指令 1.PID算法 2.2. PID指令 3.3. 应用实例 101学习幻灯 1. PID算法 •1. PID算法算法•如果一个PID回路的输出M(t)是时间的函数,则可以看作是比例项、积分项和微分项三部分之和即:•用数字计算机处理这样的控制算式,连续的算式必须周用数字计算机处理这样的控制算式,连续的算式必须周期采样进行离散化,同时各信号也要离散化,公式如下:期采样进行离散化,同时各信号也要离散化,公式如下:•MPn=Kc*(SPn-PVn)+Kc*Ts/Ti*(SPn-PVn)+MX+Kc*Td/Ts*(PVn-1-PVn)102学习幻灯 •回路表初始化程序实例:•如果Kc为0.4,Ts为 0.2秒 , Ti为30分钟,Td为15分钟,则可以建立一个子程序SBR0用来对回路表进行初始化。

      程序如图5.20所示•图图 回路表初始化子程序回路表初始化子程序SBR0103学习幻灯 •PID,PID回路指令使能输入有效时,该指令利用回路表中的输入信息和组态信息,进行PID运算梯形图的指令盒中有2个数据输入端:TBL,回路表的起始地址,是由VB指定的字节型数据;LOOP,回路号,是0~7的常数•指令影响的特殊标志存储器位:SM1.1(溢出)•使 能 流 输 出 ENO断 开 的 出 错 条 件 :SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)•指令格式:PIDTBL,  LOOP2. PID指令 104学习幻灯 3. 应用实例 •(1)控制要求•有一水箱有一条进水管和一条出水管,进水管的水流量随时间不断变化,要求控制出水管阀门的开度,使水箱内的液位始终保持在水满时液位的一半系统使用比例积分微分控制,假设采用下列控制参数值:Kc为0.4,Ts为0.2秒,Ti为30分钟,Td为15分钟•(2)分析•本系统标准化时可采用单极性方案,系统的输入来自液位计的液位测量采样;设定值是液位的50%,输出是单极性模拟量用以控制阀门的开度,可以在0%~100%之间变化•(3)程序实现•本程序的主程序如图所示,回路表初始化子程序SBR0如图5.22所示,中断程序INT0如图5所示。

      105学习幻灯 •图 主程序图 主程序•图图  初初始始化化子子程程序序SBR1106学习幻灯 •图图  中中断断子子程程序序INT0 (( 1 ))107学习幻灯 •图图 中断子程序中断子程序INT0((2))返回本节返回本节108学习幻灯 THANK YOU VERY MUCH !•本章到此结束,•谢谢您的光临!返回本章首页返回本章首页结结 束束109学习幻灯 带参数的子程序调用指令 • 子程序可能有要传递的参数(变量和数据),这时可以在子程序调用指令中包含相应参数,它可以在子程序与调用程序之间传送 •带参数子程序调用指令示例 •局部变量表中的变量有IN、OUT、•IN/OUT和TEMP等4种类型•子程序最多可传递6个参数,传递•的参数在子程序局部变量表中定义•EN和IN1的输入为布尔型能流输入,•地址参数&VB100是将一个双字•无符号的值传递到子程序•子程序调用时,输入参数被拷贝到局部存储器子程序完成时,从局部存储器拷贝输出参数到指定的输出参数地址 110学习幻灯 带参数的子程序调用指令 • 局部变量表 •IN类型:将指定位置的参数传入子程序 •OUT类型:从子程序的结果值(数据)传入到指定参数位置。

      •IN/OUT类型:将指定位置的参数传到子程序,从子程序来的结果值被返回到同样的地址•TEMP类型:局部存储器只用作子程序内部的暂时存储器,不能用来传递参数 111学习幻灯 第七章  小  结•本章介绍了SIMATIC指令集LAD和STL编程语言的四大类基本操作指令的指令格式、原理分析和使用方法•1. 运算指令包括算术运算和逻辑运算两大类算术运算有加、减、乘、除运算和常用的数学函数变换;逻辑运算包括逻辑与、或指令和取反指令等•2. 数据处理指令包括数据的传送指令,交换、填充指令,移位指令等•3 .特殊功能指令的使用112学习幻灯 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.