定义变量符号时,自动分配地址的利与弊

已锁定

yanxiao

版主

  • 帖子

    12318
  • 精华

    49
  • 被关注

    193

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

定义变量符号时,自动分配地址的利与弊

824

9

2024-06-24 16:07:47

想到前一段时间的一个贴子,讨论如何规划V区内存,有人抱怨为什么不支持自动编址。

其实,Smart200有一个地方支持自动编址,对比一下,自动编址的利与弊。

Smart200的局部变量L区长这样:


定义符号变量时,只需要给出符号名、选择数据类型,地址是自动分配的,且无法干预。

这一设计很省心,有高级语言(比如C)的变量定义风格。

本人猜测,是因为L区对外不可见,纯内部使用,所以,不必在意具体的址。

不过有人提出了不一样的看法。

比如,把LB0中存贮的Bype数据,转换为一个REAL值,基于符号的程序如下:

STL:

LD     Always_On:SM0.0

BTI    #L_B:LB0, #L_W:LW1          // Bype转INT

ITD    #L_W:LW1, #L_DW:LD3         // INT转DINT

DTR    #L_DW:LD3, #L_R:LD7         // DINT转Real

LAD

完成转换涉及到的存贮范围是LB0-LB10。


同样的操作,如果变量定义在V区,可以这样定义符号:


STL:

LD     Always_On:SM0.0

BTI    V_B0:VB0, V_W0:VW0          // Bype转INT

ITD    V_W0:VW0, V_DW0:VD0         // INT转DINT

DTR    V_DW0:VD0, V_DW0:VD0        // DINT转Real

LAD:


完成转换涉及的存贮范围是VB0-VB3。

原因在于,V区定义符号,不是自动编址的,且允许地址重叠,数据的不同部分,可以定义成不同的符号。

比如:



定义变量符号时,自动分配地址的利与弊 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9371条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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