S7300寻址应用实例内容摘要:在plc编程过程中,凡涉及到大量数据处理时,都会用到寻址,这样数据处理起来很简便,让编程更加得心应手
关键字:寻址S7-300S7-400西门子plc编程编程是通过计算机来解决现实问题,任何程序都有数据结构和算法两方面内容,其中数据是基础,如何处理数据,在编程过程中都是很重要的工作
在S7-300和S7-400plc编程的过程中,出于处理大量数据的需要,寻址是编程中的一项重要的工作,用于数据的存储,传送和转移
下面一段程序就是把一个数据块DB9中的50个数据循环下移一位,即第49个数据移到第50个数据字节中,第48个移到第49个,依次类推,第1个移到第2个,第50个在开始被保存的存储器中,最后再移到第一个数据字节中,思路是这样,具体实现方法如下:首先建一个数据块,在本例中建的是DB9,在数据中可以多建几个,这样便于观察数据在程序运行过程中是否溢出规定的范围
本例中共建了56个字节的变量,参与循环的数据为DB0到DB49
首先在初始化主程序OB100中写入赋初值的程序OPNDB9LP#0
0TMD96//将间接寻址的地址MD96赋初值P#0
0L1TMB92//将MB92设定为初始传送到DB9中的数据LP#48
0TMD100//MD100为被移位的数据,所以初值为P#48
0,移位时移//入P#49
0然后写循环子程序,这里用FC9,然后在OB1中调用FC9,FC9中程序Network1的思路是把DB9中的从DBB0到DBB49依次装入从1到50的数
Network1:OPNDB9//打开DB9A(LMD96LP#49
0=D)//若MD100大于p#0
0则执行移位JCNac//若MD100等于p#0
0后则跳走LAR1MD100//MD100存入地址寄存器LDBB[AR1,P#0
0]TDBB[AR1,P#1
0]//把上一位