我目前正在 g 代码中运行一个小循环,该循环必须等待一个公共变量来更改值。开启程序缓冲后,我的 g 代码程序看不到变量的变化!
当我在这个 g 代码循环中时,关闭程序缓冲的最佳方法是什么?
如果我手动将程序缓冲(NC 可选参数第 2 位第 7 位)设置为“不”。然后我的循环运行正常,控制器正确检查每个循环的公共变量的值。
NLOOP G04 F1
IF[VC890 EQ 0] GOTO NRTS
GOTO NLOOP
NRTS RTS
非常直接的循环。也许它需要更复杂。
也许如果它更长,缓冲区就没有关系了?
我希望我的客户会希望打开程序缓冲。
我可以用 THINC API 暂时关闭它吗?
因为如果它有效,那就太好了:
public void SetNCOptionalParameterBit(
int intBitIndex,
int intBitNo,
OnOffStateEnum enValue);
如果这个函数可以让我设置参数位 2 位 7 打开和关闭,那么这可能是一个有效的解决方法。
Okuma.CMDATAPI.DataAPI.COptionalParameter myCOPtionalParameter;
myCOptionalParameter = new Okuma.CMDATAPI.DataAPI.COptionalParameter();
myCOPtionalParameter.SetNCOptionalParameterBit(2, 7,
Okuma.CMDATAPI.Enumerations.OnOffStateEnum.On);