收藏 分销(赏)

s7-300寻址实例.doc

上传人:pc****0 文档编号:6022847 上传时间:2024-11-25 格式:DOC 页数:4 大小:150.50KB 下载积分:10 金币
下载 相关 举报
s7-300寻址实例.doc_第1页
第1页 / 共4页
s7-300寻址实例.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
S7300寻址应用实例 内容摘要:在plc编程过程中,凡涉及到大量数据处理时,都会用到寻址,这样数据处理起来很简便,让编程更加得心应手。 关键字:寻址 S7-300 S7-400 西门子plc编程 编程是通过计算机来解决现实问题,任何程序都有数据结构和算法两方面内容,其中数据是基础,如何处理数据,在编程过程中都是很重要的工作。在S7-300和S7-400 plc编程的过程中,出于处理大量数据的需要,寻址是编程中的一项重要的工作,用于数据的存储,传送和转移。 下面一段程序就是把一个数据块DB9中的50个数据循环下移一位,即第49个数据移到第50个数据字节中,第48个移到第49个,依次类推,第1个移到第2个,第50个在开始被保存的存储器中,最后再移到第一个数据字节中,思路是这样,具体实现方法如下: 首先建一个数据块,在本例中建的是DB9,在数据中可以多建几个,这样便于观察数据在程序运行过程中是否溢出规定的范围。本例中共建了56个字节的变量,参与循环的数据为DB0到DB49。 首先在初始化主程序OB100中写入赋初值的程序 OPN DB 9 L P#0.0 T MD 96 //将间接寻址的地址MD96赋初值P#0.0 L 1 T MB 92 //将MB92设定为初始传送到DB9中的数据 L P#48.0 T MD 100 // MD100为被移位的数据,所以初值为P#48.0,移位时移//入P#49.0 然后写循环子程序,这里用FC9,然后在OB1中调用FC9,FC9中程序Network 1的思路是把DB9中的从DBB0到DBB49依次装入从1到50的数。 Network 1: OPN DB 9 //打开DB9 A( L MD 96 L P#49.0 <=D ) //做一个限定,当地址MD96小于等于P#49.0时,执行存储数据 JCN ae //若执行到P#49.0后,MD96地址加P#1.0变成P#50.0,则跳转到nop0 L MB 92 //依次把1到50 T DBB [MD 96] //传到DB0到DB49中 L MD 96 L P#1.0 +D T MD 96 //装入一个数据后,地址加P#1.0 L MB 92 L 1 +D T MB 92 //装入一个数据后,数据加1 ae: NOP 0 然后设定数据移位的地址MD100,每次m10.4由0置1的时候,都把MD100恢复到P#48.0,以便从倒数第二个数开始移位,并在移位开始时,将最先被覆盖的DBB49先存储到MB90中,以便在其他数据完成传送后,把MB90中的DBB49传入DBB0。 Network 2: A M 10.4 FP M 10.5 //m10.4的上升沿脉冲 JCN ad // m10.4未触发时,跳走 L P#48.0 T MD 100 //每次触发移位时,把P#48.0存入递减地址MD100 L DBB 49 T MB 90 //每次触发移位时,把最先被覆盖的数先存入MB90中 ad: NOP 0 每次触发m10.4时,经过50次扫描,将49个数据下移一位,最后一个数据最后存入DBB0中。 Network 3: OPN DB 9 //先打开数据块DB9 A M 10.4 JCN aB //若m10.4未触发,直接跳走 A( L MD 100 L P#0.0 >=D ) //若MD100大于p#0.0则执行移位 JCN ac //若MD100等于p#0.0-p#1.0后则跳走 LAR1 MD 100 //MD100存入地址寄存器 L DBB [AR1,P#0.0] T DBB [AR1,P#1.0] //把上一位移入下一位 L MD 100 L P#1.0 -D //存入一个后,地址减P#1.0 T MD 100 ac: NOP 0 aB: NOP 0 若MD100等于p#0.0-p#1.0,说明前面49个数都已经下移了,最后把预存到MB90中的DBB49存到DBB0中 Network 4: A( L P#0.0 L P#1.0 -D L MD 100 ==D ) //若MD100等于p#0.0-p#1.0,执行移位 JCN af //否则跳走 L MB 90 T DBB 0 af: NOP 0 程序写好后,编译保存,打开仿真器,将仿真器设为PLCSIM(MPI)模式,并执行运行run,如下图所示:DB9中的数据依次为16进制1到32,即为10进制的1到50。 当点击把m10.4置1,m10.5上升沿同时置1,循环移位开始,整体下移一位,最后一个数据循环到第一位数据字节上。效果如下图: 通过这个实验,可以了解S7300和S7400plc在处理数据时的强大功能,并为进行大型项目的开发打下一点基础。 参考文献: 1、西门子公司 《S7300 400寻址》 2、《西门子S7-300/400 PLC编程语句表和结构化控制语言描述(第3版)》
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 医学/心理学

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服