问题:
Cycle950 编程如下:
CYCLE950("reika1",,,"kone_1",321323,10,0.2,0.5,0.4,0.4,0.3,0.4,1,0,1,"aihio_1",,,,,90,,90,1)
子程序:
REIKA1.SPF
KONE1.MPF
AIHIO_1.SPF
自动方式下运行此程序无任何错误。
但是,在模拟方式下出现如下报警:
61705 "internal cycle error for read file"
如何解决此问题?
回答:
Cycle950中的程序段 _FEHL5:STOPRE 产生61705报警。
因为程序段中的变量_II 条件不满足,产生报警。
IF NOT((_II==0) OR (_II==21) OR (_II==23)) GOTOF _FEHL5
变量 _II表示READ指令状态。本问题中,自动运行方式下, _II等于0,程序运行无任何错误;模拟方式下,_II=3(文件未找到),触发61705报警。
Cycle950 READ指令必须找到_NP5程序(本例中,寻找子程序AIHIO_1.SPF)。Cycle950执行如下程序:
...
IF ISFILE( <<"_N_"<<_NP5<<"_SPF")
READ(_II,_PFAD<<"_N_"<<_NP5<<"_SPF",1,2,_FROMFILE)
ELSE
READ(_II,_PFAD<<"_N_"<<_NP5<<"_MPF",1,2,_FROMFILE)
ENDIF
...
自动方式下,可以实现无任何问题。但是,MMC的模拟软件不能识别指令ISFILE!这就是Cycle950能搜索到AIHIO_1.MPF而不能执行第一零件子程序(搜索*.SPF)的原因。若文件不存在,变量 _II存储的READ指令状态为3。
总结:
MMC软件版本的模拟程序不能识别指令ISFILE。这就是正确识别第二轮廓的原因。正因为如此,在Cycle950中的子程序必须为*.MPF。
本例中,将AIHIO_1.SPF更名为AIHIO_1.MPF,自动方式和模拟方式运行程序无任何错误。#Ende#
© Siemens AG, 1998, 2000n
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337100.html