请教:FC/FB中地址寄存器AR1,AR2的使用

已锁定

Rossi84

  • 帖子

    394
  • 精华

    1
  • 被关注

    22

论坛等级:侠圣

注册时间:2010-01-24

黄金 黄金 如何晋级?

请教:FC/FB中地址寄存器AR1,AR2的使用

801

0

2011-12-15 21:43:46

请教:FC/FB中地址寄存器AR1,AR2的使用
功能描述:
1·M0.0代表1#故障,M1.0代表2#故障,M2.0代表3#故障;
2·M0.0为1,MW80为1,M0.0为0,MW80为0;M1.0为1,MW82为2,M1.0为0,MW82为0;以此类推

我通过直接寻址实现了,判断当M0.0为1时,将固定地址与MW80作比较;当M1.0为1时,将固定地址与MW82作比较,以此类推。
目前想通过FC 编写一个循环程序简化程序,考虑在FC中使用地址寄存器,创建FC后,建立input :a1(bool),a2(word),a1连接M0.0,a2连接MW80,在FC中通过
L P##a1
LAR1
L P##a2
LAR2



+AR1 P#1.0
+AR2 P#2.0

实现功能,但是功能无法实现,第一次使用地址寄存器,请高手指点一下我在地址寄存器使用上的错误。
部分测试代码如下:

L #queue_db
T #queue_dbtmp
OPN DB [#queue_dbtmp]
L P##error_frt_Baddr
LAR1
L P##error_frt_Waddr
LAR2
L #Queue_max_number
ll0: T #num_loop1
A(
L #queue_number
L 0
>I
)
A [AR1,P#0.0]
// = "1#驱动"
JNB s1

///////////////////////////////
L #queue_number
ll1: T #num_loop2
CALL "FIFO"
TABLE :=DBW0
RET_VAL:=#cache_data1
A(
L #cache_data1
L W [AR2,P#0.0]
<>I
)
JNB s2
CALL "ATT"
DATA :=#cache_data1
TABLE:=DBW0
s2: NOP 0
NOP 0
L #num_loop2
LOOP ll1
s1: NOP 0
NOP 0
+AR1 P#0.1
+AR2 P#2.0
L #num_loop1
LOOP ll0
ed: NOP 0
请教:FC/FB中地址寄存器AR1,AR2的使用 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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