发布于 2009-02-02 10:56:22
0楼
1、 L #SRC_DB; //Open DB
T #DB_LOAD_TEMP; //问题1: #DB_LOAD_TEMP的作用?
OPN DB [#DB_LOAD_TEMP];
L #DST_DB; //Open DB
T #DB_LOAD_TEMP;
OPN DI [#DB_LOAD_TEMP];
这几句加起来就知道#DB_LOAD_TEMP只不过是个中间寄存器,过渡一下,暂存需要打开的背景数据块的块号。 这几句的意思是先用DB的方式打开源数据块,再用DI的方式打开目的数据块。
2、R #Enable; //问题2:此语句的作用?
表面理解就是将#Enable复位了。 按照常规的程序写法推测如下: 程序的作者在其他地方某个条件下将#Enable置位,而#Enable=1将会执行该FC, 在执行完成该FC后又将#Enable复位,就是为了仅有一个扫描周期执行该FC,为此缩短了扫描周期时间。 这种用法很普遍,比如我们用触摸屏设置参数,然后会带一个触发位,只有触发位导通时才在PLC内计算该参数,计算完成后程序又将该触发位复位, 这样就仅仅在修改了数据的“一个扫描周期内”进行了计算。
3、请举例证明“ 如果不能保证每个周期中都写入值,应该使用IN/OUT参数。“这句话。
不知道这句话出自那里? 能够完整的描述一下吗?
To:LaoHuai ,08年换了工作,新的环境很忙,而且08年有了Baby,更忙。忙着工作,忙着赚钱养家糊口,呵呵,没有管理好论坛,抱歉! 祝大家新年快乐!
I can do it