回复:应用探讨——西门子指针编程使用探讨

鹅卵石

  • 帖子

    3548
  • 精华

    25
  • 被关注

    62

论坛等级:奇侠

注册时间:2005-02-24

普通 普通 如何晋级?

发布于 2011-12-16 08:31:25

117楼

如何区分单字指针与双字指针?
?16位指针:16位地址指针用于定时器、计数器、程序块(DB、FC、FB)的寻址,16位指针被看作一个无符号整数(0~65535),它表示定时器(T)、计数器(C)、数据块(DB、DI)或程序块(FB、FC)的号:
寻址格式表示为: 区域标识符 [ 16位地址指针 ]
例如使一个计数器向上计数表示为:
CU C [ MW ]
上述指令中,’C’为区域标识符,而’MW20’为一个16位指针
?32位指针:32位地址指针用于I、Q、M、L、数据块等存储器中位、字节、字及双字的寻址,32位的地址指针可以使用一个双字表示,第0位~第2位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地址,第19位~第31位没有定义。
寻址格式表示为: 地址存储器标识符 [ 32位地址指针 ]
例如写入一个M的双字表示为:
T MD [ LD0 ]
‘MD’为区域标识符及访问宽度,而LD0为一个32位指针。
32位内部区域指针可用常数表示, 表示为P# 字节.位 。如常数
P# 10.3
为指向第10个字节第3位的指针常数。
若把一个32位整型转换为字节指针常数,从上述指针格式可以看出,应要把该数左移3位(或是乘8)即可。
如: L L#100 //Accu0装入32位整形100
SLD 3 //左移3位
T LD0 //LD0得到P#100.0指针常数
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54774条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。