西门子S7-200SMART PLC间接寻址的使用方法

如题所述

学习间接寻址对初学者来说可能有些困难,但别担心,本文将详细解释,帮助您轻松掌握这一技能。

01 指令讲解

1. 创建指针

使用间接寻址需要先创建指针。如何创建指针?使用MOV_DW指令将指针地址存储到OUT输出的变量中。MOV_DW是不是普通的32位数传送指令?那么它如何成为指针呢?

实际上,当MOV_DW指令的IN引脚使用&VBxxx、&IBxxx、&MBxxx、&QBxxx时,就是创建指针的格式。如图1所示,&VB0创建指针指向vb0,其中&是创建指针的符号,VB是V存储区的字节,0代表从字节0开始,指针地址存储在OUT输出变量地址中,VD100是创建指针存放的指针地址。

2. 引用指针

引用指针使用字符“*”表示。如图2所示,*VD100代表引用指针,将vd0的数据传送到vd200中。

如何判断指向的地址使用的是字节、字、双字?其实和指令有关。可以通过数据类型判断,如图3所示,将光标放在指令块处不动2秒左右,会弹出一个指令块引脚指令使用的数据类型。

这里可以看到IN:DWORD,输入为DWORD的32位数据类型,也就是双字。那么这时候引用的是VD0,指针没有偏移过,仍然指向VB0地址起始的,指令使用的是双字,所以引用的是VD0地址中的数据,将VD0赋值给VD200。

3. 指针偏移

初学者在使用指针时,对指针偏移的理解最容易混乱。指针偏移是对指针存放的地址进行运算得到一个新的指针地址。

如图4所示,按下M0.0将指针指向VB0的指针地址放在VD100中。如果这时候没有接通I0.0,那么程序段3就会将VD0的数据传送给VD200。如果接通了I0.0,那么程序段3就会将VD4的数据传送给VD200。

指针地址加多少就是向上偏移多少,也可以减去一个偏移量。一般字节偏移1,字偏移2,双字偏移4。如图4中的程序段2,指针地址VD100+4=VD100。程序中最先创建的指针是指向VB0,指针+4以后,指针指向偏移指向VB4。

02 案例应用

案例1

如表1所示,按下M0.0的按钮,将赋值数据传送给赋值地址,例如第一次将VB0传送给VB100。当第四次以后,按下M0.0按钮,指针重新指向VB0,重新开始。

表1

程序编写如图5所示,字节与字节之间地址相差1,编写VD1000+1=VD1000的运算程序,每次向上偏移1。

案例2

如表2所示,按下M0.0的按钮,将赋值数据传送给赋值地址,例如第一次将VW0传送给VW100。当第四次以后,按下M0.0按钮,指针重新指向VB0,重新开始。

表2

程序编写如图6所示,字与字之间地址相差2,编写VD1000+2=VD1000的运算程序,每次向上偏移2。

案例3

如表3所示,按下M0.0的按钮,将赋值数据传送给赋值地址,例如第一次将VD0传送给VD100。当第四次以后,按下M0.0按钮,指针重新指向VB0,重新开始。

表3

程序编写如图7所示,双字与双字之间地址相差4,编写VD1000+4=VD1000的运算程序,每次向上偏移4。

案例4

如表4所示,按下M0.0的按钮,将赋值数据传送给赋值地址,例如第一次将VD0传送给VD100。当第四次以后,按下M0.0按钮,赋值地址清零,然后下一次重新开始赋值。

表4

程序编写如图8所示,无论是输入还是输出,都可以通过指针进行间接寻址。通过地址偏移可以为不同的地址赋值。

03 总结

本文举例了简单的IN和OUT的间接寻址。间接寻址的使用方式还有很多,可以用在形参子程序中使用,例如求多个数值的平均值。利用for循环和间接寻址可以轻松解决这个需要多次运算的问题。现在西门子200smart v2.8的CPU支持平均值指令,可以不需要自己编写程序。

以上就是整个西门子S7-200smart间接寻址使用方法的内容。文章内容如有错误或有不懂的问题,请联系我们。
温馨提示:内容为网友见解,仅供参考
无其他回答

