首页 自动化基础教材4

自动化基础教材4

举报
开通vip

自动化基础教材4第5章 应用指令5.1程序控制类指令5.2 特殊指令5.1程序控制类指令5.1.1 空操作5.1.2结束及暂停5.1.3 看门狗5.1.4 跳转5.1.5 子程序指令5.1.6 程序循环5.1.7 顺序控制继电器5.1.8 与ENO指令返回本章首页5.1.1 空操作NOP,空操作指令。使能输入有效时,执行空操作指令。空操作指令不影响用户程序的执行,操作数N是标号,是一个0~255的常数。指令格式:NOPN例:NOP30程序如下图5.1所示。返回本节5.1.2结束及暂停1.结束指令结束指令有两条:END和MEND。两...

自动化基础教材4
第5章 应用指令5.1程序控制类指令5.2 特殊指令5.1程序控制类指令5.1.1 空操作5.1.2结束及暂停5.1.3 看门狗5.1.4 跳转5.1.5 子程序指令5.1.6 程序循环5.1.7 顺序控制继电器5.1.8 与ENO指令返回本章首页5.1.1 空操作NOP,空操作指令。使能输入有效时,执行空操作指令。空操作指令不影响用户程序的执行,操作数N是标号,是一个0~255的常数。指令格式:NOPN例:NOP30程序如下图5.1所示。返回本节5.1.2结束及暂停1.结束指令结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。END,条件结束指令。使能输入有效时,终止用户主程序。MEND无条件结束指令。无条件终止用户程序的执行,返回主程序的第一条指令。用Micro/Win32编程时,编程人员不需手工输入MEND指令,而是由软件自动加在主程序结尾。指令格式:END(无操作数)2.暂停指令STOP,暂停指令。使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。指令的执行不考虑对特殊标志寄存器位和能流的影响。指令格式:STOP(无操作数)返回本节5.1.3 看门狗WDR,看门狗复位指令。当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。指令格式:WDR(无操作数)程序实例:指令STOP、END、WDR的应用如图5.2所示。图5.2 停止、结束、看门狗指令返回本节5.1.4 跳转1.跳转指令与跳转相关的指令有下面两条:(1)跳转指令JMP,跳转指令。使能输入有效时,使程序流程跳到同一程序中的指定标号n处执行。执行跳转指令时,逻辑堆栈的栈顶值总是1。(2)标号指令LBL,标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数n为0~255的字型数据。程序实例:如右图5.3所示。用增减计数器进行计数,如果当前值小于500,则程序按原顺序执行,若当前值超过500,则跳转到从标号10开始的程序执行。返回本节图5.3 程序跳转实例5.1.5 子程序指令建立子程序2.子程序调用3.带参数的子程序调用1.建立子程序可用编程软件Edit菜单中的Insert选项,选择Subroutine,以建立或插入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_n,编号n从0开始按递增顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。2.子程序调用(1)子程序调用和返回指令子程序调用子程序条件返回(2)注意事项(3)应用实例图5.4所示的程序实现用外部控制条件分别调用两个子程序。图5.4子程序调用举例(1)子程序参数变量名变量类型数据类型(2)参数子程序调用的规则(3)变量表使用(4)程序实例3.带参数的子程序调用以上面指令为例,局部变量表分配如表5.1所示,程序段如图5.5所示。表5.1局部变量表例图5.5带参数的子程序调用返回本节5.1.6 程序循环循环开始循环结束3.程序实例图5.6 程序循环(1)返回本节图5.6 程序循环(2)5.1.7 顺序控制继电器1.顺序继电器指令(1)定义顺序段(2)段开始(3)段结束(4)段转移2.注意事项3.顺序结构4.程序实例本例是用顺序继电器实现的顺序控制中的一个步的程序段,这一步实现的功能是使两个电机M1和M2起动运行20秒后停止,切换到下一步。程序如图5.7所示。返回本节5.1.8 与ENO指令AENO,与ENO指令。ENO是梯形图和功能框图编程时指令盒的布尔能流输出端。如果指令盒的能流输入有效,同时执行没有错误,ENO就置位,将能流向下传递。当用梯形图编程时,且指令盒后串联一个指令盒或线圈,语句表语言中用AENO指令描述。指令格式:AENO(无操作数)图5.8 与ENO指令AENO指令只能在语句表中使用,将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。程序如图5.8所示。返回本节5.2 特殊指令5.2.1 时钟指令5.2.2中断5.2.3 通信5.2.4 高速计数5.2.5 高速脉冲输出5.2.6 PID回路指令返回本章首页5.2.1 时钟指令1.读实时时钟TODR,读实时时钟指令。当使能输入有效时,系统读当前时间和日期,并把它装入一个8字节的缓冲区。2.写实时时钟TODW,写实时时钟指令。用来设定实时时钟。当使能输入有效时,系统将包含当前时间和日期,一个8字节的缓冲区将装入时钟。时钟缓冲区的格式如表5.2所示。表5.2 时钟缓冲区程序实例控制要求:编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟。时钟缓冲区从VB100开始。程序中的子程序SBR_0为写时钟子程序,将当前时间写入从VB100开始的8字节时间缓冲区,时间设置如下表5.3所示。程序实现:读写时钟程序如图5.9所示。图5.9 读写时钟返回本节5.2.2中断1.中断源(1)中断源及种类中断源,即中断事件发出中断请求的来源。S7-200可编程序控制器具有最多可达34个中断源,每个中断源都分配一个编号用以识别,称为中断事件号。这些中断源大致分为三大类:通信中断、输入输出中断和时基中断。(2)中断优先级中断优先级由高到低依次是:通信中断、输入输出中断、时基中断。每种中断中的不同中断事件又有不同的优先权。主机中的所有中断事件及优先级如表5.4所示。表5.4 中断事件及优先级2.中断调用即调用中断程序,使系统对特殊的内部或外部事件作出响应。系统响应中断时自动保存逻辑堆栈、累加器和某些特殊标志存储器位,即保护现场。中断处理完成时,又自动恢复这些单元原来的状态,即恢复现场。(1)中断调用指令(2)注意事项(3)程序实例(3)程序实例控制要求:程序实现的功能是调用I0.1输入点的上升沿中断,若发现I/O错误,则禁止本中断,用外部条件可以禁止全局中断。程序实现:本程序如图5.10所示。图5.10 中断调用程序3.中断程序(1)构成中断程序必须由三部分构成:中断程序标号、中断程序指令和无条件返回指令。(2)要求(3)编制方法(4)注意事项返回本节5.2.3 通信通信指令包括:XMT,自由口发送指令RCV,自由口接收指令NETR,网络读指令NETW,网络写指令GPA,获取口地址指令5.2.4 高速计数1.高速计数器介绍2.高速计数指令3.高速计数器的使用方法4.应用实例1.高速计数器介绍(1)数量及编号(2)中断事件类型(3)工作模式及输入点(1)数量及编号高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),HC表编程元件名称为高速计数器,n为编号。HCn除了表示高速计数器的编号之外,还代表两方面的含义:高速计数器位和高速计数器当前值。编程时,从所用的指令可以看出是位还是当前值。不同型号的PLC主机,高速计数器的数量对应如表5.7所示。(2)中断事件类型高速计数器的计数和动作可采用中断方式进行控制,与CPU的扫描周期关系不大,各种型号的PLC可用的高速计数器的中断事件大致分为3类:当前值等于预设值中断、输入方向改变中断和外部复位中断。所有高速计数器都支持当前值等于预设值中断。每个高速计数器的3种中断的优先级由高到低,不同高速计数器之间的优先级又按编号顺序由高到低。具体对应关系如表5.8所示。(3)工作模式及输入点工作模式输入端连接高速计数器的工作模式共有12种。以模式4为例,时序如图5.11所示。图5.11 模式4操作时序选用某个高速计数器在某种工作模式下工作,高速计数器的输入端不是任意选择,必须按系统指定的输入点。如表5.9所示。2.高速计数指令高速计数器指令有两条:HDEF和HSC。(1)HDEF指令HDEF,定义高速计数器指令。使能输入有效时,为指定的高速计数器分配一种工作模式,即用来建立高速计数器与工作模式之间的联系。梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为0~5的常数,字节型;MODE,工作模式,为0~11的常数,字节型。(2)HSC指令HSC,高速计数器指令。使能输入有效时,根据高速计数器特殊存储器位的状态,并按照HDEF指令指定的工作模式,设置高速计数器并控制其工作。梯形图指令盒数据输入端N:高速计数器编号,为0~5的常数,字型。每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能。具体对应关系如表5.11所示。3.高速计数器的使用方法每个高速计数器都有一个状态字节,程序运行时根据运行状况自动使某些位置位,可以通过程序来读相关位的状态,用以作为判断条件实现相应的操作。状态字节中各状态位的功能如表5.12所示。(1)选择计数器及工作模式(2)设置控制字节(3)执行HDEF指令(4)设定当前值和预设值(5)设置中断事件并全局开中断(6)执行HSC指令使用高速计数器时,要按以下步骤进行:表5.13控制位含义4.应用实例要对一高速事件精确控制,通过对脉冲信号进行增计数,计数当前值达到24产生中断,重新从0计数,对中断次数进行累计。计数方向用一个外部信号控制,并能实现外部复位。所用的主机型号为CPU221。设计步骤:①选择高速计数器HSC0,并确定工作方式4。②令SM37=16#F8③执行HDEF指令,输入端HSC为0,MODE为4。④装入当前值,令SMD38=0。⑤装入设定值,令SMD42=24。⑥执行中断连接ATCH指令,输入端INT为INT0,EVNT为10。主程序、初始化子程序和中断程序分别如图5.12、图5.13和图5.14所示。图5.12主程序图5.13 初始化子程序图5.14中断程序返回本节5.2.5 高速脉冲输出1.高速脉冲输出介绍(1)高速脉冲输出的形式(2)输出端子的确定(3)相关寄存器(4)脉冲输出指令每个高速脉冲发生器对应一定数量特殊标志寄存器,这些寄存器包括控制字节寄存器、状态字节寄存器和参数数值寄存器,用以控制高速脉冲的输出形式、反映输出状态和参数值。各寄存器分配如表5.14所示。l          状态字节每个高速脉冲输出都有一个状态字节,程序运行时根据运行状况自动使某些位置位,可以通过程序来读相关位的状态,用以作为判断条件实现相应的操作。状态字节中各状态位的功能如表5.15所示。         控制字节每个高速脉冲输出都对应一个控制字节,通过对控制字节中指定位的编程,可以根据操作要求设置字节中各控制位,如脉冲输出允许、PTO/PWM模式选择、单段/多段选择、更新方式、时间基准、允许更新等。控制字节中各控制位的功能如表5.16所示。2.高速脉冲串输出PTO(1)周期和脉冲数(2)PTO的种类(3)中断事件类型(4)PTO的使用(1)周期和脉冲数周期:单位可以是微秒μs或毫秒ms;为16位无符号数据,周期变化范围是50~65535μs或2~65535ms,通常应设定周期值为偶数,若设置为奇数,则会引起输出波形占空比的轻微失真。如果编程时设定周期单位小于2,系统默认按2进行设置。脉冲数:用双字长无符号数表示,脉冲数取值范围是1~4294967295之间。如果编程时指定脉冲数为0,则系统默认脉冲数为1个。(2)PTO的种类PTO方式中,如果要输出多个脉冲串,允许脉冲串进行排队,形成管线,当前输出的脉冲串完成之后,立即输出新脉冲串,这保证了脉冲串顺序输出的连续性。单段管线多段管线包络表由包络段数和各段构成。每段长度为8个字节,包括:脉冲周期值(16位)、周期增量值(16位)和脉冲计数值(32位)。以包络3段的包络表为例,包络表的结构如表5.17所示。(3)中断事件类型高速脉冲串输出可以采用中断方式进行控制,各种型号的PLC可用的高速脉冲串输出的中断事件有两个,如表5.18所示。(4)PTO的使用使用高速脉冲串输出时,要按以下步骤进行:确定脉冲发生器及工作模式设置控制字节写入周期值、周期增量值和脉冲数装入包络的首地址设置中断事件并全局开中断执行PLS指令3.应用实例(1)控制要求步进电机转动过程中,要从A点加速到B点后恒速运行,又从C点开始减速到D点,完成这一过程时用指示灯显示。电机的转动受脉冲控制,A点和D点的脉冲频率为2kHz,B点和C点的频率为10kHz,加速过程的脉冲数为400个,恒速转动的脉冲数为4000个,减速过程脉冲数为200个。工作过程如图5.15所示。图5.15 步进电机工作过程(2)分析确定脉冲发生器及工作模式设置控制字节写入周期值、周期增量值和脉冲数装入包络表首地址中断调用执行PLS指令(3)程序实现本控制系统主程序如下图5.16所示。初始化子程序SBR_1如图5.17所示。包络表子程序如图5.18所示。中断程序如图5.19所示。图5.16 主程序图5.17 初始化子程序SBR_1图5.18 包络表子程序SBR_0(1)图5.18 包络表子程序SBR_0(2)图5.19中断程序4.宽度可调脉冲输出PWM(1)周期和脉冲宽度(2)更新方式(3)PWM的使用返回本节5.2.6 PID回路指令PID算法2.PID指令3.应用实例1.PID算法1.PID算法如果一个PID回路的输出M(t)是时间的函数,则可以看作是比例项、积分项和微分项三部分之和。即:用数字计算机处理这样的控制算式,连续的算式必须周期采样进行离散化,同时各信号也要离散化,公式如下:MPn=Kc*(SPn-PVn)+Kc*Ts/Ti*(SPn-PVn)+MX+Kc*Td/Ts*(PVn-1-PVn)回路表初始化程序实例:如果Kc为0.4,Ts为0.2秒,Ti为30分钟,Td为15分钟,则可以建立一个子程序SBR0用来对回路表进行初始化。程序如图5.20所示。图5.20回路表初始化子程序SBR0PID,PID回路指令。使能输入有效时,该指令利用回路表中的输入信息和组态信息,进行PID运算。梯形图的指令盒中有2个数据输入端:TBL,回路表的起始地址,是由VB指定的字节型数据;LOOP,回路号,是0~7的常数。指令影响的特殊标志存储器位:SM1.1(溢出)。使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)。指令格式:PIDTBL,LOOP2.PID指令3.应用实例(1)控制要求有一水箱有一条进水管和一条出水管,进水管的水流量随时间不断变化,要求控制出水管阀门的开度,使水箱内的液位始终保持在水满时液位的一半。系统使用比例积分微分控制,假设采用下列控制参数值:Kc为0.4,Ts为0.2秒,Ti为30分钟,Td为15分钟。(2)分析本系统标准化时可采用单极性方案,系统的输入来自液位计的液位测量采样;设定值是液位的50%,输出是单极性模拟量用以控制阀门的开度,可以在0%~100%之间变化。(3)程序实现本程序的主程序如图5.21所示,回路表初始化子程序SBR0如图5.22所示,中断程序INT0如图5.23所示。图5.21 主程序图5.22 初始化子程序SBR1图5.23 中断子程序INT0(1)图5.23中断子程序INT0(2)返回本节THANKYOUVERYMUCH!本章到此结束,谢谢您的光临!返回本章首页结束
本文档为【自动化基础教材4】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
言言无悔一生
暂无简介~
格式:ppt
大小:920KB
软件:PowerPoint
页数:81
分类:
上传时间:2022-01-21
浏览量:0