30.14.3.1 逻辑功能

摘要

逻辑功能运行如下。

 

这是逻辑程序执行引擎的初始状态。在逻辑程序执行引擎得到初始化后,逻辑状态更改为“加载中”。

从内存中读取逻辑程序。它检查是否已正常加载逻辑程序,如果未正常加载,则纠正错误。一旦已经正常加载程序,它将停止。
如果为上电操作选择了 [ 运行 ],将执行运行命令。当更改为“运行中”状态时,输入/输出将被初始化。

逻辑处于暂停状态。当收到命令([逻辑复位]、[运行]、[执行第一次扫描]、[继续]或[暂停])时,状态会作相应更改。
[ 逻辑复位 ] 命令启动 “加载中”。符号变量被初始化。如果是保持变量,当电源关闭或人机界面逻辑复位时,将保持最近的数据。但是,如果用在线监控(在GP-Pro EX上运行逻辑程序的模式)或#L_Command进行逻辑复位,变量用GP-Pro EX中的逻辑功能初始值进行初始化。
[ 运行 ] 命令或 [ 执行第一次扫描 ] 命令会将清除型变量清零。[运行]命令开始“运行”。[执行第一次扫描]命令运行一次逻辑程序。

读取I/O,运行初始化的逻辑程序然后写入I/O。

逻辑程序执行引擎正在运行。引擎读取I/O,运行逻辑程序,写入I/O并更新系统变量(#L_AvgLogicTime、#L_AvgScanTime等)。
[逻辑复位]命令启动“加载中”。
[停止]命令停止逻辑运行。
[暂停]命令暂停逻辑运行。

逻辑程序执行引擎暂停。为防止I/O看门狗超时,会执行I/O写入/读取操作。但是,由于逻辑程序未运行,输出状态保持不变。在接到命令时,状态将作相应改变。
[逻辑复位]命令启动“加载中”。
[ 执行第一次扫描 ] 命令运行一次逻辑程序。
[ 停止 ] 命令停止逻辑。[继续]命令开始“运行”。

开发流程

扫描运行如下。

每64次扫描调整一次扫描时间。固定扫描时间模式和CPU扫描百分比模式的扫描时间如下。

扫描时间=(#L_AvgLogicTime * 100)/50(可以使用逻辑的机型 GP-33**系列:不包括30: 50)

扫描时间 = (#L_AvgLogicTime * 100) / #L_PercentScan