本博客最初发布于cimetrix.com。
在工厂部署设备时,是否进行了充分的软件测试将显而易见。正如罗恩·迈克尔所言:"若将混乱自动化,便会得到自动化的混乱。"这一理念同样适用于支持GEM功能的设备。现有的软件工具能让自动化测试变得轻松高效。虽然测试设备上的所有软件都至关重要,但本博客将重点探讨GEM接口的测试。
如下所述,在设备软件开发生命周期中,测试GEM接口至关重要。
开发阶段
利益相关方(客户)已明确要求设备需配备GEM接口,以便与内部GEM主机实现集成。客户书面规格书中列明了设备必须支持的GEM场景,以确保与主机高效交互。
随着所需功能被添加到GEM接口中,开发人员必须能够在每个场景中模拟主机的角色。测试对于确保设备正确满足各项要求至关重要。在GEM接口完成后,部署前的E30合规性测试具有首要重要性。
部署阶段
设备在永久位置安装完毕后,现场工程师需要一种方式连接至该设备并测试GEM接口,此操作需在设备接入工厂主机之前完成。
设备投入生产后,由于地理位置或工厂出入限制,可能难以进入设备内部。因此,部署配备经过测试且符合规范的GEM接口的设备,可避免大量时间和资源的浪费,确保部署过程顺畅无阻。
维持与维护阶段
每次软件更新、新增GEM功能或任何可能影响接口性能的变更后,均应测试GEM接口。
在这一持续运行和维护阶段,经过妥善测试的设备停机时间更少。
使用正确的工具
设备制造商面临的最大挑战之一,源于缺乏正确的GEM测试工具。
或许他们拥有测试工具,但因陈旧而失效。测试工具库中存放过时工具,恰似执着于一把锈迹斑斑的扳手——表面看似可用,实则正逐渐损坏螺栓。正如本杰明·富兰克林所言:"最佳投资当属自身职业所需的工具。" 因此,作为开发者,我们必须懂得何时该"扔掉生锈的扳手"。
CimetrixEquipmentTest™是一款全新软件工具,旨在缩短工厂验收周期并强化工厂GEM接口。该工具还协助工厂与设备供应商完成设备特性分析、设备信息采集、设备符合SEMI标准的判定,并将各类设备专属单元测试整合至统一界面。
设备测试是每位设备开发者工具箱中必备的多功能工具。
要理解原因,让我们看看它的几个关键特性。
消息标签页
在设备测试(EquipmentTest)中,消息选项卡在开发和测试阶段至关重要。随着GEM接口各部分的完成,发送原子消息或回复设备消息的能力变得不可或缺。 消息采用SMN格式(SEMI E173标准,即SECS消息标记法)。通过结合XML语法与原始消息模板库,无需编写代码即可快速创建并发送SECS消息。此功能在以下场景尤为实用:向设备发送远程命令,或确保GEM告警能上报至主机。
用户还可定义自定义消息,并将这些消息添加到自己的库中。这些消息随后可保存至该设备的设备测试配置文件中,以便日后重复使用。

GEM合规插件报告
EquipmentTest Pro提供了一项开箱即用的GEM(SEMI E30)合规性测试功能,即GEM合规性插件。该插件确保设备上实施的所有GEM要求均正确执行。 该合规插件同时生成检测报告,可据此判断设备在GEM标准哪些领域已正确实施,哪些领域尚需改进。这份报告有助于规避我曾多次目睹的常见问题——因相关方间无意中的协调失误,导致GEM项目遗漏或实施不当。
设备测试工具同样支持配置,当工厂无需使用GEM功能的特定模块时,报告将将其标记为"未实现"。该工具使开发人员、测试人员及所有利益相关方能够充满信心地部署其GEM接口。
测试执行
测试可单独运行,也可批量执行。每个测试均包含嵌入式文档,说明测试目的及构成测试的步骤。输出选项卡显示测试结果。当测试失败时,可使用SMN日志进行诊断,或查看设备测试工具收发的消息内容。
自定义测试
每台设备都独一无二。更重要的是,特定设备的独特特性往往使其区别于竞争对手的产品,从而显著提升其价值。正因如此,测试所有制造设备的行为场景实属不可能。创新设备必然需要定制化测试,此类测试同样可能用于确保设备满足特定工厂的特殊要求。
支持自定义测试是EquipmentTest最具价值的功能之一。与采用限制性脚本语言的前代产品不同,EquipmentTest允许用户使用标准.NET编程语言创建名为插件的自定义测试。 通过可扩展编程语言编写主机端测试,并调用EquipmentTest的SECS/GEM软件库,为测试提供了无限可能。这使得在自定义测试中发送和接收SECS消息变得极其简单(如下所示)。
开发人员创建测试后,项目动态链接库(.dll)文件即可分发给参与测试项目的其他人员。这使得工程师、技术人员及其他相关人员无需编写任何代码,即可加载定制插件并测试设备。
追踪报告测试示例
该插件是在培训期间创建的,展示了插件开发的基础知识。当我们加载自定义插件时,其外观和操作体验与Cimetrix提供的插件完全一致。
文档
用户界面中显示的文档内容由以下方法装饰符填充生成。

参数
参数可由EquipmentTest用户修改,且可为任意类型,甚至包括自定义数据类型。

测试逻辑
在测试运行期间,代码中打印到控制台的所有内容都会显示在输出窗口中。

断言
断言是测试实际评估的内容。在此示例中,我们断言所有跟踪样本均由设备发送。若任何断言失败,测试将在用户界面显示失败。此时,测试失败时用户界面将显示“1个或多个样本未完成”。
SMN 日志
SMN日志包含测试期间传输的所有消息。结合测试输出使用时,这对于诊断测试失败的根本原因非常有帮助。
结论
Cimetrix EquipmentTest软件旨在让自动化测试变得轻松高效。使用这款崭新工具替代陈旧设备,能显著简化优质GEM接口的部署流程,并确保您的新建或现有GEM接口完全符合E30标准。