设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
S7-200 SMART 间接寻址
返回列表
发新帖
[西门子]
S7-200 SMART 间接寻址
[复制链接]
60
|
0
|
2024-4-23 19:07:41
|
显示全部楼层
|
阅读模式
一、间接寻址概念:
1、间接寻址是指用指针来访问存储区的数据。指针以双字的形式存储其它存储区的地址,只能将 V 存储单元、L 存储单元或累加器寄存器(AC1、AC2、AC3)用作指针。
注意:
S7-200 SMART CPU 允许指针访问下列存储区:I、Q、V、M、S、AI、AQ、SM、T(仅限当前值)和 C(仅限当前值)。
不能使用间接寻址访问单个位或访问 HC、L 或累加器存储区。
2、指针存储的就是存储器的内存地址或编号,如下所示,VB0表示的是一个存储器,而内存地址:16#08000000则就是VB0这个存储区所对应的内存地址,通过对这个内存地址的改变就可以实现对不同的存储区的访问,这就是间接寻址的过程。
3、间接寻址的使用过程主要分为建立指针,改变指针,通过指针对数据进行存取三步骤。
二、建立指针:
要创建指针,用“&”符号加上要访问的存储区地址可建立一个指针,必须使用“移动双字”指令,将间接寻址的存储单元地址移至指针位置。
注意:修改指针的值时,请记住调整所访问数据的大小:访问字节时,指针值加 1;访问定时器或计数器的字或当前值时,指针值加 2;访问双字时,指针值加 4。
三、修改指针:
对指针中的数据进行修改,可以实现对存储地址的改变,如图所示通过对指针进行加法操作来改变指针中的所存的数据,该数据指向的是PLC中存储器的内存地址。
四、通过指针对数据进行存取:
当指针的内容修改完后,需要根据修改后的指针的内容访问对应的存储区的数据,此时指令中的操作数是指针时,应该在操作数前面加上“*”号。
例程1.通过指针访问数据表
所实现的功能:
索引号VW1008=0时,将指定的配方0(VB100~VB104) 数据传送到(VB1500~VB1504)
索引号VW1008=1时,将指定的配方1(VB105~VB109) 数据传送到(VB1500~VB1504)
索引号VW1008=2时,将指定的配方2(VB110~VB114) 数据传送到(VB1500~VB1504)
索引号VW1008=3时,将指定的配方3(VB115~VB119) 数据传送到(VB1500~VB1504)
例程2.通过指针存储数据表
所实现的功能:
索引号VW1008=0时,将(VB1500~VB1504)数据传送到指定的配方0(VB100~VB104)
索引号VW1008=1时,将(VB1500~VB1504)数据传送到指定的配方1(VB105~VB109)
索引号VW1008=2时,将(VB1500~VB1504)数据传送到指定的配方2(VB110~VB114)
索引号VW1008=3时,将(VB1500~VB1504)数据传送到指定的配方3(VB115~VB119)
例程3.通过地址偏移量来访问V存储区数据
所实现的功能:
本例程可以实现对区任意字节数据的访问。
VD1000作为指针,指向VB0,然后利用VD1004存储的地址偏移量改变指针值,即,VD1000指向VD1000+VD1004的地址,并将该地址的数据复制到VB1008。通过改变VD1004,可以访问V区的任意单元。
举例:
VD1004=0时,将VB0的数据传送到VB1008,
VD1004=1时,将VB1的数据传送到VB1008,
VD1004=100时,将VB100的数据传送到VB1008。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
博图TIA
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』