2. Studio 5000开发环境准备

在正式编写 AOI 之前,必须先把 Studio 5000 Logix Designer 的工程骨架搭好。AOI 不是孤立存在的,它必须依附于一个具体的控制器项目,并放在合适的程序与例程层级中,才能被调用、被测试、被复用。本节围绕“建项目—配控制器—组织程序与例程—认识 AOI 编辑器入口”这条主线,把开发环境准备讲清楚。

一、创建 AOI 项目:从控制器选型开始

打开 Studio 5000 Logix Designer,选择 New Project。第一步是选择控制器型号,这一步直接决定后续 AOI 能用到哪些指令和特性。例如选择 1756-L83E(ControlLogix 5580 系列),其固件版本建议与现场实际一致,示例中可设为 32.011。控制器确定后,软件会自动带出可用的编程语言集合,包括梯形图(LAD)、功能块图(FBD)、顺序功能图(SFC)和结构化文本(ST)。AOI 内部支持 LAD、FBD、ST、SFC 四种语言,因此选型时不必担心语言受限,但要确认固件版本支持 AOI 的加密与源保护等高级功能。

项目命名建议体现用途,例如 AOI_Training_Project,存放路径避免中文和空格。创建完成后,Controller Organizer 会生成一棵标准树:最上层是控制器,其下是 Tasks(任务)、Motion Groups、Add-On Instructions、Trends 等节点。此时项目是空的,还没有任何 AOI。

二、配置控制器:通信、时间与安全

双击控制器名称进入 Controller Properties,重点配置以下几项:

  • Communication(通信):设置 IP 地址与子网掩码。示例中控制器 IP 设为 192.168.1.10,编程电脑设为同网段 192.168.1.100。若使用仿真,可跳过物理 IP,直接通过 Emulate 5000 建立虚拟控制器。
  • Date/Time(日期时间):勾选 Enable Time Synchronization,便于后续 AOI 中时间戳类逻辑的调试。
  • Security(安全):在 Security 页签中可设置 AOI 源保护权限。若希望 AOI 被他人调用但不可见源码,可在此配置 Source Protection,并设置密码。教学阶段建议先不加密,便于观察内部逻辑。
  • Advanced(高级):确认 Disable Automatic Firmware Update 是否勾选,避免下载时固件被意外升级。

配置完成后点击 Apply,再通过 Who Active 将控制器路径映射到实际设备或仿真器。若使用仿真,选择 Emulator 并下载空项目,确认控制器处于 Remote Run 或 Program 模式,为后续在线调试做准备。

三、组织程序与例程:为 AOI 预留清晰层级

AOI 的调用发生在例程(Routine)中,而例程归属于程序(Program)。合理的层级组织能让 AOI 的测试与复用事半功倍。建议在 Tasks 下新建一个 MainTask(类型为 Continuous),其下建立三个程序:

  • MainProgram:存放主控逻辑,调用 AOI 的“正式”例程。
  • AOI_TestProgram:专门用于 AOI 单元测试,内部例程命名为 Test_MotorAOI、Test_ValveAOI 等,与 AOI 一一对应。
  • HMI_Program:存放与上位机交互的映射逻辑,避免与 AOI 内部变量直接耦合。

在每个程序下新建例程时,语言选择要与 AOI 内部语言匹配。例如 AOI 用 LAD 编写,则测试例程也用 LAD,便于直接拖拽调用。例程命名建议采用 R_ 前缀,如 R_Main、R_TestMotor,程序名用 P_ 前缀,形成统一规范。

建议在 AOI_TestProgram 中为每个 AOI 单独建一个例程,并在例程属性中勾选 Main Routine 之外的例程为 Unprogrammed 或按需调用,避免测试逻辑干扰主程序扫描。

四、熟悉 AOI 编辑器界面与操作入口

AOI 的创建入口在 Controller Organizer 的 Add-On Instructions 节点上。右键选择 New Add-On Instruction,弹出定义对话框。这里需要填写:

  • Name:AOI 名称,如 Motor_StartStop,遵循 Pascal 命名,不含空格。
  • Description:功能简述,便于他人调用时理解。
  • Revision:版本号,如 1.0,后续修改可递增。
  • Language:选择内部实现语言,教学示例选 Ladder Diagram。
  • Parameters:定义输入、输出、输入输出参数。例如 Start(Input BOOL)、Stop(Input BOOL)、Run(Output BOOL)、Fault(Output BOOL)。

点击 OK 后,AOI 编辑器打开,界面分为几个关键区域:左侧是 Parameters 列表,可随时增删参数;中间是 Logic 编辑区,用所选语言编写逻辑;右侧是 Local Tags 与 Data Types,用于定义 AOI 内部私有变量。顶部工具栏提供 Verify(校验)、Download(下载)、Test(测试)等入口。

编写完成后,点击 Verify 检查语法与参数一致性。若通过,AOI 会出现在 Add-On Instructions 节点下,并自动注册到指令集。此时在任意 LAD 例程中,从 Add-On 选项卡即可拖拽调用,参数引脚与定义完全对应。

Studio 5000 AOI 开发环境准备 — 工程层级与编辑器入口 Controller Organizer ▸ 1756-L83E 控制器 ▸ Tasks(MainTask) ▸ P_MainProgram R_Main(LAD) ▸ P_AOI_TestProgram R_TestMotor(LAD) ▸ P_HMI_Program ▸ Add-On Instructions Motor_StartStop v1.0 Valve_Control v1.0 AOI 编辑器界面 — Motor_StartStop Parameters Start : BOOL (Input) Stop : BOOL (Input) Run : BOOL (Output) Fault : BOOL (Output) Reset : BOOL (InOut) 可增删参数 Local Tags RunTimer : TIMER FaultLatch : BOOL StartEdge : BOOL Logic — Ladder Diagram Rung 1: Start/Stop 自锁 Start Stop Run Rung 2: 故障锁存 Fault Reset FaultLatch 工具栏: Verify Download Test 在 LAD 例程中调用 AOI 从 Add-On 选项卡拖拽 Motor_StartStop Motor_StartStop Start Stop Run Fault 参数引脚 与定义一致

五、准备阶段的检查要点

环境准备是否到位,可以用几个可观察的结果来判断:控制器能通过 Who Active 正常识别并进入 Remote Run;程序与例程层级清晰,测试例程与主例程分离;AOI 创建后能在 Add-On Instructions 节点下看到,且 Verify 无报错;在 LAD 例程中拖拽调用时,参数引脚与定义完全对应。若其中任何一项不满足,后续 AOI 的在线调试都会受阻。

注意:AOI 一旦被例程调用,修改其参数列表可能导致调用处引脚错位。建议在测试阶段先固定参数,待逻辑稳定后再统一调整版本号。

完成以上四步,开发环境就具备了编写、调用和测试 AOI 的基本条件。接下来就可以进入具体 AOI 的逻辑设计与参数规划。