<s>虹科KPA Automation softPLC</s>
<s>虹科KPA Automation softPLC是为Linux、Xenomai、INtime、Windows等实时操作系统开发PLC的编程环境，十分适合需要使用IEC61131-3和PLCopen标准的控制技术和进行PLC编程的用户。</s><s>本篇文章将介绍如何在虹科KPA Automation softPLC中通过编写自动化脚本来实现强大的应用程序。</s>
<s>创建新向导以构建新项目的框架</s>
<s>创建自动化或导入I/O配置的向导</s>
<s>自动生成有关项目项的文档</s>
<s>任何导入/导出程序</s>
<s>为此，不需要额外的工具，也不需要了解例如VB或C++等编程或脚本语言，只需使用Workbench即可开发、测试和运行您的脚本。</s><s>该脚本是使用IEC语言（通常是结构化文本）编写的。</s>
<s>工作台可以自动创建或更改您的IEC 61131-3项目。</s><s>通过使用ST语言编写自动化脚本，可以实现许多强大的应用程序。</s><s>下面将介绍项目自动化工具的原理。</s>
<s>#01</s>
<s>原理</s>
<s>项目自动化脚本是用IEC语言编写的程序。</s><s>结构化文本通常用作脚本的编程语言，因为它最适合自动化功能。</s><s>该脚本作为一个项目开发，链接到一个名为AUTOMATION的专用库。</s>
<s>图1 项目自动化工具的原理</s>
<s>当Workbench用于开发项目自动化脚本时，“模拟”和“在线”命令被用于执行脚本的“执行脚本”命令代替。</s><s>与其他IEC项目不同，脚本的程序只执行一次，并且不会从一个循环到另一个循环重复。</s><s>脚本既可用于生成新项目的框架，也可用于更改/完成现有项目。</s><s>因此，AUTOMATION库不仅包含用于构建项目的函数，还包含用于枚举和更改项目现有项的函数。</s>
<s>#02</s>
<s>创建一个新的项目自动化脚本</s>
<s>要创建新的项目自动化脚本，请从菜单中运行文件/新建项目命令，然后在项目创建对话框中选择自动化脚本选项。</s>
<s>图2 自动化脚本选择</s>
<s>然后按照说明进行操作。</s><s>您必须指定脚本的使用方式：</s>
<s>从头开始生成一个新项目</s>
<s>修改现有项目</s>
<s>修改项目或创建项目（如果尚不存在）</s>
<s>在创建脚本时，您已经可以定义一些参数，以便在脚本启动时由用户输入。</s><s>系统会自动创建：</s>
<s>脚本项目中将成为参数的一些全局变量。</s>
<s>变量分组参数列表。</s>
<s>接下来，将提示用户输入参数的几行ST代码。</s><s>该脚本是使用以下工作区生成的。</s>
<s>图3 默认的项目工作区</s>
<s>#03</s>
<s>开发并测试脚本</s>
<s>一个自动化脚本的开发与任何使用工作台的项目一样，但有一些特殊的限制。</s><s>最大的区别是，脚本是一个只执行一次的程序（一般用ST语言编写），不会在各个周期重复。</s><s>主程序就是自动化脚本。</s><s>您可以自由地创建子程序和UDFB来被这个程序调用，但建议只保留一个脚本的最高级程序（主程序）。</s>
<s>脚本项目指的是一个名为AUTOMATION的特殊库，它包含了开发脚本的所有必要功能。</s>
<s>图4 AUTOMATION库的内容</s>
<s>在开发脚本项目时，项目菜单的“模拟”和“在线”命令被“执行脚本”命令所取代。</s><s>此命令可以运行您的脚本以进行测试，并打开以下对话框：</s>
<s>图5 自动化脚本运行示例</s>
<s>在上面的对话框中输入目标项目的名称（要创建或更改），然后按 Go!。</s><s>任何跟踪消息或错误报告都会显示在下面的列表中。</s>
<s>#04</s>
<s>将脚本注册为“新项目”向导</s>
<s>如果您的脚本旨在为新项目创建框架，您可以注册它，以便工作台在其标准的新项目程序中调用它。</s><s>为此，您只需复制已安装好KPAAsoftPLCStudio应用程序数据的脚本文件夹，它位于AUTOMATION\SCRIPTS\文件夹下。</s><s>然后您的脚本将可用于从工作台创建新项目。</s>
<s>#05</s>
<s>从其他应用程序运行脚本</s>
<s>命令行</s>
<s>可以使用随 Workbench 安装的 K5Script.exe 实用程序直接从 Windows 控制台或从 .BAT 文件执行脚本。</s><s>语句：K5Script.exe <script> <target_project></s>
<s>对象：</s>
<s><script> ：包含脚本的文件夹的名称。</s><s>如果未指定路径名，则在 AUTOMATION\SCRIPTS\ 下搜索脚本文件夹。</s>
<s><target_project> ：要由脚本创建或修改的目标项目的完全限定路径名。</s>
<s>从C/C++应用程序</s>
<s>您的“C/C++”应用程序可以链接到安装的 Workbench 所在的 K5NETAS.DLL，并使用以下导出函数运行脚本：</s>
<s>从C语言：</s>
<s>LPCSTR declspec(dllimport) K5NETAS_RunScript (</s>
<s>LPCSTR szScript, LPCSTR szDest</s>
<s>);</s>
<s>从C++语言：</s>
<s>extern "C" LPCSTR declspec(dllimport) K5NETAS_RunScript (</s>
<s>LPCSTR szScript, LPCSTR szDest</s>
<s>);</s>
<s>对象：</s>
<s>szScript ：包含脚本的文件夹的名称。</s><s>如果未指定路径名，则需要在安装 Workbench 的“AUTOMATION\SCRIPTS\”文件夹下搜索脚本文件夹。</s>
<s>szDest : 脚本要创建或修改的目标项目的全限定路径名 Return</s>
<s>价值：</s>
<s>该函数返回一个指向包含报告的字符串的指针。</s>
<s>在实际操作过程中，虹科技术工程师整理了部分功能的参考示例，包括project level services、delaring objects、generating documents等，若您在开发过程中需要帮助或想要了解更多关于虹科Automation softPLC的相关信息，欢迎随时通过info@hkaco.com联系虹科。</s>
<s>若想了解更多信息</s>
<s>欢迎联系虹科工业控制团队！</s>
<s>▎往期回顾</s>
