1. 变量声明及调用技巧

1.13. TwinCAT 2,TwinCAT 3,上电第一个扫描周期判断,首周期

使用firstcycle变量,程序在第一个扫描周期提供高电平信号的功能。

FirstCycleDuring the first PLC task cycle, this variable has the value TRUE.


如果是TwinCAT 3,可以直接使用系统变量,类型为PlcTaskSystemInfo,然后可以调用firstcycleinfosys说明:

https://infosys.beckhoff.com/content/1033/globaldatatypes/714821259.html?id=1449094368155551069

VAR
    nTaskIdx     : DINT;
     FirstCycle     : BOOL;
END_VAR
nTaskIdx := GETCURTASKINDEXEX();
IF nTaskIdx > 0 THEN
   FirstCycle := _TaskInfo[nTaskIdx].FirstCycle;
END_IF

如果是TwinCAT 2,需要加载TcSystem.lib,如果是默认Task中的话1用写入中括号内 systemtaskinfoarr[1].firstcycle

infosys说明:

https://infosys.beckhoff.com/content/1033/tcplclibsystem/11827949067.html?id=1136927604961304784

如果TwinCAT 2添加TcSystem.lib的时候,出现如下报错:



此时请检查使用的控制器,如果是BX9000等控制器,添加TcBaseBX这个库,infosys说明:



2018.6.4 张子然 编辑