CTRL_PTO:以预定频率输出一个脉冲序列 (S7-1200) 说明指令“CTRL_PTO”将以既定频率生成一个脉冲序列。此时,无需使用工艺对象的轴数据块。 要求使用“CTRL_PTO”指令时,需激活脉冲发生器。可在硬件配置中进行激活并选择信号类型。为此,需要在参数“PTO”中指定脉冲发生器,并将参数“REQ”置位为 TRUE。 说明 使用 PLC 脉冲发生器无论何时,一个指令只能使用一个脉冲发生器。 说明 对 PWM 和 PTO 使用强制表 PWM 和 PTO使用的数字量输入和输出无法强制。无论是强制表还是监控表,都不会影响由 设备组态分配的数字量输入和输出。 说明 PTO/PWM输出的过程映像 在过程映像中,请勿使用 PTO/PWM 输出(如,用于用户程序中的访问、在线功能或在 HMI中)。过程映像的更新速率比信号变化的速率要低得多。过程映像中的显示无法真实反映信号流的实际情况。下表列出了“CTRL_PWM”指令的参数: 参数 声明 数据类型 存储区 说明 PWM Input HW_PWMI、Q、M、D、L 或 常量 脉冲发生器的硬件 ID 该硬件 ID 位于设备视图(Device view) 的脉冲发生器属性中。脉冲发生器的硬件 ID 位于系统常量中。 ENABLE Input BOOL I、Q、M、D、L 或 常量脉冲输出在 ENABLE = TRUE 时启用,而在 ENABLE = FALSE 时禁用。 BUSY Output BOOLI、Q、M、D、L 处理状态 STATUS Output WORD I、Q、M、D、L 指令状态(见下文)。有关有效数据类型的更多信息,请参见“有效数据类型概述。
下表列出了“CTRL_PTO”指令的参数:参数 声明 数据类型 说明 REQ Input BOOL • REQ=1:将脉冲发生器的频率设置为 FREQUENCY 的值REQ=1 和 FREQUENCY=0:禁用脉冲发生器 • REQ=0:脉冲发生器无变化 PTO Input HW_PTO脉冲发生器的硬件标识符 该标识符可源自设备视图中脉冲发生器的属性,也可源自系统常量 列表。 FREQUENC Y InputUDINT 待输出的脉冲序列频率(单位为 Hz) DONE Output BOOL 状态参数,可具有以下值: •0:作业尚未启动,或仍在执行过程中 • 1:作业已经成功完成 BUSY Output BOOL 处理状态 由于 S7-1200在执行“CTRL_PTO”指令时启用脉冲发生器,S7-1200 中 BUSY 的值通常为 FALSE。 ERROR OutputBOOL 状态参数 • 0:无错误 • 1:指令执行过程中发生错误。 STATUS Output WORD 该指令的状态(见下文)。有关有效数据类型的更多信息,请参见“有效数据类型概述。配方和数据记录 (S7-1200, S7-1500) 配方函数(S7-1200, S7-1500) 配方函数 - 概述 (S7-1200, S7-1500) 说明使用指令“RecipeExport”和“RecipeImport”传送配方数据 • 从配方数据块传送到 CPU 存储卡中的 CVS文件内(“RecipeExport"”) • 从 CPU 存储卡中的 CVS 文件传送到配方数据块中 ("RecipeImport")说明 存储卡的使用寿命 存储卡的使用寿命有限。更多信息,请参见“AUTOHOTSPOT” 配方数据的保护 "RecipeExport"和 RecipeImport" 指令不适用于对配方数据采取特别保护的应用程序。要对 配方数据进行gaoji别保护,可使用 HMI的配方功能。 使用“RecipeExport”导出配方数据块的位置 使用 "RecipeExport"导出配方数据的数据块,可位于工作存储器中,也可位于装载存储器中。如果该数据块位于工作存储器和装载存储器中,则将使用工作存储器中的值。分隔符 可使用不同的分隔符分隔配方中的行值。例如,使用Excel 打开包含导出配方数据的 CSV 文 件时,可使用句点代替逗号或反向替换。这是因为,不同语言使用不同的小数点分隔符。更改将在导入 CSV 文件时生效。以下惯例适用于“RecipeImport”;Zui初检测到的分隔符将视为 表格行中所有值的分隔符。 •示例 1:如果检测到的分隔符为分号,则在导入过程中会将分号作为后续所有值的 分隔符。对于 REAL类型的值,则使用逗号作为小数点分隔符。 • 示例 2:如果检测到的分隔符为句点,则在导入过程中会将句点作为后续所有值的分隔符。对于 REAL 类型的值,则使用句点作为小数点分隔符。如果配方数据记录包含字符串,则需确保该字符串不包含要使用的分隔符。还需确保 字符串中不包含换行控制字符(如,ASCII字符:LF、CR LF、CR)。 注:不能使用空格和制表符作为分隔符,否则在导入过程中将导致错误代码 80B2。 说明配方功能的异步执行 由于配方功能为异步执行,需要在参数 DONE 或参数 ERROR 的值变为“1”之前,保持源区域中的数据不变。 RecipeExport: 导出配方 (S7-1200, S7-1500) 说明“RecipeExport”指令可将配方数据从数据块导出到装载存储器中的 CVS 文件内。 使用 S7-1500 CPU时,待导出的数据块可位于工作存储器中,也可位于装载存储器中。如 果数据块位于工作存储器和装载存储器中,则导出工作存储器中的值。对于S7-1200 CPU,待导出的数据块必须位于装载存储器中。 该 CSV 文件在装载存储器中创建。对于 S7-1500CPU,装载存储器就是存储卡;对于 S7-1200 CPU,装载存储器可以是内部或外部装载存储器(如果有存储卡)。在导出过程中,将在装载存储器主目录下的“Recipes”文件夹中创建 CSV 文件。数据块的名称 将用作所创建的 CSV文件的名称。如果已存在同名的 CSV 文件,则导出时将覆盖已有的文件。 每个配方数据记录都将在 CSV文件中生成一行。这些行具有以下结构: • 第一行中包含“索引”条目和配方组件的名称。 •在其它各行中,都包含有配方数据记录的编号(索引)和相关组件。当获取配方数据块的数据类型时,数据记录的Zui大大小为 5000个字节。超出此限制时,将 返回错误代码 W#16#8092。5000 字节的限制还适用于标头大小。如果标头大于 5000 字节,S7-1500 CPU 的导出字节限值为 5000,并且在生成首个配方数据记录后继续导出。这种情 况下,S7-1200 CPU拒绝完全导出并返回错误代码 W#16#8092。 S7-1200 CPU 也会监视列数目。列数不能超过 255(其中,索引列不计数)。如果配方 DB 是一个标准访问 DB,并且包含的组件数量大于允许值(如,包含 2 个 ARRAY 和 一个结构),则系统仅导出第一个ARRAY,将 STATUS 设置为 W#16#0000。 功能描述 “REQ”参数将触发导出操作。在导出过程中,参数 BUSY将置位为“1”。执行该指令后,BUSY 将复位为“0”,完成操作后,DONE 参数将指示“1”。 如果执行期间出错,ERROR 和STATUS 参数将发出信号加以指示。 参数 下表列出了“RecipeExport”指令的参数: 参数 声明 数据类型 存储区 说明REQ Input BOOL I、Q、M、D、L、 T、C 或常量 (对于 S7-1500,T 和 C 只能在 LAD 和 FBD中使用) 控制参数 REQUEST:在上升沿时激活导 出操作。 RECIPE_DB InOut VARIANT D指向配方数据块的指针。有关该数据块结 构的信息,请参见“配方数据块的结构 (页 3286)” DONE OutputBOOL I、Q、M、D、L 状态参数 • 0:作业未启动,或者仍在执行之中。 • 1:作业已执行,且无任何错误。 BUSYOutput BOOL I、Q、M、D、L 状态参数 • 0:该指令未执行。 • 1:该指令已执行。RecipeImport:导入配方(S7-1200, S7-1500) 说明 “RecipeImport”指令可将配方数据从装载存储器的 CVS 文件中导入RECIPE_DB 参数的数据块 中。 对于 S7-1500 CPU,CSV 文件位于存储卡中;对于 S7-1200 CPU,CSV文件则位于内部或外 部装载存储器中(如果有存储卡)。 此过程会覆盖数据块中的值。使用 S7-1500 CPU时,待导入配方数据的数据块可位于工作 存储器中,也可位于装载存储器中。如果该数据块位于工作存储器和装载存储器中,则值将导入到工作存储器内的数据块中。对于 S7-1200 CPU,待导入配方数据的数据块必须位 于装载存储器中。仅当将配方导入装载存储器 DB 中时,才能yongjiu性保留。如果将配方导入工作存储器 DB,又需要yongjiu性保存,则需在导入后使用 WRIT_DBL 指令将该配方传输到装载存储器 DB 中。 在导入 CSV文件时,请注意以下事项: • CSV 文件必须位于装载存储器的“Recipes”目录中。 • CSV 文件的名称必须与RECIPE_DB 参数中数据块的名称相匹配。 • CSV 文件中的每一行分别对应一个配方数据记录。CSV文件的第一行(标题)中,包含 配方组件的名称(另请参见“配方数据块的结构 (页 3286)”)。导入期间会忽略第一行。在导入过程中,不会同步 CSV 文件中配方组件的名称和数据块,且与条目数无关。 • 任何情况下,CSV文件中各行的第一个值都是配方的索引编号。各个配方按照索引顺序 导入。为此,CSV文件中的索引需按升序顺序排列且不能包含任何间隔,否则系统将在 STATUS 参数中输出错误消息 80B0。 •就配方数据记录而言,CSV 文件不能比数据块中多。数据记录的Zui大数量取决于数据块 中的数组限值。