S PLC的指令系统基本指令堆栈指令ppt课件.ppt_第1页
S PLC的指令系统基本指令堆栈指令ppt课件.ppt_第2页
S PLC的指令系统基本指令堆栈指令ppt课件.ppt_第3页
S PLC的指令系统基本指令堆栈指令ppt课件.ppt_第4页
S PLC的指令系统基本指令堆栈指令ppt课件.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

张宇航 基本指令 三 S7 200可编程序控制器 张宇航 堆栈操作指令 东风高级技工学校电控教研室 又称多分支回路指令S7 200CN系列PLC使用一个9层堆栈来处理所有逻辑操作 堆栈是一组能够存储和取出数据的暂存单元 其特点是 先进后出 每一次进行入栈操作 新值放入栈顶 栈底值丢失 每一次进行出栈操作 栈顶值出栈 第2级堆栈内容上升到栈顶 栈底自动生成随机数 逻辑堆栈指令主要用来完成对触点进行复杂的连接 张宇航 堆栈操作指令 东风高级技工学校电控教研室 LPS 入栈指令 分支电路开始指令 作用 运算存储 从梯形图中的分支结构中可以形象地看出 它用于生成一条新的母线 其左侧为原来的主逻辑块 右侧为新的从逻辑块 因此可以直接编程 从堆栈使用上来讲 LPS指令的作用是把栈顶值复制后压入堆栈 张宇航 堆栈操作指令 东风高级技工学校电控教研室 LRD 读栈指令作用 读出存储 中间分支电路使用 在梯形图分支结构中 当新母线左侧为主逻辑块时 LPS开始右侧的第一个从逻辑块编程 LRD开始第二个以后的从逻辑块编程 从堆栈使用上来讲 LRD读取最近的LPS压入堆栈的内容 而堆栈本身不进行Push和Pop工作 张宇航 堆栈操作指令 东风高级技工学校电控教研室 LPP 出栈指令作用 读出存储或复位 分支电路结束指令 在梯形图分支结构中 LPP用于LPS产生的新母线右侧的最后一个从逻辑块编程 它在读完离它最近的LPS压入堆栈内容同时复位该条新母线 从堆栈使用上来讲 LPP把堆栈弹处一级 堆栈内容依次上移 张宇航 东风高级技工学校电控教研室 说明 1 在可编程控制器中有9个被称为栈的记忆运算中间结果的存储器 使用一次LPS指令 就将此时的运算结果送入栈的第一段存储 再用LPS指令 又将该时的运算结果送入的第一段存储 而将先前送入存储的数据依次移到栈的下一段 堆栈操作指令 张宇航 2 3 4 5 6 7 8 9 东风高级技工学校电控教研室 堆栈使用示意图 LPS进栈 堆栈操作指令 张宇航 3 4 5 6 7 8 9 东风高级技工学校电控教研室 堆栈使用示意图 LPS进栈 堆栈操作指令 张宇航 3 4 5 6 7 8 9 东风高级技工学校电控教研室 堆栈使用示意图 LPS进栈 将第一次内容压入第2层 堆栈操作指令 张宇航 4 5 6 7 8 9 东风高级技工学校电控教研室 堆栈使用示意图 LPS进栈 将第二次内容压入第2层 又将第一次内容从第2层再压入第3层 堆栈操作指令 张宇航 堆栈操作指令 东风高级技工学校电控教研室 说明 2 使用LRD 是读出最上端所存的最新数据的专用指令 栈内的数据不发生移动 张宇航 4 5 6 7 8 9 东风高级技工学校电控教研室 堆栈使用示意图 LRD读栈 读取最上层的内容 堆栈中的内容不发生变化 堆栈操作指令 张宇航 堆栈操作指令 东风高级技工学校电控教研室 说明 3 使用LPP指令 各数据按顺序向上移动 后进的先出 将最上端的数据读出 同该数据就从栈中消失 张宇航 4 5 6 7 8 9 东风高级技工学校电控教研室 堆栈使用示意图 LPP出栈 第一次使用LPP 堆栈操作指令 张宇航 4 5 6 7 8 9 堆栈操作指令 东风高级技工学校电控教研室 堆栈使用示意图 LPP出栈 第一次使用LPP 第二层的内容上移到第一层 第三层的内容上移到第二层 张宇航 4 5 6 7 8 9 东风高级技工学校电控教研室 堆栈使用示意图 LPP出栈 第二次使用LPP 堆栈操作指令 张宇航 4 5 6 7 8 9 东风高级技工学校电控教研室 堆栈使用示意图 LPP出栈 第二次使用LPP 原第三层的内容又上移到第一层 堆栈操作指令 张宇航 4 5 6 7 8 9 东风高级技工学校电控教研室 堆栈使用示意图 LPP出栈 第三次使用LPP 堆栈操作指令 张宇航 东风高级技工学校电控教研室 说明 4 由于堆栈操作有其独特的顺序性 因此要求堆栈的用法要求必须正确无误 堆栈只要保证入栈次数和出栈次数相等就不会出现大的问题 读栈不影响堆栈的指针的变化 5 这些指令为独立指令 不带任何软元件编号 堆栈操作指令 张宇航 东风高级技工学校电控教研室 例1 一层堆栈 指令表LDI0 0AI0 1 堆栈操作指令 分支点开始 使用LPS指令 3LPS 张宇航 东风高级技工学校电控教研室 例1 一层堆栈 指令表LDI0 0AI0 1 3LPS 4AI0 25 Q0 0 6LPP 7 Q0 1 使用LPP指令 堆栈操作指令 张宇航 东风高级技工学校电控教研室 例1 一层堆栈 指令表LDI0 0AI0 1 3LPS 4AI0 25 Q0 0 6LPP 7 Q0 1 8LDI0 3 堆栈操作指令 LPS 9LPS 10AI0 411 Q0 2 LPP 12LPP 13AI0 514 Q0 3 张宇航 东风高级技工学校电控教研室 例1 一层堆栈 指令表LDI0 0AI0 1 3LPS 4AI0 25 Q0 0 6LPP 7 Q0 1 8LDI0 3 9LPS 10AI0 411 Q0 2 13AI0 514 Q0 3 12LPP LPS 15LDI0 6 16LPS 17AI0 718 Q0 4 堆栈操作指令 张宇航 东风高级技工学校电控教研室 例1 一层堆栈 指令表LDI0 0AI0 1 3LPS 4AI0 25 Q0 0 6LPP 7 Q0 1 8LDI0 3 9LPS 10AI0 411 Q0 2 13AI0 514 Q0 3 12LPP 15LDI0 6 16LPS 17AI0 718 Q0 4 LRD LRD LPS 19LRD 20AI1 021 Q0 5 22LRD 23AQ1 124 Q0 6 LPP 25LPP 26AI1 227 Q0 7 堆栈操作指令 张宇航 东风高级技工学校电控教研室 例2 一层堆栈 并用ALD OLD指令 指令表1LDI0 0 堆栈操作指令 LPS 2LPS 3LDI0 14AI0 2 ALD 5ALD 6 Q0 0 张宇航 东风高级技工学校电控教研室 例2 一层堆栈 并用ALD OLD指令 指令表1LDI0 0 2LPS 3LDI0 14AI0 2 5ALD 6 Q0 0 堆栈操作指令 LRD 张宇航 东风高级技工学校电控教研室 例2 一层堆栈 并用ALD OLD指令 指令表1LDI0 0 2LPS 3LDI0 14AI0 2 5ALD 6 Q0 0 7LRD 8LDI0 39AI0 4 10LDI0 511AI0 6 12OLD 堆栈操作指令 OLD LRD 张宇航 东风高级技工学校电控教研室 例2 一层堆栈 并用ALD OLD指令 指令表1LDI0 0 2LPS 3LDI0 14AI0 2 5ALD 6 Q0 0 7LRD 8LDI0 39AI0 4 10LDI0 511AI0 6 12OLD 堆栈操作指令 ALD 张宇航 东风高级技工学校电控教研室 例2 一层堆栈 并用ALD OLD指令 指令表1LDI0 0 2LPS 3LDI0 14AI0 2 5ALD 6 Q0 0 7LRD 8LDI0 39AQ0 4 10LDQ0 511AQ0 6 12OLD 13ALD 14 Q0 1 堆栈操作指令 ALD 张宇航 东风高级技工学校电控教研室 例2 一层堆栈 并用ALD OLD指令 指令表1LDI0 0 2LPS 3LDI0 14AI0 2 5ALD 6 Q0 0 7LRD 8LDI0 39AI0 4 10LDI0 511AI0 6 12OLD 13ALD 14 Q0 1 15LPP AI0 7 Q0 2 18LDI1 019AI1 1 20ALD Q0 3MEND 堆栈操作指令 ALD LPP 张宇航 东风高级技工学校电控教研室 说明1 入栈的目的就是要将当前的逻辑运算结果暂时保存起来 然后就像没有入栈指令一样完成本行指令 再在入栈点上将逻辑运算结果读出来 进行下一重输出行 如果是最后一次使用栈内结果 就必须是出栈指令LPP 若不是最后一次使用 则应该用读栈指令LRD 去除结果后参加运算 堆栈操作指令 张宇航 东风高级技工学校电控教研室 说明2 栈操作指令LPS LRD LPP在使用中可以这样理解 除了对分支电路进行操作外 在程序中没有其它作用 在编写程序时 可以分两部分来分析 一方面 要保证栈操作的正确性 入栈 出栈要配对使用并且使用正确 另一方面 在阅读程序时可以不看栈操作指令 按梯形图掌握程序的正确性 堆栈操作指令 张宇航 东风高级技工学校电控教研室 例3 二层堆栈 指令表1LDI0 1 堆栈操作指令 张宇航 东风高级技工学校电控教研室 例3 二层堆栈 LPS 指令表1LDI0 1 堆栈操作指令 张宇航 东风高级技工学校电控教研室 例3 二层堆栈 指令表1LDI0 1 2LPS 3AI0 2 堆栈操作指令 LPS LPS 张宇航 东风高级技工学校电控教研室 例3 二层堆栈 指令表1LDI0 1 2LPS 3AI0 2 4LPS 5AI0 36 Q0 0 7LPP 8ANM1 09 Q0 1 堆栈操作指令 LPS LPP LPS 张宇航 东风高级技工学校电控教研室 例3 二层堆栈 指令表1LDI0 1 2LPS 3AI0 2 4LPS 5AI0 36 Q0 0 7LPP 8ANM1 09 Q0 1 10LPP 11AM1 1 12LPS 13AM1 214 Q0 2 15LPP 16AI0 4 Q0 3MEND 堆栈操作指令 LPS LPP LPS LPP 张宇航 东风高级技工学校电控教研室 例3 二层堆栈 指令表1LDI0 1 2LPS 3AI0 2 4LPS 5AI0 36 Q0 0 7LPP 8ANM1 09 Q0 1 10LPP 11AM1 1 12LPS 13AM1 214 Q0 2 15LPP 16AI0 4 Q0 3MEND 堆栈操作指令 张宇航 东风高级技工学校电控教研室 例3 二层堆栈 说明 确定堆栈的层数 只要看一个阶梯上有几条支路就是几层堆栈 例题中第二层出栈后就不是多层栈了 多重输出只要顺序不错 连续入栈 出栈的次数最多可达9层 堆栈操作指令 张宇航 东风高级技工学校电控教研室 例4 四层堆栈 指令表1LDI0 0 LPSAI0 1 4LPS5AI0 2 6LPS7AI0 3 8LPSAI0 4 Q0 0 堆栈操作指令 LPS LPS LPS LPS 张宇航 东风高级技工学校电控教研室 例4 四层堆栈 指令表1LDI0 0 LPSAI0 1 4LPS5AI0 2 6LPS7AI0 3 8LPSAI0 4 Q0 0 11LPP12ANM1 013 Q0 1 14LPP15AM1 116 Q0 2 17LPP18AM1 219 Q0 3 20LPP21AM1 3 Q0 4 堆栈操作指令 LPP LPP LPP LPP 张宇航 例4 四层堆栈 指令表1LDI0 0 LPSAI0 1 4LPS5AI0 2 6LPS7AI0 3 8LPSAI0 4 Q0 0 11LPP12AM1 013 Q0 1 14LPP15AM1 116 Q0 2 17LPP18AM1 219 Q0 3 20LPP21AM1 3 Q0 4MEND 东风高级技工学校电控教研室 堆栈操作指令 张宇航 I O分配表SB1停止按钮I0 0SB2启动按钮1I0 1SB3启动按钮2I0 2SB4启动按钮3I0 3KM1接触器Q0 0KM2接触器Q0 1KM3接触器Q0 2 东风高级技工学校电控教研室 例5 练习 堆栈操作指令 张宇航 接线图 东风高级技工学校电控教研室 例5 练习 堆栈操作指令 张宇航 梯形图 I0 0 I0 1 Q0 0 I0 2 Q0 0 Q0 1 I0 3 Q0 1 Q0 0

温馨提示

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

评论

0/150

提交评论