回复:请教:如何对多重背景FB里的变量进行位寻址。

Sean0508

西门子1847工业学习平台

  • 帖子

    44
  • 精华

    0
  • 被关注

    5

论坛等级:游士

注册时间:2007-12-29

普通 普通 如何晋级?

发布于 2014-02-19 15:09:07

5楼

quote:以下是引用dset在2014-02-18 10:19:04的发言:
现象:在一个被调用的多重背景FB里,一个IN类型的变量#Date_Type,根据#Date_Type的值对FB程序中某些数据按定义的类型处理。如果#Date_Type=1,数据按INT处理,如果#Date_Type=2,数据按REAL处理,等等。
问题:
1.我要怎么对#Date_Type进行位寻址? 是用指针的方式得到这个变量的绝对偏移地址?有简单的方式吗?我 用的是LAD,LAD和STL可以直接混用吗?如果要用指针的话我还是用比较指令好了,比较#Date_Type中的值得出标志位。
2.我知道S7-200中在子程序中可以直接L20.0,L20.1这样直接用。S7-300中可以类似这样用吗?S7-300中的局部数据L,应该怎么用?


1、可以位寻址,但是要用指针的方式
L P##Date_Type
LAR1
TAR2
+AR1
下面就可以用A [AR1,p#0.0]来位寻址了,不过要注意数据大小端的问题, [AR1,p#1.0]对应Date_Type最低位
2、
L #Date_Type
T LW 0
A L 1. 0
= Q 0.0
A L 1.1
= Q 0.1
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54622条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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