西门子STL指针例子.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

西门子STL寻址

一、寻址方式

二、POINTER指针数据类型

三、ANY指针数据类型

一、寻址方式

绝对寻址

32位指针交叉区域

1.1、直接寻址

直接寻址,是指在程序中直接访问CPU的存储区的寻址方式。这里的存储区包括输入/输出映像区(Input/Output)、位存储区(M)、定时器(T)、计数器(C)、数据块(DB)及功能块(FB/FC)等。

直接寻址又可以分为两种:绝对寻址和符号寻址。

所谓绝对寻址,是指在程序中使用存储区的物理地址的寻址方式。比如:I0.0,Q1.0,M2.0等等。

物理地址不能直观的表达其代表的意义。比如程序中看到“I1.0”,我们并不知道它是表示哪个按钮的输入,还是哪个接近开关的输入。这种寻址方式不利于程序的阅读、编写及后期的维护。

为了增加程序的可读性及可维护性,可以使用另一种寻址方式:符号寻址。

所谓符号寻址,是指给物理地址起一个与其功能相关的符号(名称)。比如上例中的“I1.0”,我们给它起个符号名“StartON”,当我们看到这个符号的时候,就知道它代表开机按钮。

符号寻址支持所有的存储区(I、O、M、C、T、DB、L),使程序的可读性及可维护性增强,是大型程序开发中常见的寻址方式。

以上两种寻址方式均属于直接寻址,在高级程序开发中,还会用到另一类的寻址方式:间接寻址。

1.2、间接寻址

存储器间接寻址

间接寻址的指针包括16位和32位,寻址方式包括存储器间接寻址和寄存器间接寻址

1.2.1、存储器间接寻址

[16位地址指针格式]

案例说明:

①DB块寻址

L2

TMW100//将2装在至MW100

OPNDB[MW100]//打开DB2

L%DBB0//将DB2.DBB0的值传送至MB0

TMB0

②定时器赋值

16位指针间接寻址

16位地址指针用于定时器、计数器、程序块(DB、FC、FB)的寻址,16位指针被看作一个无符号整数(0-65535),它表示定时器(T)、计数器(C)、数据块(DB、DI)或程序块(FB、FC)的号,16位指针的格式如下:

1.2.2、存储器间接寻址

[32位地址指针格式]

32位指针间接寻址

32位地址指针用于I、Q、M、L、数据块等存储器中位、字节、字及双字的寻址,32位的地址指针可以使用一个双字表示,第0位~第2位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地址,第19位~第31位没有定义,32位指针的格式如下:

案例说明:

①M存储区域寻址

LP#100.0//建立指针

TMD600//将指针装载至MD600

LMB[MD600]//此时指针指向的是MB100

TMB100

②位寻址

AM[MD100]//指针计算方法

=Q0.0

(该处地址计算方法为8#:如传入MD100为整数10#16,换算为8#20,指针所指的位为M2.0。)

③指针地址换算

L48

TMD200

LMW[MD200]

L1

+I

TMW100

(地址计算说明;10#48传送至MD200转换为2#110000,去除位地址后三位。得出2#110转换为10#6所以该指针指向的为MW6.

LMB[MD600]

装载指令

存储区域

访问宽度

地址指针

1.3、寄存器间接寻址

寄存器间接寻址

寄存器间接寻址为通过CPU的地址寄存器AR1,AR2进行寻址。AR1,AR2均为32位寄存器,寄存器间接寻址只使用32位指针。

分为内部区域间接寻址和交叉区域寻址。

1.3.1、寄存器间接寻址

32位指针内部区域

指针格式与存储器间接寻址的32位指针相同,第0位~第2位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地址,第19位~第31位没有定义,32位指针的格式如下:

内部区域寄存器间接寻址

[32位地址指针内部格式]

案例说明:

①内部区域指针

LAR1P#0.0//

文档评论(0)

186****2377 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档