分享
分享赚钱 收藏 举报 版权申诉 / 155

类型第4章 应用指令1.ppt

  • 上传人:fmgc7290
  • 文档编号:8306379
  • 上传时间:2019-06-19
  • 格式:PPT
  • 页数:155
  • 大小:4.79MB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第4章 应用指令1.ppt
    资源描述:

    1、第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与ENO指令,返回本章首页,5.1.1 结束及暂停,1. 结束指令 结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。END,条件结束指令。使能输入有效时,终止用户主程序。 MEND无条件结束指令。无条件终止用户程序的执行,返回主程序的第一条指令。 用Micro/Win32编程时,编程人员不需手工输入MEND指令,而是由软件自动加在主程序结尾

    2、。指令格式:END (无操作数),2. 暂停指令 STOP,暂停指令。使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。 STOP指令在梯形图中以线圈形式编程。指令不含操作数。指令的执行不考虑对特殊标志寄存器位和能流的影响。 指令格式:STOP (无操作数),返回本节,5.1.2 看门狗,WDR,看门狗复位指令。当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。 S7的看门狗WDR的设定值为300ms,有时在循环或调用子程序,响应中断服务程序时,扫描时间超过300ms, WDR会认为出错。 可用本指令可用以延长扫描周期,从

    3、而可以有效避免看门狗超时错误。 指令格式:WDR (无操作数) 程序实例:指令STOP、END、WDR的应用如图5.2所示。,图5.1 停止、结束、看门狗指令,返回本节,5.1.3 跳转,1. 跳转指令 与跳转相关的指令有下面两条: (1)跳转指令 JMP,跳转指令。使能输入有效时,使程序流程跳到同一程序中的指定标号n处执行。执行跳转指令时,逻辑堆栈的栈顶值总是1。 (2)标号指令 LBL,标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数n为0255的字型数据。,程序实例:,某生产线对产品进行加工处理,同时用增减计数器对成品进行计数,如果检测到100个成品就要跳过某些控制程序直

    4、接进入小包装控制程序;若检测到900个成品,则程序跳转到大包装控制程序。 程序如下:,图5.2 程序跳转实例,5.1.4 子程序指令,编写子程序的步骤 1 .建立子程序 2. 编写子程序 3.在主程序、其他子程序、或中断程序中调用子程序(带参数的子程序),1. 建立子程序,可用编程软件Edit菜单中的Insert选项,选择Subroutine,以建立或插入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_n,编号n从0开始按递增顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。,2. 子程序调用,(1)子程序调用和返回指令

    5、子程序调用 子程序条件返回 (2)注意事项 可有64个子程序,可以嵌套子程序,最大嵌套深度为8 子程序内不能用END指令 不允许直接递归(自己调用自己),可间接递归(3)应用实例,图5.3所示的程序实现用外部控制条件分别调用两个子程序。,图5.3 子程序调用举例,(1)子程序参数-最多可带16个参数,每个参数包含: 变量名 变量类型 (IN类型、IN/OUT、OUT) 数据类型 (位、字节、字、双字、实型) (2)参数子程序调用的规则 参数与局部变量表的定义相匹配 参数顺序是:输入,输入/输出,输出 (3)程序实例,3. 带参数的子程序调用,图5.5 带参数的子程序调用,返回本节,以上面指令为

    6、例,局部变量表分配如表5.1所示,程序段如图5.5所示。,表5.1 局部变量表例,例题,三段传送带的启动和停止控制,如图按启动按钮,M1运行,SQ1检测到工件到来,启动M2 当SQ2检测到工件离开,M1停 当SQ3检测到工件到来,启动M3 当SQ4检测到工件离开,M2停 当SQ5检测到工件到来,停M3 按停止按钮,可随时停,分析:三个传送带电机的控制完全动作相同 M1:启动-启动按钮;停-停止按钮,SQ2 M2:启动-SQ1;停-停止按钮,SQ4 M3:启动- SQ3 ;停-停止按钮,SQ6 可以用带参数的子程序编程,5.1.5 程序循环,1.循环开始FOR 每执行一次循环计数值加1,当计数值

    7、大于终值,则循环终止。 2.循环结束 NEXT 3. 程序实例,计数值 初值 终值,图5.6 程序循环(1),返回本节,图5.6 程序循环(2),5.1.7 顺序控制继电器 (p162),顺序控制继电器S是专门用于编写顺序控制程序(常称为步进控制)的。 所谓顺序控制,使生产过程按生产工艺的要求预先安排的顺序自动地进行生产的控制方式。 一个步进控制程序是由若干个SCR段组成,每个SCR段对应步进控制中的一个功能控制步。,1. 顺序继电器指令 (1)段开始指令 功能:标记一个SCR段的开始,操作数是顺序继电器Sx.y(如S0.0)。 当顺序继电器Sx.y=1启动SCR x.y的顺序程序。即允许该S

    8、CR段工作。 (2)段转移 功能:是当Sx.y=1,将当前的SCR段停止,切换到下一个SCR。其操作数为下一个SCR的标志位(如S0.1) (3)段结束 功能:标记一个段的结束。,Sn,本例是用顺序继电器实现的顺序控制中的一个步的程序段,这一步实现的功能是使两个电机M1和M2起动运行20秒后停止,切换到下一步。 程序如图5.7所示。,返回本节,2. 程序实例,3. 结构形式,(1)顺序结构 (2)分支结构 选择性分支 并发性分支 (3)循环结构 (4)复合结构,各顺序控制段的转换不带分支和汇合的顺控过程。 将复杂的控制分解若干个独立控制功能步,用方框表示,根据动作顺序用箭头将各方框连接起来,在

    9、相邻的两步之间用段横线表示转换条件。在每步的右边画上要执行的控制程序。,I0.0,I0.1,I0.2,(1)顺序结构,顺序结构举例,5.1.7 顺序控制继电器指令,顺序结构程序实例,根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2s后绿灯亮,再过3s后黄灯亮。待红、绿、黄灯全亮3min后,全部熄灭。程序如图5-29所示。 说明:每一个SCR程序段中均包含三个要素: 1)输出对象:在这一步序中应完成的动作; 2)转移条件:满足转移条件后,实现SCR段的转移; 3)转移目标:转移到下一个步序。,程序实例,根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2s后绿灯亮,再

    10、过3s后黄灯亮。待红、绿、黄灯全亮3min后,全部熄灭。程序如下图所示。 分析:控制可分四步 1)按启动按钮-灯都不亮时,红灯亮2s-T37;2)时间到 T37=1-绿灯亮3s- T38; 3)时间到 T38=1-黄灯亮3min- T39 4)时间到 T39=1-灯全灭,LD I0.1 AN Q0.0 AN Q0.1 AN Q0.2 /在初始状态下起动,置 S S0.1,1 /S0.1=1 LSCR S0.1 /S0.1=1,激活第一SCR程序段,/进入第一步序 LD SM0.0 S Q0.0,1 /红灯亮,并保持 TON T37,+20 /启动2s定时器LD T37/2s后程序转移到第二SC

    11、R段, SCRT S0.2 /(S0.2=1,S0.1=0) SCRE / 第一SCR段结束 LSCR S0.2 /S0.2=1,激活第二SCR程序段,/进入第二步序LD SM0.0 S Q1.1 /绿灯亮,并保持 TON T38,+30 /启动3s定时器,LD I0.1,LD T38/3s后程序转移到第三SCR段, SCRT S0.3 /(S0.3=1,S0.2=0) SCRE /第二SCR段结束 LSCR S0.3 /S0.3=1,激活第三SCR程序段,/进入第三步序LD SM0.0 S Q0.2,1 /黄灯亮,并保持 TON T39,+1800 /启动3min定时器LD T39/3min

    12、后程序转移到第四SCR段, SCRT S0.4 /(S0.4=1,S0.3=0) SCRE /第三SCR段结束 LSCR S0.4 /S0.4=1,激活第四SCR程序段,/进入第四步序 LD SM0.0 R S0.1,4 R Q0.0,3 /红、绿、黄灯全灭 SCRE /第四SCR段结束,图5-29 SCR指令编程,返回,(2)分支结构,图5.9 选择性分支,1)选择分支 执行完1步,当A或D或G或I为1,1步复位,2或4或6或7开始执行; 8步执行,由C或F或H或J为1决定,执行时顺序继电器置1,3、5、6、7顺序继电器复位,2)并发性分支 当A为1,1步复位,2467同时置位开始工作。为提

    13、高工作效率,各支路的工作时间尽量接近一致。,图5.10 并发性分支,用水平双线表示并行分支开始和结束。,(3)循环结构,循环结构用于一个顺序过程的多次或往复执行。功能图画法如图5.11所示,这种结构可看作是选择性分支结构的一种特殊情况。,图5.11 循环结构,(4)复合结构,图5.12 功能流程图举例,返回本节,几种结构组合,练习 全自动洗衣机的自动控制,组成:洗衣桶(外桶)和脱水桶(内筒) 原理:进水和排水分别由进水阀和排水阀执行 洗涤电机驱动波盘正、反转实现,此时脱水桶不转,脱水时将离合器合上,洗涤电机正转带动脱水桶甩干。高低水位控制开关来检测高低水位。起动按钮起动洗衣机工作,停止按钮用来

    14、实现手动停止进水、排水、脱水及报警,排水按钮用来实现手动排水。洗完要有报警。,Q0.4,Q0.5,由控制要求画出顺序控制功能图,控制要求: 1按起动按钮,洗衣机开始进水; 2水满(高水位)停进水; 3开始洗涤正转15s,暂停3s; 4反转洗涤15s,暂停3s; 5重复3次动作3、4后,开始排水; 6水位低,开始脱水并继续排水; 7脱水10s; 8重复17过程3次,洗完报 警10s结束,停机。,起动,I0.0,I0.3,(Q0.0),(Q0.1),(Q0.3),(Q0.4),(Q0.5),S0.0,S0.1,S0.2,S0.4,S0.3,(Q0.2 ),T37,T38,(Q0.3),S0.5,5

    15、.1.8 与ENO指令,AENO,与ENO指令。ENO是梯形图和功能框图编程时指令盒的布尔能流输出端。如果指令盒的能流输入有效,同时执行没有错误,ENO就置位,将能流向下传递。当用梯形图编程时,且指令盒后串联一个指令盒或线圈,语句表语言中用AENO指令描述。 指令格式:AENO(无操作数),图5.13 与ENO指令,AENO指令只能在语句表中使用,将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。程序如图5.13所示。,返回本节,5.2 特殊指令,5.2.1 时钟指令 5.2.2 中断 5.2.3 高速计数 5.2.4 高速脉冲输出 5.2.5 PID回路指令 5.2.6 通信,返回本章首页

    16、,5.2.1 时钟指令,1. 读实时时钟 TODR,读实时时钟指令。当使能输入有效时,系统读当前时间和日期,并把它装入一个8字节的缓冲区。(BCD码形式) 2. 写实时时钟 TODW,写实时时钟指令。用来设定实时时钟。当使能输入有效时,系统将包含当前时间和日期,一个8字节的缓冲区将装入时钟。,VB300,首地址,VB300,表5.2 时钟缓冲区格式,程序实例 控制要求: 编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟。时钟缓冲区从VB100开始。 程序中的子程序SBR_0为写时钟子程序,将当前时间写入从VB100开始的8字节时间缓冲区,时间设置如下表5.3所示。程序实现:读写时钟程序

    17、如图5.9所示。,09 11 20 10 45 18 0 3,LD I0.4 /装入触点 EU /上跳沿触发 CALL SBR_0 /调用子程序LD SM0.0 /运行有效 TODR VB100 / 从VB100 /读时钟值 MOVB VB104, VB0 /传送指令SEG VB0,QB0 /将分钟值低位/从QB0输出SRB VB0,4 /右移4位SEG VB0,QB1 /将分钟值低位/从QB1输出,子程序SBR_0 /作用为写时钟,5.2.2 中断,1. 中断源 (1)中断源及种类 中断源,即中断事件发出中断请求的来源。S7-200可编程序控制器具有34个中断源,每个中断源都分配一个编号用以

    18、识别,称为中断事件号。这些中断源大致分为三大类:通信中断、输入输出中断和时基中断。,(2)中断优先级 中断优先级由高到低依次是:通信中断、输入输出中断、时基中断。每种中断中的不同中断事件又有不同的优先权。 主机中的所有中断事件及优先级如表5.4所示。,表5.4 中断事件及优先级,2. 中断操作指令 包括: (1)开中断指令ENI-全局开放所有被连接的中断事件 (2)关中断指令DISI-全局关断所有被连接的中断事件 (3)中断连接指令ATCH 功能:建立一个中断事件EVNT与一个标号为INTn中断服务程序联系,并对该中断事件开放。,(4)中断分离指令DTCH 功能:取消某个中断事件EVNT与所有

    19、中断程序的关联,并对该事件关中断。 (5)中断返回指令RETI和CRET 注意事项中断服务程序中,不能使用开中断指令ENI、关中断指令DISI、定义高速计数器指令HDEF、步进开始指令LSCR、条件结束指令END。 程序实例,有条件返回,无条件返回,(3)程序实例 控制要求: 程序实现的功能是用I0.4开放I0.1输入点的上升沿中断,若发现I/O错误,则禁止本中断,用外部条件I0.5可以禁止全局中断。 程序实现:本程序如图5.10所示。,图5.10 中断调用程序,3. 中断程序 (1)构成 中断程序必须由三部分构成:中断程序标号、中断程序指令和无条件返回指令。 (2)编制方法 建立中断程序IN

    20、T n 在INT n中编写其服务程序 编写中断连接指令 允许中断,返回本节,模拟量数据采集和显示实例,温度检测系统,测温元件热电阻Pt100测温范围0200度(电流型),用EM235模块,测量并显示。 分析: 0200度 对应 420mA数字量 想知道实际温度对应的数字量和模拟量如何求?,32000,(32000/20)*4=6400,测量的实际温度=(AIW-6400)(200-0)/(32000-6400)+0,数据采集: 应确定采样周期,依据香农定理 需要定时采样模拟量的输入。 可以采用定时中断-中断服务程序里进行采集数据和换算 用定时中断0, SM34 ,设定100ms 主程序完成初始

    21、化和显示任务 见程序,定时中断0,设定100ms,在中断服务程序中进行数据采集和变换,温度模拟量数据采集实例 0200度范围,测量的实际温度=(AIW-6400)/(32000-6400)/200,6400,128,5.2.3 高速计数,高速计数器HSC-High-speed counter 1. 高速计数器介绍 2. 高速计数指令 3. 高速计数器的使用方法 4. 应用实例,1. 高速计数器介绍,普通计数器是按照顺序扫描的方式进行工作,每个扫描周期中,对计数脉冲值进行一次累加,当输入脉冲的频率比PLC扫描频率高时,则不能准确计数。可用高速计数器。 高速计数器最大计数频率可达20kHz,主要用

    22、于电机转速的检测,距离检测等。 (1)数量及编号 高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),HC表示编程元件名称为高速计数器,n为编号。,HCn除了表示高速计数器的编号之外,还代表两方面的含义:高速计数器位和高速计数器当前值(双字)。编程时,从所用的指令可以看出是位还是当前值(双字) 。 不同型号的PLC主机,高速计数器的数量对应如表5.7所示。,(2)中断事件类型 高速计数器的计数和动作可采用中断方式进行控制。各种型号的PLC可用的高速计数器的中断事件大致分为3类: 当前值等于预设值中断 输入方向改变中断 外部复位中断。 所有高速计数器都支持当前值等于预设

    23、值中断。 每个高速计数器的3种中断的优先级由高到低,不同高速计数器之间的优先级又按编号顺序由高到低。具体对应关系如表5.8所示。,高速计数器的中断的优先级,(3)工作模式 高速计数器的工作模式共有12种。6个计数器功能不完全一样。 可通过编程,使用定义高速计数器指令 HDEF来选定工作模式。 可分为四类:-以HSC0为例 带内部方向控制的单相计数器(一个输入I0.0端或加,或减)-设置SM37.3(0减计数,1加计数) 带外部方向控制的单相计数器(两个输入,一个I0.0计数输入,一个方向控制I0.10减;1加) 带增减计数器的双向计数器(两个计数输入端,一增I0.0一减I0.1) 正交计数器两

    24、个时钟输入端A相I0.0 ,B相I0.1相差900(A相超前B相90顺时针转动-增计数, A相滞后B相90逆时针转动-减计数),(4)输入端连接,选用某个高速计数器在某种工作模式下工作,高速计数器的输入端不是任意选择,必须按系统指定的专用输入点。如表5.9所示。,上述输入点在不使用高速计数器时,可作为一般的数字量输入点,2. 高速计数指令,高速计数器指令有两条:HDEF和HSC。 (1)HDEF指令 HDEF,定义高速计数器指令。使能输入有效时,为指定的高速计数器选定一种工作模式。 梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为05的常数,字节型;MODE,工作模式,为011的常数

    25、,字节型。 每个高速计数器在使用前,都要用HDEF定义工作模式,并且只能定义一次,0,4,(2)HSC指令 HSC,高速计数器指令。使能输入有效时,根据高速计数器特殊存储器位的状态,并按照HDEF指令指定的工作模式,使高速计数器设置生效并执行计数操作。梯形图指令盒数据输入端N:高速计数器编号,为05的常数,字型。,4,每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能。具体对应关系如表5.11所示。,3. 高速计数器的使用方法,反映工作状态见书表3-7,启动或关闭计数器,控制方向等见书表3-8,状态字节,每个高速计数器都有一个状态字节,程序运行时根据运行状况自动使某些位置位,可

    26、以通过程序来读相关位的状态,用以作为判断条件实现相应的操作。状态字节中各状态位的功能如表5.12所示。,控制字节,表5.13 控制位含义,1选择计数器及工作模式 2设置控制字节 3执行HDEF指令 4设定当前值和预设值 5设置中断事件并全局开中断 6执行HSC指令,高速计数器编程步骤:,如:对一高速脉冲信号进行增减计数,计数当前值达到120产生中断,计数方向由外部信号控制(主机CPU224) (1)选HSC0模式3, I0.0计数I0.1方向控制(书P135) (2)SMB37-F8 (3)执行HDEF指令 (4)0SMD38,120-SMD42 (5)12-INT0 (6)执行HSC指令,4

    27、. 应用实例,要对一高速事件精确控制,通过对脉冲信号进行增计数,计数当前值达到24产生中断,重新从0计数,对中断次数进行累计。计数方向用一个外部信号控制,并能实现外部复位。所用的主机型号为CPU221。 设计步骤: 选择高速计数器HSC0,并确定工作方式4。令SM37=16#F8 执行HDEF指令,输入端HSC为0,MODE为4。装入当前值,令SMD38=0。装入设定值,令SMD42=24。执行中断连接ATCH指令,输入端INT为INT0,EVNT为12。,主程序、初始化子程序和中断程序分别如图5.12、图5.13和图5.14所示。,图5.12 主程序,图5.13 初始化子程序,12,图5.1

    28、4 中断程序,返回本节,六层电梯平层信号产生。用高速计数器测距离,了解轿厢当前位置和平层信号产生。 若楼层高740,底层300340 HC的值与每楼层给定值比较,看是否相等 见附加程序。 应用实例3:电机转速的检测,应用实例2,5.2.4 高速脉冲输出,在需要对负载进行高精度控制时,如对步进电机的控制,需要对步进电机提供一系列的脉冲,高速脉冲输出指令就是为满足这种需求而开发的。 1. 高速脉冲输出介绍 (1)输出端子的确定 (2)高速脉冲输出的形式 (3)相关寄存器 (4)脉冲输出指令,(1)输出端子的确定,S7-200只有输出继电器Q0.0和Q0.1具有高速脉冲输出功能。 不用高速脉冲时,作

    29、普通的数字量输出点用。 (2)高速脉冲输出的形式 高速脉冲输出有两种的形式: 高速脉冲序列(或称高速脉冲串)输出PTO 脉冲宽度调制输出PWM 可通过特殊继电器来定义输出的形式。,每个高速脉冲发生器对应一定数量特殊标志寄存器,这些寄存器包括控制字节寄存器、状态字节寄存器和参数数值寄存器,用以控制高速脉冲的输出形式、反映输出状态和参数值。各寄存器分配如表5.14所示。,(3)相关的寄存器,每个高速脉冲输出都有一个状态字节(SMB66或SMB76 ),程序运行时根据运行状况自动使某些位置位,可以通过程序来读相关位的状态,用以作为判断条件实现相应的操作。状态字节中各状态位的功能如表5.15所示。,状

    30、态字节,每个高速脉冲输出都对应一个控制字节,通过对控制字节中指定位的编程,可以根据操作要求设置字节中各控制位,如脉冲输出允许、PTO/PWM模式选择、单段/多段选择、更新方式、时间基准、允许更新等。控制字节中各控制位的功能如表5.16所示。,控制字节,脉冲输出指令,PLS指令 功能:EN有效,检测各相关寄存器的状态,激活由控制字节定义的高速脉冲输出操作。 Q取0或1对应Q0.0和Q0.1,2. 高速脉冲串输出PTO,(1)周期和脉冲数 (2)PTO的种类 (3)中断事件类型 (4)PTO的使用,(1)周期和脉冲数,周期:单位可以是微秒s或毫秒ms;为16位无符号数据,周期变化范围是506553

    31、5s或265535ms,通常应设定周期值为偶数,若设置为奇数,则会引起输出波形占空比的轻微失真。如果编程时设定周期单位小于2,系统默认按2进行设置。 脉冲数:用双字长无符号数表示,脉冲数取值范围是14294967295之间。如果编程时指定脉冲数为0,则系统默认脉冲数为1个。,SM67.3,(2)PTO的种类,PTO方式中,如果要输出多个脉冲串,允许脉冲串进行排队,形成管线,当前输出的脉冲串完成之后,立即输出新脉冲串,这保证了脉冲串顺序输出的连续性。 根据管线的实现方式分: 单段管线-管线中只能存放一个脉冲串的控制参数(入口地址)。在当前脉冲串输出期间,要对下一个脉冲串的相关寄存器进行更新。当前

    32、脉冲串输出完成,即可开始输出新脉冲串。 多段管线-输出多个脉冲串。需要在变量存储区建包络表,在包络表中存储各脉冲串的参数 ,当执行 PLS指令时,CPU自动按顺序从包络表中调出各个脉冲串的入口地址,连续输出各个脉冲串。,多管线PTO,包络表由包络段数和各段构成。每段长度为8个字节,包括:脉冲周期值(16位)、周期增量值(16位)和脉冲计数值(32位)。以包络3段的包络表为例,包络表的结构如表5.17所示。,(3)中断事件类型,高速脉冲串输出可以采用中断方式进行控制,各种型号的PLC可用的高速脉冲串输出的中断事件有两个,如表5.18所示。,(4)PTO的使用-编程要点,使用高速脉冲串输出时,要按

    33、以下步骤进行:确定脉冲串的输出端及管线的实现方式(单段多段) 设置控制字节-将控制字写入SMB67或SMB77 写入周期值、周期增量值和脉冲数周期增量值= (Tn+1-Tn)/N其中:Tn-该段开始的周期时间Tn+1-该段结束的周期时间N-该段脉冲数 装入包络的首地址 设置中断事件并全局开中断 执行PLS指令,3. 应用实例,(1)控制要求 步进电机转动过程中,要从A点加速到B点后恒速运行,又从C点开始减速到D点,完成这一过程时用指示灯显示。电机的转动受脉冲控制,A点和D点的脉冲频率为2kHz,B点和C点的频率为10kHz,加速过程的脉冲数为400个,恒速转动的脉冲数为4000个,减速过程脉冲

    34、数为200个。 工作过程如图5.15所示。,图5.15 步进电机工作过程,400个脉冲,4000个脉冲,200个脉冲,(2)分析 确定脉冲发生器及工作模式 设置控制字节 写入周期值、周期增量值和脉冲数 装入包络表首地址 中断调用 执行PLS指令,1用Q0.0,多管线方式3段(AB段、BC段、 CD段 ) 2确定周期值的时基单位,BC段频率最大10KHZ,对应的周期值为100us,时基单位为us,所以SMB67-16#A0 3确定初始周期,周期增量 初始周期:求每段的频率的倒数可得AB段500us,BC段100us,CD段100us 周期增量= (Tn+1-Tn)/N ,AB段-1,BC段0,C

    35、D段2 4设包络表首地址VB400建立包络表。,包络表,(3)程序实现 本控制系统主程序如下图5.16所示。初始化子程序SBR_1如图5.17所示。包络表子程序如图5.18所示。中断程序如图5.19所示。,图5.16 主程序,图5.17 初始化子程序SBR_1,图5.18 包络表子程序SBR_0(1),MOVW,+100, VW409,/,/,第,2,段周期初,/,值为,1,00,ms,/,/,MOVW,0, VW411,/,/,第,2,段周期,/,增量为,0,MOVD,+4000, VD413,/,/,第,2,段脉冲数,/,为,4,0,00,个,LD,SM0.0,/,运行脉冲,MOVB,3,

    36、 VB400,/,/,定义开始字节,/,为,VB400,/,装入段数,3,MOVW,+500, VW401,/,/,第,1,段周期初,/,值为,500,ms,/,/,MOVW,1, VW403,/,/,第,1,段周期,/,增量为,1,MOVD,+400, VD405,/,/,第,1,段脉冲数,/,为,400,个,图5.18 包络表子程序SBR_0(2),图5.19 中断程序,4. 宽度可调脉冲输出PWM,从Q0.0或Q0.1输出周期固定,脉冲宽度变化的脉冲信号 (1)周期和脉冲宽度 周期同PTO。脉冲宽度为16为无符号数,脉冲宽度增量单位为us或ms。范围065535,占空比为0100%。当脉

    37、冲宽度大于或等于周期时输出将连续接通。为0时,输出一直被关断。 (2)更新方式 根据在改变脉冲宽度时是否需要改变时间基准,可分为同步更新和异步更新。,返回本节,同步更新:脉宽的改变和PWM脉冲的新周期同步发生。适用于不需要改变时间基准的情况,常用中断实现。 异步更新:需要改变时间基准时使用。异步更新可能会导致PWM功能暂时失效,造成被控装置的振动。,(3)PWM的使用-编程要点,确定高速PWM的输出端(Q0.0或Q0.1)初始化设置 设置控制字节-将控制字写入SMB67或SMB77 写入周期值SMW68(78)、 写入脉冲宽度值SMW70(80) 执行PLS指令,应用举例1- (书例3-46

    38、),将Q0.1设置为PWM输出形式,脉冲周期固定为10s,初始脉冲宽度1000ms,当M0.0上升沿有效脉冲宽度改为5000ms。,/控制字节设置,允许PWM,选择PWM单段操作,同步更新,时基1ms脉冲数不更新,脉冲宽度更新,周期更新/设置周期10s,设置脉冲宽度1000执行PLS,Q0.1输出PWM重装控制字节,设为禁止更新周期后可更新脉冲宽度,/新脉冲宽度设为5000ms/执行PLS,应用举例2-电梯速度控制,5.2.5 PID回路指令,在过程控制中经常涉及到模拟量的控制,构成闭环控制系统。而对模拟量的处理,除对模拟量的采样检测外,还要对采样值进行PID运算。根据运算结果形成对模拟量的控

    39、制作用。 1. PID算法 2. PID指令 3. 应用实例,1. PID算法,1. PID算法 如果一个PID回路的输出M(t)是时间的函数,则可以看作是比例项、积分项和微分项三部分之和。即:,其中:Kc为回路增益,M0为回路输出的初始值 变成数字离散形式,Mn-第n个采样时刻计算出来的回路控制输出值 en -第n个采样时刻回路偏差 en -1 -第n-1个采样时刻回路偏差 KC -回路增益 KI -积分项的比例系数 KD -微分项的比例系数 M0 -初始值 上式可表示为,Mn-第n个采样时刻PID计算值 MPn -第n个采样时刻比例项值 MIn -第n个采样时刻积分项值 MDn -第n个采

    40、样时刻微分项值,TS为采样周期 TI为积分时间常数 TD为微分时间常数 SPn第n个采样时刻的给定值 VPn第n个采样时刻过程变量值MX第n-1个采样时刻积分项的值,采样后的过程变量与给定值的偏差,经上式PID运算出控制量。上式共包含9个参数,在执行PID指令前要建立一个PID参数表-初始化处理。,PID参数表格式,回路表初始化程序实例: 如果给定值为0.5,Kc为0.4,Ts为0.2秒,Ti为30分钟,Td为15分钟,则可以建立一个子程序SBR0用来对回路表进行初始化。表首地址VD200程序如图5.20所示。,图5.20 回路表初始化子程序SBR0,PID,PID回路指令。使能输入有效时,该

    41、指令利用回路表中的输入信息和组态信息,进行PID运算。梯形图的指令盒中有2个数据输入端:TBL,回路表的起始地址,是由VB指定的字节型数据;LOOP,回路号,是07的常数。 指令影响的特殊标志存储器位:SM1.1(溢出)。 使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)。 指令格式:PID TBL, LOOP,2. PID指令,PID的组合选择,在很多控制场合,往往只需要PID中的1种或2种运算,如:PI、PD控制等。不同运算功能的组合选择可通过设定不同的参数来实现。 不需要积分运算-TI=无穷大 不需要微分运算-TD=0 不需要比例运算-KC

    42、=0(积分和微分项KC=1),输入模拟量的转换及标准化,用PID指令通常要将过程变量和给定的实际值标准化为0.01.0的相对值格式。转换公式:RNorm工程实际值的标准化值 RRaw工程实际值的实数形式值 Span最大允许值减去最小值,取32000(单极性)或64000 (双极性) Offset取0(单极性)或0.5 (双极性),输出模拟量转换为工程实际值,输出产生的控制作用是0.01.0标准化值,需要转换成工程实际值。Rscal工程标定的过程变量的实数格式,PID控制方式,S7-200没有内装自动控制和手动控制方式 当PID指令使能有效就可以执行PID运算-自动控制方式 当PID指令使能无效

    43、就不执行PID运算-手动控制方式,3. 应用实例,(1)控制要求 一水箱有一条进水管和一条出水管,出水管的水流量随时间不断变化,要求控制进水管阀门的开度,使水箱内的液位始终保持在水满时液位的75%。系统使用比例积分控制,假设采用下列控制参数值:Kc为0.25,Ts为0.1秒,Ti为30分钟,Td为0分钟。 (2)分析 本系统标准化时可采用单极性方案,系统的输入来自液位计的液位测量采样;设定值是液位的75%,输出是单极性模拟量用以控制阀门的开度,可以在0%100%之间变化。 (3)程序实现 本程序的主程序如图5.21所示,回路表初始化子程序SBR0如图5.22所示,中断程序INT0如图5.23所

    44、示。,/参数表给定值0.75回路增益采样周期积分时间常数微分时间常数定时中断0-0.1,/过程变量的标准化转换 /整形变双整形/双整形变实形除以基准值送PID参数表首地址,中断程序INT-0,5.2.6 通信,通信指令包括: XMT,自由口发送指令 RCV,自由口接收指令 NETR,网络读指令 NETW,网络写指令 GPA,获取口地址指令,一、S7-200的网络通信,字符数据格式 (1)10位字符数据传送数据由1个起始位、8个数据位、无校验位、一个停止位组成。传送速率一般为9600波特。 (2)11位字符数据传送数据由1个起始位、8个数据位、1个偶校验位、一个停止位组成。传送速率一般为9600

    45、波特或19200波特。 S7-200被默认为是从站。在采用PPI通信协议时,若设置为PPI主站模式,PLC主机可以在RUN工作方式下为主站,可以用通信指令读取其他PLC主机的数据。,通信协议控制寄存器,SMB30控制和设置通信端口0,如果PLC主机上有通信端口1,则用SMB130来进行控制和设置。 SMB30和SMB130的各位及其的含义如下: 将特殊标志寄存器中的SMB30和SMB130的低2位置为2#10,其他位为0,即SMB30和SMB130的值为16#2,则可以控制将S7-200 CPU设置为PPI主站模式。,(1)PP位:奇偶选择 (2)D位:有效位数 (3)BBB位:自由口波特率

    46、(4)MM位:协议选择,MM:00=PPI从站模式01=自由口协议10=PPI主站模式11=保留,网络通信指令,在S7-200的PPI主站模式下,网络通信指令有两条: 1 网络读指令(NETR) 功能:EN有效通过端口PORT从远程设备接收数据,并形成数据表。 NETR指令最多可以从远程设备上接受16字节的信息。 2网络写指令(NETW) 功能:EN有效通过端口PORT将数据表TBL中的数据发送到远程设备。最多可以向远程设备发送16字节的信息。,传送数据表,(1)数据表格式 执行网络读写指令时,PPI主站与从站之间的数据以数据表的格式传送。传送数据表的格式描述如表5.5示。,表5.5 传送数据

    47、表格式,(2)状态字节 传送数据表中的第一个字节为状态字节,各位及其的含义如下:,D完成状态。D=0未完成,D=1完成 A有效状态。 A=0无效,A=1有效操作已被排队 E错误状态。 E=0无错误,E=1有错误 0无效位 E1、E2、E3、E4错误编码。如果执行指令后E位为1,则由这4位返回一个错误码。这4位组成的错误编码及含义如表5.6所示。,错误编码表,应用实例,有一简单网络,结构如下图8.17所示。其中TD200为主站,在RUN模式下,CPU 224在用户程序中允许PPI主站模式,可以利用NETR和NETW指令来不断读写两个CPU 221模块中的数据。,操作要求:站4要读写两个远程站(站

    48、2和站3)的状态字节和计数值(分别放在VB100和VW101中)。如果某个远程站中的计数值达到200,站4将发生一定动作,并将该远程站的计数值清0,重新计数。 分析:网络通信-要将站4设置为PPI主站模式主站建立接收与发送数据表,用以读写从站 CPU 224通信端口号为0,从VB200开始设置接收和发送缓冲区。接收缓冲区从VB200开始,发送缓冲区从VB250开始,内容如表5.6所示。该网络通信用户程序如图5.18所示。,表5.6 缓冲区设置,图5.18 网络程序实例(1),图8.18 网络程序实例(2),返回本节,二、 自由口通信,1 相关寄存器及标志 2 自由口指令 3 应用实例 自由口通信是用户可自定义通信协议,通过建立通信中断事件,使用通信指令控制PLC串口与其他设备进行通信。,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第4章 应用指令1.ppt
    链接地址:https://www.docduoduo.com/p-8306379.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开