电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

西门子PLC S7-200SMART间接寻址使用技巧  指针用法

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/7/18

西门子S7-200SMART PLC来说,寻址可分为直接寻址和间接寻址,直接寻址就是直接对数据进行赋值,那么间接寻址主要是用于什么地方?直接寻址与间接寻址它们之间有何区别?下面就带大家来学习间接寻址使用。

一、直接寻址与间接寻址区别

直接寻址就是直接对数据进行赋值,间接寻址主要用于需要在程序中修改地址的场合,特别是处理数据内容比较多的情况,使用间接寻址编程灵活,节省程序空间。

方式不同:

1、直接寻址:在指令格式的地址的字段中直接指出操作数在内存的地址。

2、间接寻址:指令地址字段的形式地址D不是操作数的真正地址,而是操作数地址的指示器,或者说是D单元的内容才是操作数的有效地址。

特点不同:

1、直接寻址:操作数的地址直接给出而不需要经过某种变换,在指令中直接给出参与运算的操作数及运算结果所存放的主存地址,即在指令中直接给出有效地址。

2、间接寻址:需要以寄存器符号的形式来表示,且在寄存器名称前面加上间接寻址符号“*”。

二、间接寻址说明

(1)间接寻址使用指针访问存储器中的数据,

(2)指针是包含另一个存储单元地址的双字存储单元。只能将V存储单元、L存储

单元或累加器寄存器(AC1、AC2、AC3)用作指针。

(3)要创建指针,必须使用“移动双字”指令,将间接寻址的存储单元地址移至指针位置。指针只能对以下存储区进行间接访问:I、Q、V、M、S、AI、AQ、SM、T(仅限当前值)和C(仅限当前值)﹔不能对单个的位地址、HC、L存储区和累加器进行间接寻址。

三、间接寻址使用方法

使用间接寻址的方式存取数据主要分为以下三个步骤来实现:

(1)建立指针

使用间接寻址之前,应创建一个指针。指针以双字的形式存储要访问的存储器的地址,只能用V存储器、L存储器或者累加器AC作为指针。建立指针时,用双字传送指令MOVD将需要间接寻址的存储器起始地址送到指针中。指针的输入数应该以“&”符号开头来表明存储区的地址,注意不是其内容将移动到指令的输出操作数中。

 

(2)指针偏移

通过加减乘除运算指令使指针偏移,比如将VD100加上4,则此时VD100指向VB4。

 

(3)读取指针

操作数前加“*”号,表示指令中的操作数是一个指针。

将指针指向的地址存储的数据调取处出来,通过*VD100提取数据(*是取值符),见下图,就是把VB4的值传送给VB200。

 

四、取值符说明

“*+指针”使用在字节的位置,访问的是指针指向地址开始的字节变量。

“*+指针”使用在字的位置,访问的是指针指向地址开始的字变量。

“*+指针”使用在双字的位置,访问的是指针指向地址开始的双字变量。

五、间接寻址案例

案例:通过指针的方式,当按下I0.1按钮时:

把VB4的值复制到VB200。

把VW10的值复制到VW300。

把VD20的值复制到VD400。

 

(1)建立指针

(2)将指针通过ADD_DI(加整数指令)进行加4,从而指针指向VB4,后再将VB4通过MOV_B(字节传送指令)把VB4传送给VB200。

(3)将指针通过ADD_DI(加整数指令)进行加6,从而指针指向VB10,后再将VW10通过MOV_W(字节传送指令)把VW10传送给VW300。

(4)将指针通过ADD_DI(加整数指令)进行加10,从而指针指向VB20,后再将VD20通过MOV_DW(字节传送指令)把VD20传送给VD400。

六、演示效果

通过状态图表分别把VB4、VW10、VD20写入数值

 

按下I0.1按钮,通过状态图表监控VB200、VW300、VD400的值是否是VB4、VW10、VD20传送过去的值。

 


七、间接寻址使用注意事项

(1)间接寻址指针表示大小为:32位=双字

(2)建立指针偏移时,是按照偏移数量进行累计,而不是和指针指向的起始地址进行累计。

Tags:间接寻址,smart,西门子PLC  
责任编辑:admin
相关文章列表
西门子PLC编程实现瞬时流量和累计流量的计算的例子 累积流量计算
西门子PLC模拟电压采集_S7-200模拟量采集实例 AIW0
西门子S7-200SMART PLC输出脉冲串的控制方式
西门子S7-200 PLC的间接寻址方式
西门子S7-200 SMART间接寻址方法
STEP7 Micro/WIN指令库-用户自定义
西门子S7-200 SMART PLC组态数字量输出 STOP数字量输出点设置为特
西门子S7-200 SMART PLC模拟量,模拟量比例换算
西门子系统块提供S7-200 SMART CPU、信号板和扩展模块的组态
西门子PLC组态模拟量输出 组态设置
西门子S7-200SMART PLC的模拟量输入输出详细介绍  模块组态配置 
STEP 7-MicroWIN SMART西门子200smartPLC和编码器进行高速计数程
西门子200smartPLC 通过Modbus读取绝对值编码器的数据
西门子STEP7编程软件的功能及使用 STEP7-Micro/WIN32
Step7编程软件的应用窗口 SIMATIC Manager软件
西门子plc S7-200 port0和port1区别,通信协议库的调用
主从站通讯MBUS_CTRL和MUBS_INIT 两台西门子PLC之间的MODBUS无线
西门子200SMART PLC间接寻址和指针实例详解
西门子plc的指针用法 _ 西门子PLC 间接寻址(指针)
西门子200SMART PLC电机运行时间累计及维保程序设计
西门子200SMART PLC关于FOR-NEXT指令使用技巧 循环指令梯形图实例
西门子200smart不同类型CPU的区别,西门子S7-200SMART  CPU主机型
西门子S7-200PLC CPU224XP模拟量输入AIW0和输出AQW0有什么关系?
西门子plc中的vb100,vw100,vd100有什么联系吗?寄存器知识
西门子plc 和modbusRTU对应关系_西门子S7-200和S7-200SMART的mod
西门子PLCS7-200/S7-200SMART Modbus地址问题应用解析
西门子S7-200SMART PLC使用modbus 读取仪表数据
西门子S7-200SMART两台PLC之间主从站,MODBUS主从站通信步骤设置
西门子S7-200 Smart PLC入门笔记8——电机控制子程序调用 子程序
西门子S7-200 Smart PLC入门笔记1——流水灯梯形图 MOV_B和SHL_B
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询