053711452
关于西门子STEP 的指针寻址问题 我在DB11中存储了一张表格的数据,想通过指针寻址来自动查找出其中的数值
yuanle
DB11.DBD<此处内容被屏蔽>MD10<此处内容被屏蔽>,你需要位地址指针。
DB11.DBD[MD10]
回复内容:
对: yuanle DB11.DBD[MD10] ... 内容的回复!
你好,谢谢您的回答。我现在想实现对数据块“test”中的数据读取,为什么会报错啊
L 18
T MD 200
OPN "test"
L MD 200
SLD 3
T MD 204
L DBW [MD 204]
T MW 30
greatxiaohuang
你的数据地址 在DB块里超出了范围了吧?18 SLD 3后是144了 DB块test中有144.0这个地址吗?
对: greatxiaohuang 你的数据地址 在DB块里超出了范围了吧?18 SLD ... 内容的回复!
低三位不是位地址么,18左移三位后不相当于10010 000(18.0)么
哦。。。 那试着这样写呢 L P#18.0 T MD204 ....
对: greatxiaohuang 哦。。。 那试着这样写呢 L P#18.0 T MD2... 内容的回复!
这样写倒是可以,不过我希望MD204作为变量,其他模块计算之后的数据自动给MD204,而不是我手动给他赋值,所以无法用P#xxx.0这种常数,说的有点乱,不知您明白没有
对: 053711452 回复内容:对: greatxiaohuang 哦。。... 内容的回复!
你能把相关完整的图像发上来看看吗?
这段程序不一定有错。。。
对: greatxiaohuang 回复内容:对: 053711452 回复内容:对: ... 内容的回复!
这是数据块中定义的值:
当取12,14,16的时候都能正确显示2,4,8,可是取18的时候就报错了
我这里试下来可以的呢 你是不是其他地方有问题啊?
对: greatxiaohuang 我这里试下来可以的呢 你是不是其他地方有问题啊? 内容的回复!
恩,我找到问题所在了,是因为数据块中的初始值和实际值不一样导致的,非常感谢你!
对: 053711452 回复内容:对: greatxiaohuang 我这里... 内容的回复!
哦 这也会引起错误的啊 感觉有点不可思议额
用SCL将会非常的easy