第10章第3节S7-200 PLC的指令系统3 建筑电气控制与PLC教学课件_第1页
第10章第3节S7-200 PLC的指令系统3 建筑电气控制与PLC教学课件_第2页
第10章第3节S7-200 PLC的指令系统3 建筑电气控制与PLC教学课件_第3页
第10章第3节S7-200 PLC的指令系统3 建筑电气控制与PLC教学课件_第4页
第10章第3节S7-200 PLC的指令系统3 建筑电气控制与PLC教学课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

三 S7 200PLC的功能指令 一 数学运算指令 二 逻辑运算指令 三 其他数据处理指令 四 转换指令 五 表功能指令 六 程序控制指令 七 特殊指令 五 表功能指令 表中数据的存储格式 TL值由字传送指令MOVW赋值 五 表功能指令 1 表存数指令 填表指令 ATT Addtotable 指令格式 ATTDATA TABLE 功能 将DATA 字型数据 填入到TABLE表格 TABLE给出表格首地址 新存的数据添加在表格最后一个数据的后面 每存入一个数据 实际填表数EC自动加1 LDI0 0ATTVW100 VW200 举例 VW200已赋值0005 2 表查找指令 FND 通过表查找指令可以从字型数表中找出符合条件的数据所在的表中数据编号 指令格式 FND TBL PTN INDXFNDTBL PTN INDXFNDTBL PTN INDX 梯形图有4个数据输入端 TBL 表格的首地址 PTN 用来描述查表条件的进行比较的数据 CMD 比较运算符 的编码 它是一个1 4的数值 分别代表 运算符 INDX 指令执行前为查找的开始地址编号 指令执行后用来存放符合查找条件的数据地址编号 说明 表查找指令执行之前 应先对INDX的内容清0 从表首开始查找 当使能输入有效时 从INDX开始搜索表TBL 寻找符合条件的数据 如果找到一个符合条件的数据 则将该数据的表中地址装入INDX中 如果没有发现符合条件的数据 则INDX的值等于EC 最大填表数 表查找指令执行完成 找到一个符合条件的数据 如果想继续向下查找 必须先对INDX加1 以重新激活表查找指令 从表中移出一个字型数据可有两种方式 1 先进先出式 2 后进先出式一个数据从表中取出之后 表的实际表数EC值减1 3 表取数指令 1 先进先出指令 FIFO 指令格式 FIFOTABLE DATA当使能输入有效时 从TBL指明的表中移出第一个字型数据并将其输出到DATA所指定的字单元 FIFO表取数时 移出的数据总是最先进入表中的数据 每次从表中移出一个数据 剩余数据依次上移一个字单元位置 同时实际填表数EC会自动减1 2 后进先出指令 LIFO 当使能输入有效时 从TBL指明的表中移出最后一个字型数据并将其输出到DATA所指定的字单元 LIFO表取数时 移出的数据是最后进入表中的数据 每次从表中取出一个数据 剩余数据位置保持不变 实际填表数EC会自动减1 指令格式 LIFOTABLE DATA 六 程序控制指令 1 结束指令结束指令在主程序中使用 用来结束主程序 END 有条件结束指令 不能直接连接在左侧母线上 MEND 无条件结束指令 直接连接在左侧母线上 指令格式 ENDMEND 2 暂停指令 STOP 暂停指令 通过暂停指令可将S7 200CPU从RUN 运行 模式转换为STOP 暂停 模式 中止主程序执行 指令格式 STOP 3 监视定时器复位指令WDR 看门狗复位 系统监视定时器 WDT 为了避免出现程序死循环而引起的扫描周期过长 PLC内部设置了系统监视定时器用于监视扫描周期是否超时 WDT的设定值 100 300ms 一般大于程序的扫描周期 1 在正常的每个扫描周期中 PLC都要对WDT进行1次复位操作 使得WDT不动作 2 系统故障情况下 扫描时间大于WDT设定值 该定时器不能及时复位 则报警并停止CPU运行 应用时 可将WDR指令插入到程序的适当位置 使监控定时器复位 指令格式 WDR WDR 监视定时器复位指令 指令使系统监视程序定时器 WDT 复位 扩展扫描允许使用的时间 而不会出现监视程序错误 程序实例 例 暂停指令 看门狗复位指令和有条件结束指令的编程实例 a 梯形图 网络6LDSM5 0 当发现I O错误时STOP 强迫CPU转到STOP方式网络18LDM5 6 当M5 6 1 接通 时WDR 重新触发看门狗定时器 允许增加本次扫描时间网络25LDM1 5 当M1 5 1 接通 时END 结束主程序 b 语句表 当I O有错误时SM5 0置1 JMP 跳转指令 使程序跳转到标号 n 处执行 LBL 标号指令 标记指令跳转的目的地的位置 n 操作数n为0 255 指令格式 JMPnLBLn 4 跳转与标号指令 注意 跳转指令和标号指令必须配合使用 而且只能使用在同一程序块中 不能在不同的程序块间互相跳转 例 跳转指令和标号指令的编程实例 a 梯形图 网络10LDNI0 2 如果I0 2闭合JMP7 则跳转到LBL7 网络17LBL7 b 语句表 5 循环指令 指令格式 FORINDX INIT FINAL NEXTINDX 当前循环计数INIT 初值FINAL 终值 循环指令有两条 FOR和NEXT FOR 循环开始指令 用来标记循环体的开始 NEXT 循环结束指令 用来标记循环体的结束 指令格式 FORINDX INIT FINAL NEXT 执行过程 当前计数值开始为初值 执行一次循环体 当前计数值增1 将其结果同终值进行比较 如果大于终值 则终止循环 否则再次执行循环体 比如INIT 1 FINAL 10 则执行10次循环体 循环指令使用说明 FOR NEXT指令必须成对使用 FOR和NEXT可以循环嵌套 嵌套最多为8层 但各个嵌套之间不可有交叉现象 建立子程序 建立子程序是通过编程软件来完成的 每个子程序都有一个子程序名 6 子程序调用与返回指令 CALL 子程序调用指令 如果在主程序中调用子程序时 主程序把程序控制权交给子程序 指令格式 CALLSBR N 1 子程序调用 RET 子程序无条件返回指令 在子程序结束段结束子程序 返回主程序 每个子程序都要以此指令结束 CRET 子程序条件返回指令 返回主程序 指向子程序调用的下一条指令 指令格式 CRET 条件返回 RET 无条件返回 2 子程序返回 子程序调用使用说明 子程序结束要加上无条件返回指令RET CRET指令只能用于子程序中 如果在子程序的内部又对另一个程序执行调用指令 则这种调用称为子程序的嵌套 子程序嵌套的深度最多为8级 子程序的参数指在子程序与调用程序之间传送的参数 变量和数据 子程序最多可以传递16个参数 3 带参数的子程序调用 子程序参数类型 传入子程序参数IN 传入 传出子程序参数IN OUT 调用子程序时 将指定参数位置的值传到子程序 子程序返回时 从子程序得到的结果被返回到指定参数的地址 常数和地址值不允许作为输入 输出参数 传出子程序参数OUT 将从子程序来的结果返回到指定参数的位置 暂时变量 只能在子程序内部暂时存储数据 不能用来传递参数 建立带参数子程序的局部变量表局部变量表隐在编程软件程序显示区上部 可隐藏 可在局部变量表输入变量名称 变量类型 数据类型等参数 子程序参数的数据类型布尔 位 字节 字 双字 实数型 指令格式 CALL子程序名 参数1 参数2 参数n参数按顺序排列 输入参数 输入 输出参数 输出参数 带参数子程序调用指令 举例 主程序 LDI0 0 Q0 0CALLSBR 0 45 0 VD10 子程序 LDSM0 0MOVR3 14159 AC0 R180 0 AC0 R IN1 AC0COSAC0 OUT1 局部变量表 7 与ENO指令 ENO是LAD中指令盒的布尔能流输出端 如果指令盒的能流输入有效 则执行没有错误 ENO就置位 并将能流向下传递 AENO 与ENO指令 梯形图编程指令盒后串联另一指令盒或线圈时 语句表语言用此指令来描述 指令格式 AENO 程序实例 LDI0 0 使能输入端 IVW100 VW200 整数加法 VW100 VW200 VW200AENO 与ENO指令 整数加法指令执行是否出错 Q0 1 如果 I指令执行正确 则输出Q0 1置1 七 特殊指令 A 中断指令1 中断 当控制系统执行正常程序时 系统中出现了某些急需处理的异常情况或特殊请求 这时系统暂时中断当前程序 转去对随机发生的紧迫事件进行处理 执行中断服务程序 当该事件处理完毕后 系统自动回到原来被中断的程序继续执行 中断源 中断事件向PLC发出中断请求的来源 S7 200CPU最多可以有34个中断源 每个中断源都分配一个编号用于识别 称为中断事件号 这些中断源大致分为三大类 通信中断 I O中断和定时中断 I O中断的上升 下降边缘中断 S7 200可以在输入的上升和 或下降边缘生成中断 I0 0 I0 1 I0 2或者I0 3 这些上升 下降边缘事件可以用来表示当事件发生时必须接收立即注意的条件 2 中断源 3 中断优先级在PLC应用系统中通常有多个中断源 当多个中断源同时向CPU申请中断时 要求CPU能将全部中断源按中断性质和处理的轻重缓急来进行排队 并给予优先权 给中断源指定处理的次序就是给中断源确定中断优先级 4 中断控制经过中断判优后 将优先级最高的中断请求送给CPU CPU响应中断后自动保存逻辑堆栈 累加器和某些特殊标志寄存器位 即保护现场 中断处理完成后 又自动恢复这些单元保存起来的数据 即恢复现场 5 中断程序中断程序亦称中断服务程序 是用户为处理中断事件而事先编制的程序 6 中断指令 ENI 全局中断允许指令 全局性的允许所有被连接的中断事件 开中断 DISI 全局中断禁止指令 全局性的禁止处理所有的中断事件 执行DISI指令后 出现的中断事件就进入中断队列排队等候 直到ENI指令重新允许中断 关中断 CPU进入RUN运行模式时自动禁止所有中断 在RUN运行模式中执行ENI指令后 允许所有中断 1 全局中断允许 禁止指令 2 中断连接 分离指令 ATCH 中断连接指令 用来建立某个中断事件 EVNT 和某个中断程序 INT 之间的联系 并允许这个中断事件 指令格式 ATCHEVENT 事件号 在调用一个中断程序前 必须用中断连接指令 建立某中断事件与中断程序的连接 当把某个中断事件和中断程序建立连接后 该中断事件发生时会自动开中断 注意 多个中断事件可调用同一个中断程序 但一个中断事件不能同时与多个中断程序建立连接 否则 在中断允许且某个中断事件发生时 系统默认执行与该事件连接的最后一个中断程序 DTCH 中断分离指令 用来解除某个中断事件 EVNT 和某个中断程序 INT 之间的联系 并禁止该中断事件 DTCH指令使中断回到不激活或无效状态 指令格式 DTCHEVENT 3 中断服务程序标号 返回指令 中断服务程序开始 中断服务程序由标号开始 INTn 中断服务程序标号指令 中断服务程序标号INT标示n号中断服务程序的开始 入口 n的范围是0 127 取决于CPU的型号 中断服务程序结束 RETI 中断服务程序无条件返回指令 RETI是中断服务程序必备的结束指令 中断服务程序以无条件返回指令结束 CRETI 中断服务程序条件返回指令 在中断服务程序中 CRETI根据前面逻辑条件使用条件返回指令 返回主程序 说明 中断服务程序中禁止使用以下指令 DISI ENI CALL HDEF FOR NEXT LSCR SCRE SCRT END 中断前后 系统保存和恢复逻辑堆栈 累加寄存器 特殊存储器标志位 SM 从而避免了中断服务返回后对主程序执行现场所造成的破坏 LDSM0 1 首次扫描时SM0 1位打 开 用于调用初始化 子例行程序CALLSBR 0 调用子程序SBR 0LDSM0 0 当系统处于RUN 模式时 SM0 0始终 打开 即SM0 0 1 MOVB100 SMB34 100ms放入特 殊内存字节SMB34 SMB34和SMB35控 制中断0和中断 1的时间间隔 ATCHINT 0 10 调用中断程序ENI 全局性启用中断LDSM0 0 RUN模式下 SM0 0 1MOVWAIW2 VW100 模拟量输入 映像寄存器AIW2 的值装入VW100 定时中断采集模拟量程序例 B PID回路指令 PID控制 比例 积分 微分控制 广泛应用于闭环控制系统 PID回路指令 指令根据表格 TBL 中的输入和配置信息对引用LOOP执行PID循环计算 指令格式 PIDTABLE LOOPTBL是回路表起始地址 只能使用字节VB区域 LOOP是回路号 为字节常量0 7 循环表存储九个参数 用于控制和监控循环运算 包括程序变量 设置点 输出 增益 样本时间 整数时间 重设 导出时间 速率 及整数之和 偏差 的当前值及先前值 C 高速计数器指令 普通计数器受CPU扫描速度的影响 对高速脉冲信号的计数会发生脉冲丢失 高速计数器 HighSpeedCounter 是脱离主机的扫描周期独立计数的 它可以对脉宽小于主机扫描周期的高速脉冲准确计数 高速计数器编号 0 5 工作模式 0 11 每个高速计数器都有地址编号 每种高速计数器都有多种功能不同的工作模式 高速计数器的工作模式与中断事件密切相关 使用高速计数器 首先要定义高速计数器的工作模式 HDEF 高速计数器定义指令 使能输入有效时 为指定的高速计数器分配一种工作模式 指令格式 HDEFHSC MODE HSC 高速计数器指令 使能输入有效时 根据高速计数器特殊存储器位的状态 并按照HDEF指令指定的模式 设置高速计数器并控制其工作 指令格式 HSC N N为高速计数器编号 D 高速脉冲输出指令 高速脉冲输出 在PLC的某些输出端产生高速脉冲 形式 有两种形式 P

温馨提示

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

评论

0/150

提交评论