能不能多次在不同的地方使用AR1/AR2
刘玉蓉
发布于2014-12-04 17:57
5
0
标签:
1.在一个FC内,能不能多次在不同的地方使用AR1/AR2,比如说多个不同的DB同时使用。有没有什么讲究?(仿真了下,好像可以的样子)
2看到说在FC的头和尾加
TAR1 #AR1_SAVE //DW
TAR2 #AR2_SAVE //DW
L DBNO
T #DB_SAVE //INT
L DINO
T #DI_SAVE //INT
LAR1 #AR1_SAVE
LAR2 #AR2_SAVE
OPN DB [#DB_SAVE]
OPN DI [#DI_SAVE]
这个通俗说是不是如在一个地方用了然后又要在别的地方用,加以上来释放AR1/AR2,以及OPN?如果是这样的话我在同一个FC内在要用AR1/AR2的程序段前后都加上这个,应该和在不同的FC内加上是一个道理?
3,DBNO和DINO是不要在变量表定义的吧,直接写?
有些不清楚,所以来问问
问题补充:
2、是否保存与释放AR1/AR2要根据实际应用而定。所述倒是编程中值得一个要要注意的地方。
(1)问有冲突呢?既然可以多次使用又如何要释放?是不是在一个FC内在要用AR1/AR2的程序段前后都加上这个更可靠?或这样做行吗?
3、DBNO和DINO要在变量表定义的,不能直接写
也是在TEMP内定义成INT吗,我看到的都是这个没定义
佳答案
1、在一个FC内,可以多次在不同的地方使用AR1/AR2。你可以把你理解为就是中间变量。
2、这样写的好处是可以把在进入FC时的AR1/AR2先保存起来,在FC块结束时再把AR1/AR2保存的内容重新装载进来。这样在FC中使用AR1/AR2的数据就不会覆盖掉AR1/AR2原来进入时的数据了。但这不是必须的,要根据你的程序来判断是否需要这样的做法。
3、这两个不必定义,当你的块中同时打开了两个DB块时就可以用L DBNO 和 L DINO 来取出DB号了。