您现在所在的是:

西门子SIEMENS

回帖:5个,阅读:505 [上一页] [1] [下一页]
* 帖子主题:

间接寻址请教

1561
sghgog
文章数:152
年度积分:50
历史总积分:1561
注册时间:2006/1/5
发站内信
发表于:2013/7/17 10:22:42
#0楼
有一段程序如下
因每次存贮按BYTE 14 DB11.DBW0=0-30。用间接寻址的方法可以简化程序,但如何做请高手指教?
A(    
    L     "DISPLAY".STEP_SETTING    //DB11.DBW0
    L     1
    ==I  
    )    
    JNB   _010
    CALL  "BLKMOV"
     SRCBLK :=P#DB100.DBX0.0 BYTE 14
     RET_VAL:=MW188
     DSTBLK :=P#DB12.DBX0.0 BYTE 14
_010: NOP   0
A(    
    L     "DISPLAY".STEP_SETTING    //DB11.DBW0
    L     2
    ==I  
    )    
    JNB   _010
    CALL  "BLKMOV"
     SRCBLK :=P#DB100.DBX14.0 BYTE 14
     RET_VAL:=MW188
     DSTBLK :=P#DB12.DBX0.0 BYTE 14
_010: NOP   0
A(    
    L     "DISPLAY".STEP_SETTING    //DB11.DBW0
    L     3
    ==I  
    )    
    JNB   _010
    CALL  "BLKMOV"
     SRCBLK :=P#DB100.DBX28.0 BYTE 14
     RET_VAL:=MW188
     DSTBLK :=P#DB12.DBX0.0 BYTE 14
_010: NOP   0
------------

19852
pqsh 版主
文章数:7496
年度积分:468
历史总积分:19852
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2013/7/17 11:34:11
#1楼
差不多这个意思?-----:
L P#0.0
T MD100
MD100=MD100+8*14*"DISPLAY".STEP_SETTING-----------------改成PLC语句
   CALL  "BLKMOV"
    SRCBLK :=P#DB100.DBX[md100] BYTE 14
    RET_VAL:=MW188
    DSTBLK :=P#DB12.DBX0.0 BYTE 14

或者,直接变P#DB100.DBX
L P#DB100.DBX0.0
T MD100
MD100=MD100+8*14*"DISPLAY".STEP_SETTING-----------------改成PLC语句
   CALL  "BLKMOV"
    SRCBLK :=md100 BYTE 14
    RET_VAL:=MW188
    DSTBLK :=P#DB12.DBX0.0 BYTE 14

或者,有配方的程序....

自己试试吧.
[此贴子已经被作者于2013/7/17 11:37:56编辑过]
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
1561
sghgog
文章数:152
年度积分:50
历史总积分:1561
注册时间:2006/1/5
发站内信
发表于:2013/7/18 12:22:10
#2楼
SRCBLK :=P#DB100.DBX14.0 BYTE 14 错误

SRCBLK :=md100 BYTE 14 错误

L P#DB100.DBX0.0 错误
1561
sghgog
文章数:152
年度积分:50
历史总积分:1561
注册时间:2006/1/5
发站内信
发表于:2013/7/18 12:27:36
#3楼
SRCBLK :=P#DB100.DBX[md100] BYTE 14 错误
1561
sghgog
文章数:152
年度积分:50
历史总积分:1561
注册时间:2006/1/5
发站内信
发表于:2013/7/20 15:31:07
#4楼
我试过程序错误,没有好办法吗?

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003