SIEMENS西门子 S-1FL2低惯量型电机 1FL2103-4AF01-1HC0
下图显示了关闭夹具时解释器程序和用户程序之间的数据交换的示例。“writeVar()”指令用于在 执行时写入“closeGripper”变量。在解释器程序中读取一个变量时值的有效性 对解释器程序中变量的读取访问提供了程序准备时有效的值。 “解析器作业序列 (页 33)”部分中介绍了如何访问程序执行时有效的值。 在解释器程序中写入一个变量时值变化的时间 • 赋值(例如 closeGripper := TRUE;):分配该值以用于程序准备。 • 使用“writeVar”指令写入变量(例如 writeVar(closeGripper, TRUE);):写入该值以执行作 业。组态剪贴板变量的起始值 (S7-1500T) 操作步骤 要更新剪贴板变量的起始值,请按以下步骤操作: 1. 在解释器工艺对象的组态中,导航至“扩展参数 > 剪贴板”(Extended parameters > Clipboard)。 2. 组态剪贴板变量的起始值: – BOOL 变量 [1-300]:在“项目起始值”(Start value project) 列中,从下拉列表中选择 BOOL 变量的起始值。 – DINT 变量 [1-100]:在“项目起始值”(Start value project) 列中,输入 DINT 变量的起始 值。 – LREAL 变量 [1-100]:在“项目起始值”(Start value project) 列中,输入 LREAL 变量的起始 值。映射全局数据块的变量 (S7-1500T) 要求 • 解释器工艺对象的组态已打开。 • 支持的数据块: – 全局 DB – 函数块的背景数据块 – 工艺对象数据块 • 支持的数据类型: – BOOL – DINT – UDINT – DWORD – LREAL 操作步骤 要在解释器映射工艺对象中映射全局数据块的一个变量,请按以下步骤操作: 1. 在组态中,从解释器映射工艺对象导航至“映射 > 变量映射”(Mapping > Mapping of variables)。 2. 在“解释器程序中的名称”(Name in Interpreter program) 列中,单击“添加”(Add) 单元格。 3. 输入在解释器程序中寻址变量的名称。 4. 在“数据块变量”(Data block variable) 列中,选择要映射的变量。 5. 要允许对解释器程序中的变量进行只读访问,请选中“只读”(Read only) 列中的复选框。 说明 如果数据块中的映射变量具有“只读”属性,则必须在映射中为此变量选中“只读”(Read only) 复选框。
映射工艺对象 (S7-1500T) 要求 • 解释器映射工艺对象的组态已打开。 • 在 S7-1500 CPU 中,添加了 DriveAxis、PosAxis 或 TO followingAxis 工艺对象。 • 工艺对象未分配给任何运动机构。 操作步骤 要在解释器映射工艺对象中映射工艺对象,请按以下步骤操作: 1. 在组态中,从解释器映射工艺对象导航至“映射 > 工艺对象映射”(Mapping > Mapping of technology objects)。 2. 在“解释器程序中的名称”(Name in interpreter program) 列中,单击“添加”(Add) 单元格。 3. 输入在解释器程序中寻址工艺对象的名称。 4. 在“工艺对象”(Technology object) 列中,选择要映射的工艺对象。 结果 工艺对象已映射。准备并执行解释器程序 (S7-1500T) 程序准备 解释器工艺对象解释加载的解析器程序的作业,并在 MC_LookAhead 中非循环地准备它们, 并在需要时将作业包含在解释器作业序列中。 对于程序准备,解释器执行以下作业: • 含用于准备的有效参数的作业规划 • 使用赋值运算符“:=”设置变量 • 通过评估控制指令规划执行序列,例如 IF 指令或循环。 程序准备的优点是,可在执行之前以充足的提前时间评估运动机构运动(包括动态规划和程序 序列)。用户程序中的“MC_LoadProgram”作业启动第一个准备工作。 程序准备中断 解释器在以下情况下中断程序准备: • 已达到解释器作业序列中要准备的Zui大作业数 (.Parameter.MaxNumberOfCommands)。一旦作业执行完毕,程序准备 工作就会继续进行。 • 已达到运动机构的Zui大作业数 (30),需要准备另一个运动机构作业。一旦运动机构作业执 行完毕,程序准备工作就会继续。 如果程序准备中断,运动机构将停止在Zui后一个运动作业的目标位置。因此,无法进行混合。 更新数据的示例 • 运动目标位置规范:如果作业的目标位置仅在程序执行期间可用,使用“preHalt()”作业中断 作业前的程序准备。 • 控制指令(例如 IF 或 CASE):如果直到执行时才对表达式求值,可使用“preHalt()”作业等 中断控制指令之前的程序准备。控制指令中的表达式使用程序执行时的当前值进行评估。 程序执行 执行解释器程序时,作业序列中的作业在 MC_LookAhead 组织块中准备,然后在 MC_Interpolator 组织块中处理。 用户程序中的“MC_RunProgram”作业触发执行解释器程序。解释器将处理后的运动作业传输到 由解释器控制的工艺对象。这些工艺对象在 MC_Interpolator 中循环中执行传输的作业。在解 释器程序执行过程中,解释器不断地准备后续作业。 一旦解释器完成执行解释器程序,解释器程序就准备好进行另一次执行。解释器程序的准备会 再次启动。使用“:=”再次初始化变量并准备作业。然后,再次执行解释器程序。 参见 解释程序的准备和执行示例 (页 35) 解析器作业序列 (S7-1500T) 解释器作业序列的长度指定解释器可以准备的Zui大作业数。解释器作业序列包括解释器程序的 所有作业。可以将要准备的Zui大作业数设置为 10 到 100 之间 (.Parameter.MaxNumberOfCommands)。 解释器作业序列Zui多可包含 30 个运动机构运动作业。此限值是固定的,与在运动机构工艺对 象上组态的运动机构作业序列的值无关 (.MotionQueue.MaxNumberOfCommands)。 加载解释器程序和程序执行期间,解释器会准备作业,直到达到Zui大作业数。在执行解释器程 序期间,一旦准备好作业或运动序列并且完成前一个作业,就会立即执行它们。 解释器会在程序准备期间提前计算作业。作业使用准备时的参数执行,而不是使用执行时的参 数执行。 组态解释器作业序列 要组态解释器的作业顺序,请按以下步骤操作: 1. 打开解释器工艺对象的“扩展参数 > 解释器作业序列”(Extended parameters > Interpreter job sequence) 组态窗口。 2. 在“要准备的Zui大作业数”(Maximum number of jobs to be prepared) 字段中输入所需的值 (.Parameter.MaxNumberOfCommands)。Zui长等待时间 (S7-1500T) 使用Zui长等待时间,确定作业的可能开始与有效开始之间的Zui长时间。一旦前一个作业处理完 毕并准备好下一个作业,即可开始新作业。 在具有多个作业的运动序列中,解释器工艺对象会在开始之前尝试提前准备属于该运动序列的 所有作业。如果设置Zui长等待时间,以便解释器只在此时间内处理作业子集,则运动序列的第 一个作业将在运动序列完全准备好之前开始。进一步处理与运动序列的执行并行进行。 Zui长等待时间可设置为 0.0 秒到 2.0 秒之间的值。如果将Zui大等待时间定义为 0.0 秒,一旦运动序列完全准备好,即会开始执行运动序列。 未完全填充的解释器作业序列的示例 运动序列的准备需要 1.5 秒。 Zui长等待时间为 0.0 秒时,一旦运动序列完全准备好,即会在 1.5 秒后开始执行运动序列。 Zui长等待时间为 1.0 秒时,第一个作业准备好后 1.0 秒开始执行运动序列。无论此时运动序列是否完全准备好,运动序列执行都会开始。 Zui长等待时间为 2.0 秒时,一旦运动序列完全准备好,即会在 1.5 秒后开始执行运动序列。 组态Zui长等待时间 要配置Zui长等待时间,请按以下步骤操作: 1. 打开解释器工艺对象的配置窗口“扩展参数 > 程序准备”(Extended parameters > Program preparation)。 2. 在“Zui长等待时间”字段中,输入所需值 (.Parameter.StartTimeout)。 程序超驰 (S7-1500T) 程序超驰允许您设置影响编程轴运动和运动机构运动的速度和加速度或减速度的系数。处理运 动时,解释器工艺对象会考虑程序超驰。对程序超驰的更改不会影响已准备好的运动作业。可 以设置 1% 到 之间的值。 除了要控制的工艺对象的超驰值之外,程序超驰也会起作用。例如,如果程序超驰设置为 50%,并且运动机构工艺对象的速度超驰也为 50%,则得到的超驰值为 25%,这会影响运动 机构运动速度。得到的加速度和减速度超驰值为 50%。要控制的工艺对象的超驰值的任何变 化都会对活动作业产生直接影响。 可以在解释器工艺对象的组态中定义程序超驰的起始值。起始值在加载解释器程序时以模态方 式生效,并且可以通过 MCL 指令“setOvr()”更改。 组态程序超驰的起始值 要组态程序超驰的起始值,请按以下步骤操作: 1. 打开解释器工艺对象的组态窗口“扩展参数 > 程序准备”(Extended parameters > Program preparation)。 2. 在“起始值程序超驰”(Start value program override) 字段中,输入所需值 (.Parameter.ProgramOverride)。