1、Wonderware FactorySuite 配方管理器 (RecipeManager) 用户指南 修订版 2001 年 6 月 Wonderware Corporation版权所有 未经 Wonderware 公司的事先书面许可 不得以电子 机械 影 印 录制或其它的任何方式复制 传输本说明文件的任何部分或将其储存在 检索系统中 使用此处包含的信息不应承担版权或专利责任 虽然在 本说明文件编制过程中采取了一切预防措施 错误或疏漏在所难免 出版 商和作者不对此承担任何责任 亦不对因使用此处包含的信息而引起的任 何损害负责 本说明文件的信息如有变更 恕不另行通知 亦不代表 Wonderware
2、 公司一方 的承诺 本说明文件所述的软件在遵守许可证或许可协议的前提下提供 本 软件的使用或复制须遵从这些协议规定的条款 2001 Wonderware 公司 版权所有 100 Technology Drive Irvine, CA 92618 U.S.A. (949) 727-3200 http:/ 商标 本书所有作为商标或服务标志的专门名词均采用大写字母印刷 Wonderware 公司并不保证本书信息的准确性 使用本书中的任何术语不应视为影响任何 商标或服务标志的有效性 Wonderware FactorySuite 和 InTouch 是 Wonderware 公司的注册商标 Windo
3、wMaker WindowViewer SQL Access Manager Recipe Manager SPCPro DBDump DBLoad HDMerge HistData Wonderware Logger Alarm Logger InControl InBatch IndustrialSQL FactoryOffice FactoryFocus License Viewer SuiteLink SuiteVoyager 和 NetDDE 是 Wonderware 公司的商标i目录第 1 章 配方管理器简介 . 1-1 关于本手册 1-2 技术支持1-3 您的 FactorySu
4、ite 许可证1-4 配方管理器程序.1-5 配方模板文件1-5 运行配方管理器.1-6 配方模板共同特性.1-7 第 2 章 - 使用配方管理器 2-1 配置配方模板首选项2-2 创建新配方模板文件2-3 编辑配方模板文件 .2-8 第 3 章 - 使用配方函数 3-1 配方函数3-2 配方参数3-3 使用配方函数 3-4 合并配方函数3-4 嵌套配方3-5 在配方中应用安全性3-6 第 4 章 - 配方函数错误排解. 4-1 函数错误排解 4-2 显示错误码信息.4-4 第 5 章 - 在其它 Windows 应用程序 中创建配方 5-1 使用 Excel 处理配方模板文件 .5-2 使用
5、记事本处理配方模板文件.5-4 词汇表 .G-1 索引 I-1ii 目录1-1 第 1 章配方管理器简介在制造业中 配方用于描述许多不同的事物 例如 面包房有饼干的基础配 方 列出制作饼干所必需的成分和许多诸如胡桃 水果 巧克力片等可选成 分 这些选择成分加上基本成分 可以制作出不同风味的饼干 在钢铁厂 里 配方可以是机器设置参数的集合 在批处理程序中 配方可以用来描述 批处理过程中的不同实例 InTouch 配方管理器结合基本 InTouch QuickScript 函数使用 可处理所有这些情形Wonderware配方管理器附加产品包括两个元件 配方管理器和一系列配方函 数 配方管理器是用于
6、建立配方模板文件的一个独立可执行程序 配方函数 在 InTouch QuickScript 中用于访问配方模板文件 配方函数允许 InTouch 选 择 加载 修改 创建和删除包含在配方模板文件中的配方 目录 关于本手册 技术支持 您的 FactorySuite 许可证 配方管理器程序 运行配方管理器1-2 第 1 章 关于本手册本手册由逻辑上连贯的多个章节组成 就建立配方模板的各方面问题分别进 行介绍 本书用 程序化 格式写成 通过连续的步骤阐述如何执行大多数 的功能和任务 如果您阅读的是本手册的联机版 则可以在看到绿色文本时 单击该文本来 跳到相关的章节 如果您要在跳转后回到原来的章节 可
7、以使用所提供的 后退 选项 这些 提示 可以告诉您如何用更简便快捷的方法来完成某项功能或 任务InTouch 用户指南 将帮助您熟悉 WindowMaker 开发环境及其工具 请参 阅第 1 章 WindowMaker 程序元素 要了解如何使用窗口 图形对象 向 导和 ActiveX 控件等元素 请阅读第 2 章 使用 WindowMaker 有关使用 InTouch QuickScript 的详细信息 请参阅第 6 章 在 InTouch 中创建 QuickScript此外 InTouch 参考指南 为您提供了有关 InTouch QuickScript 语言和函 数 系统标记名以及标记名点
8、域的深入参考资料有关运行时环境 (WindowViewer) 的详细信息 请参阅您的联机 InTouch 运 行时用户指南有关附加程序 SPC Pro 的详细信息 请参阅您的 SPC Pro 用户指南有关附加程序 SQL Access Manager 的详细信息 请参阅您的 SQL Access Manager 用户指南FactorySuite 系统管理员指南 也为您提供了有关 FactorySuite 中的一般 组件 系统要求 网络连接注意事项 产品集成 技术支持等方面的完整 信息FactorySuite 软件包还提供了所有 FactorySuite 组件的联机版手册 注意 要查看或打印联机
9、手册 您必须安装 Adobe Acrobat Reader 4.0 或以 上版本 假设本手册假设您 已经熟悉 Windows 2000 和 或 Windows NT 操作系统工作环境 懂得如何使用鼠标 Windows菜单 选择选项和访问联机帮助 有使用编程语言和宏语言的经验 最好理解一些编程概念 如变量 语 句 函数和方法等简介 1-3 技术支持Wonderware 技术支持提供许多支持选项 来回答有关 Wonderware 产品及其 实施的问题在联系技术支持前 请参考您的用户指南中的相关章节 寻找使用配方管理 器时所遇问题的可能答案 如果您觉得有必要求助于技术支持 请提供以下 信息 1. 您
10、的软件序列号 2. 您所运行的 InTouch 版本 3. 您所使用的操作系统类型和版本 例如 Microsoft Windows NT 4.0 workstation 4. 描述所遇系统错误消息的准确用词 5. 来自 Wonderware Logger Microsoft Diagnostic utility (MSD) 或任何其它 诊断应用程序的任何相关输出列表 6. 您所尝试的解决方法的细节和结果 7. 有关如何重现问题的细节 8. 如果所遇问题是老问题 请提供指定的 Wonderware 技术支持案例号有关技术支持的详细信息 请参阅您的联机 FactorySuite 系统管理员 指南1
11、-4 第 1 章 您的 FactorySuite 许可证要查看您的 FactorySuite 系统许可证信息 可以从 WindowMaker 帮助菜单 的 关于 对话框中启动许可证查看程序进行查看 要打开许可证实用程序 1. 在 WindowMaker 的 帮助 菜单上 选择 关于 命令 2. 单击 View License 查看许可证 License Utility - LicView 许可证实用程序 - LicView 对话框出现有关查看许可证实用程序的详细信息 请参阅您的 FactorySuite 系统管理员 指南简介 1-5 配方管理器程序配方管理器程序是一个类似电子表格的用户界面 可
12、用于建立和维护配方模 板文件 虽然可以用电子表格或字处理程序创建配方模板文件 但配方管理 器通过提供快捷方式和顺序方式使创建任务变得容易并能减少错误 配方模板文件所有配方都定义并存储在配方模板文件中 这些文件包含下面的信息 配方中可用的所有成分名称及其数据类型 将 InTouch 标记名与配方成分值相关联的单元名称 包含配方实例中使用的每种成分的数量或值的配方名称配方模板文件包括下面三个模板 模板定义使用 模板定义 可以定义包含在配方中的所有成分 每个配方成分都需 要定义一个数据类型 数据类型可以是模拟 离散或消息型 成分名称是任 意的 不一定是 InTouch 标记名 单元定义您可以使用单元
13、定义模板来使 InTouch 标记名和配方成分相关联 可以创建 许多不同的加载定义 这些定义称作单元 RecipeLoad() 函数使用这些定义 将特定的配方实例加载到相关的 InTouch 标记名中 一个单元定义可以包含 所有成分名称或只包含其中的一部分 注意 为单元定义的标记名可以是能在 InTouch 窗口查看和 或 编辑的内 存类型 也可以是能直接加载到 PLC 的 I/O 类型 每个模板文件保存为.CSV 逗号分隔变量 文件格式 因此 您可以在任何 支持 .CSV 文件格式的软件中创建 打开或编辑配方模板定义 例如 记事 本或 Microsoft Excel 配方定义您可以使用配方定
14、义模板来为配方中的每个实例定义配方名称 以及实例 中每种成分所需的数量 配方实例可以通过配方函数在运行时修改 创建 或删除1-6 第 1 章 运行配方管理器配方管理器是 Wonderware InTouch 的一个附加程序 当您安装配方管理器 时 它会自动加到 WindowMaker 的应用程序浏览器中 因此 您可以在 WindowMaker 内运行配方管理器程序有关应用程序浏览器的详细信息 请参阅 InTouch 用户指南 要运行配方管理器 1. 运行 InTouch WindowMaker 在应用程序浏览器中 单击 应用程 序 然后双击 配方管理器 2. 在 文件 菜单上 单击 新建 三个
15、 配方管理器 模板将出现简介 1-7 配方模板共同特性三个模板具有以下三个共同特点功能 描述输入框 文本输入框用于为所选单元输入 数据 当选定某个单元时 其内容将 显示在文本输入框中选择/自动调整模板大小 单击选择整个模板 双击以使模板 中所有列的大小自动调整为最长项 目的宽度选择/自动调整列大小 单击选择整个列 双击以使列大小 自动调整为最长项目的宽度 注意 模板定义 模板中的 项 目类型 列不能自动调整选择行 选择相应的行1-8 第 1 章2-1 第 2 章使用配方管理器配方管理器使用三种不同的模板来创建配方 您可以为模板配置您的首选 项 本章向您介绍配置配方模板首选项及创建配方的程序 目
16、录 配置配方模板首选项 创建新配方模板文件 编辑配方模板文件2-2 第 2 章 配置配方模板首选项在定义配方前 您必须为配方模板配置缺省值 当配置首选项时 您需要指 定每个配方模板中的最大项目数 单元和配方名 要配置首选项 1. 在 选项 菜单上 单击 首选项 首选项 对话框出现2. 在 最大项目 框中 输入 模板定义 模板中允许的项目数 3. 在 最大单元 框中 输入 模板定义 模板中允许的单元数 4. 在 最大配方 框中 输入 模板定义 模板中允许的配方数 以上三项的最大值为 9999 但是 数目越大 系统响应时间越长 5. 单击 确定 警告 首选项 对话框中的设置值将应用于您创建的所有配
17、方模板文 件 当您修改这些值时 所有现有配方模板文件也将被修改 要开启 按下回车键自动向下 功能在 选项 菜单上 单击 按下回车键自动向下 按下回车键自动向下 选项简化了配方模板中的数据输入过程 当开 启此选项时 按 ENTER 键可使光标移到同一列中的下一个单元格 要关闭 按下回车键自动向下 功能在 选项 菜单上 再单击 按下回车键自动向下使用配方管理器 2-3 创建新配方模板文件您可以使用以下三个模板来创建配方模板文件模板 描述模板定义 用于定义配方中的所有成分 每个配方成分都 需要定义一个数据类型 数据类型可以是模 拟 离散或消息型单元定义 用于将 InTouch 标记名和配方成分相关联
18、 您 可以创建许多不同的单元定义 配方管理器 RecipeLoad() QuickScript 函数使用这些定义将 配方中的特定实例加载到各个 InTouch 标记名 中 单元定义可以包含所有成分名称或只包含 其中的一部分配方定义 定义每个配方的名称及所用每个配方成分所需 的量 要定义 模板定义 1. 在 文件 菜单上 单击 新建 三个 配方管理器 模板将出现 如果您右击文本输入框 一个菜单会出现 显示可应用于选定文本的 命令 2. 单击 模板定义 模板的标题框 激活并将其置于窗口前端2-4 第 2 章 3. 在 项目名 列单元格中 输入每个配方成分的名称 每个单元格只能输入一种成分 如果 E
19、NTER 键被设为 按下回车键 自动向下 则在输入每种成分后 按 ENTER 键可向下移到下一个 单元格 4. 在 项目类型 列单元格中 输入相应配方成分的有效项目类型 有效的项目类型是 模拟 离散或消息型 您只需在单元格中输入类 型的第一个字符 然后按 ENTER 配方管理器将为您自动填入其余 部分 要定义 单元定义 1. 单击 单元定义 模板的标题框 激活并将其置于窗口前端 单元定义 模板显示先前输入的 模板定义 模板中的项目名和项 目类型信息2. 在 单元名 行中 在每个列标题 单元 1 单元 2 等 下方的单元 格中 输入您要定义的每个单元名称 您可以使用模板上的滚动条来浏览配方数据
20、项目名 和 项目 类型 列不能移动 因此 在添加配方实例后 主配方消息仍保持 可见 3. 在 单元# 列单元格中 输入 项目名 列中每个相应配方成分的 InTouch 标记名 如果 WindowMaker 正在运行 双击单元格以显示标记浏览器 要访 问标记浏览器 WindowMaker必须已运行使用配方管理器 2-5 4. 在标记浏览器上双击所需标记名将其插入到单元格 或选择标记名 然 后单击 确定 为单元定义的标记名可以是可在 InTouch 窗口中查看或编辑的内存类 型标记名 也可以是可直接输入到 PLC 的 I/O 型标记名有关标记浏览器的详细信息 请参阅 InTouch 用户指南 5.
21、 重复此过程 定义每个单元名 注意 在 InTouch QuickScript 中使用 RecipeLoad() 函数时 必须指定 配方名和单元名 当执行 QuickScript 时 该配方名定义中包含的值将加 载到单元名指定的标记名中 要定义 配方定义 1. 单击 配方定义 模板的标题栏 激活并将其置于窗口前端 如果不能 访问 使用 窗口 菜单选项来选择模板 配方定义 模板会显示先前定义的 模板定义 模板中的项目名和 项目类型信息2. 在 配方名 行中 在每个配方列标题 配方 1 配方 2 等 下方的 单元格中 输入您要定义的每个配方的名称 您可以使用模板上的滚动条来浏览配方数据 项目名 和
22、 项目 类型 列不能移动 因此 在添加配方实例后 主配方消息仍保持 可见2-6 第 2 章 3. 在 配方 # 列单元格中 输入 项目名 列中每个相应配方成分的值 在 InTouch QuickScript中执行 RecipeLoad() 函数时 这些值将加载 到 InTouch 标记名中 此程序的 InTouch 配方函数部分将直接从配方模板文件读取或写入配 方模板文件 因此 不必运行配方管理器程序 就可在 InTouch QuickScript 中正确执行配方函数 警告 如果 InTouch 当前正在使用配方模板文件 则您建立的任何新配 方或对现有配方所做的任何更改均不能写入配方模板文件
23、配方管理器 只建立配方模板文件 在建立后 应关闭配方管理器 4. 在 文件 菜单上 单击 保存 以保存您的配方模板文件 要打开现有配方模板文件 1. 在 文件 菜单上 单击 打开 打开配方模板 对话框出现2. 找到并选择配方 .CSV 文件 然后单击 打开 或者双击文件名 文件 中的三个配方模板将出现使用配方管理器 2-7 要删除配方模板文件 1. 在 文件 菜单上 单击 删除 删除配方模板 对话框出现2. 找到并选择配方 .CSV 文件 然后单击 打开 或者双击文件名 屏幕 出现一个要求您确认删除的对话框 注意 不能删除打开的配方模板文件2-8 第 2 章 编辑配方模板文件 您可以通过多种方
24、式来编辑现有配方模板文件 其中最简单的方法是使用 编辑 菜单命令 这些命令允许您清除 填充 插入或删除配方模板文件 内的单个选定单元格或选定范围内的多个单元格 要清除选定范围内的单元格 1. 选择数据范围2. 在 编辑 菜单上 单击 清除 一个消息框出现 要求您确认清除 选定范围内的单元格 3. 单击 是 选定范围内的数据即被清除使用配方管理器 2-9 向右 向下 向左或向上填充 这些命令用于将选定单元格范围内的数据复制到选定单元格的邻近范围中 1. 选择要复制的单元格或单元格范围 然后选择您要将数据复制到的单元 格邻近范围 左 右 上或下 所选范围必须大小相同 2. 在 编辑 菜单上 选择相
25、应的填充命令 数据将复制到所选范围的单 元格中2-10 第 2 章 3. 在 编辑 菜单上 指向 向右填充 所选数据将自动向右填充 如果数据所复制到的新列不足以容纳最长输入项 只需双击列标题将列 宽改为最长输入项的宽度使用配方管理器 2-11 要插入行 您可以在 模板定义 模板中插入行 1. 单击 项目# 选择您要在其上插入新行的 模板定义 中的行 2. 在 编辑 菜单上 单击 插入 一个新行将插入到所选行的上方 注意 一旦达到为配方管理器 首选项 配置的最大值 此命令将不再 有效 您必须关闭当前模板文件 然后在 选项 菜单上 单击 首选 项 首选项 对话框出现 增大指定值以在配方模板文件中添
26、加项 目/单元/配方 当您修改 首选项 时 所作更改将应用于所有的现有配方模板文件 3. 所有后续行将自动重新编号 模板定义 中的所有插入和删除项也将自动反映在 配方定义 和 单元定义 模板中 注意 您不能在 配方定义 或 单元定义 模板中插入行2-12 第 2 章 要插入列 您可以在 配方定义 或 单元定义 模板中插入列 1. 单击 单元 # 选择您要在其旁边插入新列的 单元定义 中的列 2. 在 编辑 菜单上 单击 插入 一个新列将插入到所选列的旁边3. 在 编辑 菜单上 单击 插入 一个新的空列将插入到所选列的 左边 在本例中 注意 Mixer 1 的数据现在已移至 Unit 3 列 一
27、个空 白列已作为 Unit 2 插入使用配方管理器 2-13 要删除列 您可以从 配方定义 或 单元定义 模板中删除列 1. 单击 单元# 列标题 选择您要删除的列 2. 在 编辑 菜单上 单击 删除 屏幕出现一个要求您确认删除的对 话框 3. 单击 是 所选列即从模板中被删除 在本例中 当 Unit 2 列被删除时 Unit 3 列中的 Mixer 2 数据将移到 Unit 2 列中 要删除行 您可以从 模板定义 模板中删除行 1. 单击 项目# 行标题 选择您要删除的行 例如 2. 在 编辑 菜单上 单击 删除 屏幕出现一个要求您确认删除的对 话框 3. 单击 是 所选行即从模板中被删除
28、在上面的对话框中 如果 项目 1 行被删除 项目 2 行中的数 据将移到 项目 1 行中2-14 第 2 章3-1 第 3 章使用配方函数InTouch使用配方函数来与模板文件相互作用 这些函数是标准 InTouch QuickScript 函数的扩展并可用于任何脚本中 它们允许您从 InTouch 配方应 用程序中选择 修改 插入或删除现有配方模板文件中的记录 目录 配方函数 配方参数 使用配方函数 嵌套配方 在配方中应用安全性3-2 第 3 章 配方函数本章节列出所有的配方函数 配方函数的一般格式如下所示 RecipeFunction(Argument1, Argument2,.,Argu
29、mentN)有关每个配方函数及其使用实例的详细信息 请参阅 InTouch 参考指南函数 描述RecipeDelete 此函数用于从指定的配方模板文件中删除当前 定义的配方名称RecipeGetMessage 此函数用于将已执行函数的错误代码写入到模 拟型标记名 相应的错误代码消息写入到消息 型标记名 有关显示错误代码消息的详细信息 请参阅第 4 章 配方函数错误排解RecipeLoad 此函数用于将特定配方加载到标记名的特定单 元中有关标记的详细信息 请参阅 InTouch 用户 指南RecipeSave 此函数用于将新近创建的配方或对现有配方所 作的更改保存到指定的配方模板文件中Recip
30、eSelectNextRecipe 此函数用于选择配方模板文件中当前定义的下 一个配方名RecipeSelectPreviousRecipe此函数用于选择配方模板文件中当前定义的前 一个配方名RecipeSelectRecipe 此函数用于选择配方模板文件中当前定义的特 定配方名RecipeSelectUnit 此函数用于选择当前配方值所加载到的标记名 单元 有关合并函数的详细信息 请参阅 合并配方 函数使用配方函数 3-3 配方参数下面介绍每个配方函数所需的参数 当在脚本中输入用引号括起的参数时 例如 Argument1 则脚本将使用整个文字 如果没有使用引号 Argument1 将被视为标
31、记名 系统会通过访问 InTouch 标记名字典来获取标 记名 Argument1 的值配方函数的参数可以是下面的一个或多个参数 描述FileName 此参数是函数所作用到的配方模板文件名 FileName 可以是字符串常量或一个 I/O 或内存型 InTouch 标记 名RecipeName 此参数是函数所使用的指定配方模板文件中的特定配方 名 RecipeLoad() RecipeSave() 和 RecipeDelete() 函 数要求用户提供 RecipeName RecipeSelectRecipe() 函 数将返回一个值给此参数 RecipeName 参数可以是字 符串常数或一个
32、I/O 或内存型 InTouch 标记名UnitName 此参数是函数所使用的指定模板文件中的特定单元名 RecipeLoad() 函数需要用户提供 UnitName RecipeSelectUnit() 函数将返回一个值给此参数 UnitName 可以是字符串常量或 I /O 或内存型 InTouch 标记名Number 如果函数参数需填入字符 此字段可设置返回给参数的 最大字符串长度 在 InTouch 中 字符串 消息型 标 记名的最大长度可达 131 个字符 此参数一般设为 131 除非您减小了 InTouch 标记名的最大字符串长 度 此参数可以是常数或 InTouch 模拟型标记名
33、3-4 第 3 章 使用配方函数配方函数可自动插入到 InTouch QuickScript 中 要将配方函数自动插入脚本 1. 打开 QuickScript 编辑器 单击 附件 或者在 插入 菜单上 选择 函数 然后单击 附件 选择函数 对话框出现 显示您已安 装的所有 InTouch 附加程序的所有函数 2. 单击您要插入到 QuickScript 中的配方函数 对话框关闭 函数将插入到 脚本中的光标位置有关 InTouch QuickScript 的详细信息 请参阅 InTouch 用户指南 中的第 6 章 在 InTouch 中创建 QuickScript 合并配方函数在同一脚本中可使
34、用多个配方函数 例如 您可以使用下面的脚本 用同一 按钮选择和加载配方 RecipeSelectRecipe(“c:recipefile.csv“, RecipeName, 131); RecipeLoad(“c:recipefile.csv“, “Unit1“, RecipeName);在 InTouch 应用程序窗口中 单击按钮以显示 选择配方 对话框 一旦选 定配方 其名称将返回给标记名 RecipeName 脚本继续执行 将所选 RecipeName 加载到指定的单元名 Unit1 中有关 InTouch QuickScript 的详细信息 请参阅 InTouch 用户指南 中的第 6
35、 章 在 InTouch 中创建 QuickScript使用配方函数 3-5嵌套配方多个配方模板文件可相互链接 使用 InTouch QuickScript 以创建复杂的应 用程序 为此 您在配方模板文件中定义的成分名需与另一配方名所加载到 的消息型标记名 在单元名中 相关联 这使得您可以创建主配方模板文 件 其中定义的诸如机器参数设置能被不同配方文件中的不同配方使用 将 此类信息保存在一个中心文件中可大大减少信息改变时维护和 或 更新数 据的时间在下面的 RECFILEA.CSV 文件示例中 项目名 Setup 定义为消息型 其单元包 含消息型标记名 Setup 每个配方包含第二个配方名 在
36、不同的配方文件中定 义 当选定配方时 该配方名将加载到标记名 Setup 中为此 输入下面的脚本 RecipeName=“Recipe2“; RecipeLoad(“c:reciperecfilea.csv“, “Review“, RecipeName);当执行该脚本时 标记名 Setup 的值变为 Setup3A 并加载到 Review 单元 通 过执行下面的脚本 当下一次将机器设置参数载入为 PLC1 单元定义的标记 名时 标记名 Setup 的值将用作配方名 RecipeLoad(“c:recipemachine.csv“, “PLC1“, Setup);3-6 第 3 章在配方中应用安
37、全性对配方的访问可通过在配方模板文件中定义项目名来控制 您可以在其中设 置要加载 保存和删除配方所需的最小安全访问级别在下面的 MACHINE.CSV 文件示例中 SecurityLevel 定义为消息型 Review 单 元包含为该项目定义的消息型标记名 SecurityLevel 当将配方载入 Review 单元时 每个配方将定义一个载入 SecurityLevel 标记名的安全值如果需要 您可以在每次安全访问级别对所选配方无效时 显示一个包含 访问被拒绝 消息的窗口 为此 可以先将所选配方载入只包含模拟型标 记名的单元中 然后对所选配方的安全级别值进行确认例如 RecipeSelectR
38、ecipe(“c:recipemachine.csv“, “Review“, “RecipeName“);选择配方 对话框出现 一旦选定配方名 它将返回给标记名 RecipeName 脚本将继续执行 IF SecurityLevel = $AccessLevel THEN; RecipeLoad(“c:recipemachine.csv“, “PLC1“ “RecipeName“); ELSE Show “访问被拒绝“; ENDIF;当执行此脚本时 如果您的访问级别等于或大于 7000 则所选配方值将载入 到 PLC1 单元的标记名中 否则 将显示 访问被拒绝 消息的窗口 配方 将不会载入到
39、PLC1 中4-1 第 4 章配方函数错误排解本章介绍如何使用由配方函数返回的错误代码来排除配方应用程序错误 并 列出一个错误代码列表 讲解如何使用 RecipeGetMessage() 函数来显示错误 代码消息编号 目录 函数错误排解 显示错误码信息4-2 第 4 章 函数错误排解要取得配方函数的错误代码 必须对其赋予 InTouch 模拟型标记名实例 ErrorCode = RecipeLoad(FileName, UnitName, RecipeName);如果成功 RecipeLoad() 函数将标记名 ErrorCode 的值设为 0 如果 RecipeLoad() 失败 它会将模拟
40、型标记名 ErrorCode 设为表示特定错误条件 的编号 以下列出可能的错误码以及它们的相应错误消息和描述值 错误消息 描述0 成功 所调用的配方函数成功执行-1 无这种配方模板 指定的配方模板文件名不存在-2 View 没有激活 由于 WindowViewer没有运行 另一程序所调用的配方函数不能 执行-3 内存不够 没有足够内存来完成当前任务-4 在配方模板文件中行太长 配方模板文件中的某一行超出最 大允许长度-5 配方文件内的行被截断 配方模板文件中的某一行被 截断-6 不是一个有效的配方文件 指定的文件名不是有效的 .CSV 配 方模板文件 有关 .CSV 文件的详细信息 请参 阅第
41、 2 章 使用配方管理器-7 需要 单元 或 配方 配方模板文件缺少单元名或配 方名 有关单元或配方名的详细信 息 请参阅第 2 章 使用配方 管理器-8 在配方模板文件中无定义 单元配方模板文件 单元定义 模板 中没有定义单元-9 在配方模板文件中配方名 未发现配方模板文件中未定义指定的配 方名-10 在配方模板文件中单元名 没找到单元定义模板文件中未定义指定 的单元名-12 需要 模拟 离 散 消息配方模板文件中输入的项目类型 不正确 有效类型只限于 模 拟 离散 和 消息配方函数错误排解 4-3值 错误消息 描述-13 标记名类型非 模拟 离散 消息指定标记名的项目类型不正确 例如 配方
42、项目定义为 模 拟 但在单元中却为其定义了 消息型标记名-14 无效的离散值 需要 0 1配方模板文件中的离散量输入了 不正确的值 离散量的有效值仅 限于 0 或 1-15 无法打开临时文件 无法打开临时文件 磁盘空间可 能不够-16 在保存配方模板文件时写 错误保存配方模板文件时出现写 错误-17 用户没有选定 用户在 选择配方 对话框中选 择了 取消 而不是配方名-19 其它应用程序正在使用配 方模板指定的配方模板文件已被打开 所以 WindowViewer 不能访 问它4-4 第 4 章 显示错误码信息每个配方函数都会返回一个数字 表示函数的错误条件 通过在 InTouch 数 据改变脚
43、本中使用 RecipeGetMessage() 函数 可将相应的错误代码写入模 拟型标记名 并将关联的错误代码消息写入消息型标记名为实现这一点 使用下面的数据改变脚本 RecipeGetMessage(ErrorCode, ErrorMessage, 131);当模拟型标记名 ErrorCode 的值改变时 此脚本将自动执行 当此脚本执行 时 RecipeGetMessage() 函数将读取标记名 ErrorCode 的当前值 并将与此 数值关联的消息返回给标记名 ErrorMessage5-1 第 5 章 在其它在其它 在其它 在其它 Windows 应用程序中创建应用程序中创建 应用程序中
44、创建 应用程序中创建配 配 配 配 方方 方 方 配方模板文件以 .CSV(逗号分隔变量)的格式保存。因此,您可以在任何支 持 .CSV 文件格式的 Windows 程序,如 MicrosoftExcel和 Microsoft记事本 中创建或编辑配方。 目录目录 目录 目录 ! 使用 Excel 处理配方模板文件 ! 使用记事本处理配方模板文件5-2 第第第第 5 章章章章 使用使用使用使用 Excel 处理配方模板文件处理配方模板文件处理配方模板文件处理配方模板文件 “ 要在要在要在要在 Microsoft Excel 中打开现有的配方模板文件中打开现有的配方模板文件中打开现有的配方模板文件
45、中打开现有的配方模板文件: : 1. 启动 Excel。 2. 在“文件 文件文件文件”菜单上,单击“打开 打开打开打开”。“打开 打开打开打开”对话框出现。 3. 找到并选择 .CSV 文件,然后单击“打开 打开打开打开”,或者双击文件名。 .csv 文件 打开。 在其它在其它在其它在其它 Windows 应用程序中创建配方应用程序中创建配方应用程序中创建配方应用程序中创建配方 5-3 4. 现在您可以编辑 .CSV 文件。 注意注意注意注意: :本用户指南中演示用的 Excel 是第 7.0 版。如果您使用的是其它版 本,电子表格看上去可能会略有不同。 “ 要在要在要在要在 Excel 中
46、创建新的配方模板文件中创建新的配方模板文件中创建新的配方模板文件中创建新的配方模板文件: : 1. 启动 Excel。 2. 在“文件 文件文件文件”菜单上,单击“新建 新建新建新建”。“新建 新建新建新建”对话框出现。 3. 单击工作簿图标以打开一个空白电子表格。在电子表格中输入数据。 4. 输入时必须按上面的顺序进行。所有的单元名在文件中必须先于配方名定 义。在输入所需数据后,必须用 .CSV 扩展名保存电子表格,例如 reclist.csv。5-4 第第第第 5 章章章章 使用记事本处理配方模板文件使用记事本处理配方模板文件使用记事本处理配方模板文件使用记事本处理配方模板文件 “ 要在要
47、在要在要在 Microsoft 记事本中打开现有的配方模板文件记事本中打开现有的配方模板文件记事本中打开现有的配方模板文件记事本中打开现有的配方模板文件: : 1. 启动记事本。 2. 在“文件 文件文件文件”菜单上,单击“打开 打开打开打开”。“打开 打开打开打开”对话框出现。 3. 找到并选择 .CSV 文件,然后单击“打开 打开打开打开”,或者双击文件名。 .CSV 文件 打开。 4. 现在您可以编辑 .CSV 文件。 在其它在其它在其它在其它 Windows 应用程序中创建配方应用程序中创建配方应用程序中创建配方应用程序中创建配方 5-5 “ 要在记事本中创建新的配方模板文件要在记事本
48、中创建新的配方模板文件要在记事本中创建新的配方模板文件要在记事本中创建新的配方模板文件: : 1. 启动记事本。 2. 在“文件 文件文件文件”菜单上,单击“新建 新建新建新建”。 3. 按下面的格式输入数据: :IngredientName,IngredientType,Unit.,Recipe. :Names,UnitName.,RecipeName. IngredientName,Analog,Discrete,Message,tagname.,val ue注意注意注意注意: :所有的单元名在文件中必须先于配方名定义。 4. 在输入所需数据后,必须用 .CSV 扩展名保存文件。5-6 第
49、第第第 5 章章章章 I-1 索引索引索引索引 符号符号符号符号 .CSV, 5-1 ErrorCode, 4-2 Excel, 5-2 FileName, 3-3 Number, 3-3 QuickScripts, 3-4 RecipeDelete, 3-2 RecipeGetMessage, 3-2 RecipeGetMessages, 4-4 RecipeLoad, 3-2,4-2 RecipeName, 3-3 RecipeSave, 3-2 RecipeSelectNextRecipe, 3-2 RecipeSelectPreviousRecipe, 3-2 RecipeSelectRecipe, 3-2 RecipeSelectUnit, 3-2 Uni