西门子s7-300间接寻址的指令说明
来源:电工天下时间:2015-10-27 05:42:36 作者:老电工手机版>>
一、西门子s7-300间接寻址的指令
1、立即寻址指令“L 100”表示将100装入累加器1。
2、直接寻址指令“L MW200”表示将编号为MW200这个箱子里的数据装入累加器1。
3、间接寻址指令“L MW[LD300]”表示LD300这个箱子里装的是真正存放数据的箱子的编号(即存放数据的MW的地址),假设LD300这个箱子里放的是MW200的地址,取出这个地址后,再把MW200这个箱子里的数据装入累加器1。
二、 西门子s7-300用于间接寻址的梯形图指令
实例:
OPN DB 1
L L#0
T DBW 170 //序号初始化
T DBW 172 //序号初始化
T DBD 200 //指针初始化
T DBD 204 //指针初始化
lab2: L DBD 200
L 80
>=D
JC lab1
A M [DBD 200]
JCN lab3
L DBD 200
L 1
+I
T DBW 174
L 1
L DBW 170
+I
T DBW 170
L 2
==I
= M 10.7
lab3: L 1
L DBD 200
+D
T DBD 200
JU lab2
lab1: NOP 0
这是一个间接循址的例子,dbd200为指针,dbw170统计m0.0-m9.7中置位的点的个数。dbw174指示最后一个置位点的序号。梯形图不支持间接寻址。
三、西门子s7-300间接寻址
做西门子200较多 通讯 模拟量 间接寻址 for循环都用过,最近有项目需要用到西门子300,看间接寻址的手册,不是很理解。
求指点与西门子s7-300间接寻址的实例。
解答:
1、建议看看:
《关于S7-300和S7-400指针寻址的说明与例程(更新版)(2008.03.04) 》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0215
、《西门子STL间接寻址常问问题集》
http://www.ad.siemens.com.cn/download/docMessage.aspx?
ID=6175&loginID=&srno=&sendtime=
2、实例:
典型的循环语句编程:
1. 将PIW128- PIW147,共20个字送入DB10中
在OB1:
L P#128.0 //初始读指针
LAR1
L P#0.0 //初始写指针
LAR2
CALL FC 100
2. 将PIW256- PIW275,共20个字送入DB20中
L P#256.0 //初始读指针
LAR1
L P#0.0 //初始写指针
LAR2
CALL FC 100
建立一FC块:
在FC100:
L 20 // 20个字的循环计数为初值
M001: T MB 10 //计数值 送入MB 10
L PIW [AR1,P#0.0] //按读指针指示的地址读数据
T DBW [AR2,P#0.0] //按写指针指示的地址写数据
+AR1 P#2.0 //读指针指向下一数据地址
+AR2 P#2.0 //写指针指向下一数据地址
L MB 10 //取循环计数值
LOOP M001 //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。
四、西门子S7-1200间接寻址指令的应用
西门子S7-1200的间接寻址需要通过数据块中的数组来实现。指令FieldRead通过索引(又称为下标)变量从数组中读取数值,指令FieldWrite 通过索引变量向数组中写数值,使用这两条指令可以实现间接寻址。
索引变量是间接寻址中的地址指针,它的值是要读写的数组元素的索引值。地址指针就像收音机调台的指针,改变指针的位置,指针指向不同电台。改变地址指针中的索引值,指针“指向”数组不同的元素。间接寻址的优点是可以在程序处理期间,通过改变指针的值动态地修改指令中的地址。
首先,生成一个名为“数据块1”的全局数据块DB2,在数据块中生成名为“数组1”的数组Array[1..10] of Int,其元素的数据类型为Int。
这两条指令没有列入指令列表和高级指令列表,编程时将收藏夹中的空逻辑框插入程序,点击其中红色的“??”,打开下拉式列表框,可以看到列表框底部的指令FieldWrite或FieldRead。点击生成的指令框中的“???”,用列表设置要写入或读取的数据类型为Int(见下图)。两条指令的参数MEMBER的实参必须是数组的第一个元素“数据块1”.数组1[1]。
指令的输入参数索引值“INDEX”是要读写的数组中的元素的下标,数据类型为DINT(双整数)。参数“VALUE”是要写入数组元素的值或要读取的数组元素的值。
下图中的FieldWrite指令将常数25写入数组1中的元素“数组1[3]”。FieldRead指令读取数组元素“数组1[3]”的值,将它保存到MW20。改变INDEX的值,可以读写别的数组元素的值。
相关文章
西门子s7-200系列plc顺序控制指令的功能详解
西门子s7-200系列plc顺序控制指令的功能,每一个scr程序段一般有三种功能,驱动处理,指定转移条件和目标,转移源自动复位功能,顺序控制指令的应用说明。
时间:2022-09-20 19:49:31
西门子plc数学运算指令的分类
西门子plc数学运算指令的分类,数学运算指令是对存储器数据进行的四则运算、函数运算处理,一般以字或双字的形式进行,数据可以是整数、浮点数。
时间:2022-09-18 14:29:56
西门子plc触点并联指令的用法
西门子plc触点并联指令的用法,触点并联指令为O(Or)、ON(Or Not),有关plc触点并联指令的梯形图与语句表的实例,plc触点并联指令的使用说明。
时间:2022-09-18 14:29:34
S7-1200基本指令:SR、RS用法指南
本文介绍了西门子S7-1200基本指令SR与RS的用法,置位/复位触发器SR,复位/置位触发器SR,以及s7-1200中置位/复位触发器的应用实例说明,供大家学习参考。
时间:2022-03-18 06:21:00
西门子s7-200系列plc定时中断指令编程入门
西门子s7-200系列plc定时中断指令编程入门,
时间:2022-02-05 08:11:01
西门子S7-200系列PLC中断指令第二部分
西门子S7-200系列PLC中断指令第二部分,先来复习下中断指令的三要素:激活中断(1次即可);中断事件连接中断程序;开放中断。以上提到的三要素,要求必须包含在中断指令的主程序中。
时间:2022-02-05 06:42:51
西门子S7-200系列PLC中断指令第一部分
西门子S7-200系列PLC中断指令第一部分,中断跟扫描周期无关,响应快,只要中断事件发生才会去执行程序,可以节省时间,避免等待和浪费时间。
时间:2022-02-05 06:38:11
西门子S7-200 Plc之比较指令入门教程
西门子S7-200 Plc之比较指令入门教程,本节来学习下西门子s7-200“比较指令”的知识,下面是比较指令的常见类型:常见操作数,针对B\I\DI\R做下简单的解释。
时间:2021-10-23 07:16:16