西门子S7-200SMART PLC间接寻址的使用方法
3. 指针偏移 初学者在使用指针时,对指针偏移的理解最容易混乱。指针偏移是对指针存放的地址进行运算得到一个新的指针地址。如图4所示,按下M0.0将指针指向VB0的指针地址放在VD100中。如果这时候没有接通I0.0,那么程序段3就会将VD0的数据传送给VD200。如果接通了I0.0,那么程序段3就会将VD4的数...

s7200smart怎么用间接寻址访问单个位呢?
读取位:使用S7-200 Smart的S_BIT(设置位)和R_BIT(读取位)指令,但这两个指令不直接支持间接寻址。你需要先通过计算得到位的完整地址(即DBx.y的形式,其中x是数据块号,y是位偏移,注意y需要是0-7之间的整数,因为每个字节有8个位)。间接寻址:在S7-200 Smart中,可以通过将偏移量(以字节...

西门子PLC地址怎么运用
1、存储单位:西门子PLC支持4种存储单位,分别是bit(位)\/byte(B字节)\/word(W字)\/double word(DW双字),它们之间的关系如下图:2、访问方式:访问方式根据存储单位来决定的,因此访问方式也具备四种模式(位访问、字节访问、字访问、双字访问),具体方式如下:3、寻址方式:寻址方式是访问地址数...

西门子200smart搜索功能怎样设置可以搜索全部程序
使用跳转功能输入查找变量。使用右键中的跳转功能,输入查找变量后,就可以看到全部程序使用的位置了。西门子200smart指S7-200SMART,是西门子公司开发的一款小型PLC,可满足大部分小型自动化设备的控制需求。

200smart程序中first scan on参数赋值怎么使用
下面讲述西门子S7-200SMART中局部变量的类型以及使用方法。S7-200 SMART提供了四种类型的局部变量,用L表示。IN:输入变量。将外部指定位置的参数传入子程序。OUT:输出变量。将子程序的运算结果传出到外部指定参数位置。IN_OUT:输入输出变量。将指定位置的外部参数传导子程序,再由子程序修改后再将结果...

西门子plc s7-200 smart指针怎么使用
一般小型PLC设有外接EEPROM卡盒接口,通过该接口可以将卡盒的内容写入PLC。也可将PLC内的程序及重要参数传到外接EEPROM卡盒内作为备份。程序存储卡EEPROM有6ES7291-8GC00-0XA0和6ES 7291-8GD00-0XA0两种,程序容量分别为8K和16K程序步。

s7-200 smart plc的ip地址怎么设定?
如图所示,在西门子S7-200SMART系列编程软件的左侧项目树形结构中,双击CPU,然后通信,将以太网端口下面打上对号,然后就可以设置IP地址了。最后在下载plc时,将系统块数据一起下载,就更改IP地址了。望采纳。。。

s7-200 smart plc的ip地址怎么设定?
1,打开setp7 smart 软件, 找到左侧的系统块,并双击。2,双击后出现如下页面,选择通信,可看到IP地址。3,你也在线查看PLC的IP地址。依次点击PLC - 上传 - 查找,右框区会显示 PLC IP地址。威纶6103ip如何与西门子200 smart plc通讯 威纶通开发平台与200PLC的通信一般按照以下步骤:1.打开EB8...

200smart定位控制到指定位置自动回原点ldp程序
在S7-200 SMART PLC中实现定位控制到指定位置后自动回原点的程序逻辑,可以大致分为几个步骤来设计Ladder Diagram (LD) 程序。首先,你需要配置定位模块(如EM253)的硬件参数,包括原点位置、运动速度、加速度等。在LD程序中,你可以设置一个主程序循环,其中:1. 初始化定位模块,确保所有参数设置正确...

s7-200smart通讯地址在哪看
使用S7-200软件STEP7 MicroWINV4.0的交叉索引功能可以实现你的要求。双点击左边的“交叉引用”图标,打开交叉引用窗口,输入输出点的使用情况,以及字节和位使用情况。打开别人编写好的程序,先编译,编译无错误后,再点击交叉引用项目,就可以看到已经使用的地址了。除了编译以后在交叉引用中查看,还要注意...

相似回答
大家正在搜