EtherNet/IP 通过 EtherNet/IP 可以使用控制器最重要的 CiA402 工作模式。CiA402 标准(插补位置模式、循环同步转矩、速度和位置)中描述的循环模式目前不可用。支持以下消息类型: CIP 消息(CIP UCMM、CIP 3 类及其他) I/O 数据传输(CIP 1 类) 注: Nanotec 控制器始终基于 CANopen 标准 CiA402。因此所有属性均存储在所谓的对象目录中。可通过索引和子索引(如 1018h:01h)对其进行寻址。索引是一个 16 位值,子索引是一个 8 位值。 虽然控制器提供 EtherNet/IP,但此协议使用了不同的步骤:所有属性均基于对象进行存储。因此,PD4-E 使用分配在 EtherNet/IP 与 CANopen 之间创建了一个桥。所以此控制器的配置与普通 EtherNet/IP 设备有所不同。 设备配置文件 Nanotec EtherNet/IP 实现包含制造商特定的设备配置文件,用于访问制造商特定的控制器属性和电机控制。 通过以下三种服务,可以对各个属性进行读写访问。可以访问对象目录说明一章中列出的各个属性。 名称 服务 类 实例 属性 获取对象目录条目 0x32 0x64 1 0 设置对象目录条目 0x33 0x64 1 0 获取 Rockwell 对象目录条目 0x34 0x64 1 0 除制造商特定的配置文件以外,还提供以下标准服务: 报文路由对象 连接管理器 连接配置 端口 Ethernet 链接对象 TCP/IP 对象 程序集 服务:获取对象目录条目 下表显示了用于读取属性的数据分配。数据长度取决于属性。 名称 服务 类 实例 属性 数据 GetOD 条目 0x32 0x64 1 0 索引(16 位) 子索引(8 位) 服务:设置对象目录条目 下表显示了用于在属性中写入值的数据分配。数据长度取决于属性。至少 1 个字节,不超过 4 个字节。 名称 服务 类 实例 属性 数据 SetOD 条目 0x33 0x64 1 0 索引(16 位) 子索引(8 位) 服务:获取 Rockwell 对象目录条目 下表显示了用于读取属性的数据分配。响应中包含 16 位对象类型、16 位数据长度以及数据。对此的响应为:对象类型(16 位),后接数据长度(16 位)以及数据本身。 名称 服务 类 实例 属性 数据 GetOD 条目 0x34 0x64 1 0 索引(16 位) 子索引(8 位) 程序集对象 有一系列创建者/使用者群组包含有关以下工作模式的最重要的数据: 标准位置模式 速度模式 标准速度模式 标准转矩模式 找零模式 自动设置模式 数字输入和输出 不支持配置程序集。必须通过制造商特定的设备配置文件读写程序集中不包括的属性。 程序集 路径 目标 -> 始创者程序集 - 通用 20 04 24 64 30 03 始创者 -> 目标程序集 - 通用 20 04 24 65 30 03 配置 - 通用 程序集 - 通用目标 -> 始创者 - 数据分配 偏移(字节) 对象目录条目 大小(位) 0 6061h:00h 操作模式显示 8 2 6041h:00h 状态字 16 4 6064h:00h 位置实际值 32 8 6043h:00h Vl 速度指令值 16 10 6044h:00h Vl 速度实际值 16 12 606Bh:00h 速度指令值 32 16 606Ch:00h 速度实际值 32 20 6074h:00h 转矩指令 16 22 1001h:00h 错误寄存器 8 24 1003h:01h 预定义的错误字段 32 28 60FDh:00h 数字输入 32 32 保留以供将来使用 796 (24 x 32) 程序集 - 通用始创者 -> 目标 - 数据分配 偏移(字节) 对象目录条目 大小(位) 0 6060h:00h 操作模式 8 2 6040h:00h 控制字 16 4 607Ah:00h 目标位置 32 8 6042h:00h Vl 目标速度 16 12 60FFh:00h 目标速度 32 16 6071h:00h 目标转矩 16 18 6098h:00h 找零方法 8 20 60FEh:01h 数字输出 32 24 保留以供将来使用 860 (26 x 32) 配置程序集对象 控制器中的程序集对象为静态程序集,不支持动态程序集。静态程序集的大小始终为 128 字节。已为各种工作模式配置了最重要的数据;但还可以附加其他数据。 只能通过 SetOD 条目命令更改映射的数据。更改配置时,请注意也须同时调整 EDS 文件。建议将新数据附加到当前映射的末尾。程序集对象一章中列出了可供将来使用的数据范围。此方法的优点是 Rockwell AOI 和示例项目仍可正常工作。 数据无间断地连续排列。例如,如果一个 8 位数据值按 32 位对齐,则可以使用所谓的虚拟对象。还可在对象 3501h 和 3601h 的标准配置中查看相关使用方法。 下表列出了所有可用的虚拟对象: 索引 数据类型 0002h 有符号整数(8 位) 0003h 有符号整数(16 位) 0004h 有符号整数(32 位) 0005h 无符号整数(8 位) 0006h 无符号整数(16 位) 0007h 无符号整数(32 位) Rockwell Studio 5000 限制 控制器可使用所有可能的数据格式;它可处理以下列表中的数据格式。 缩写 字节大小 有符号 无符号 8 SINT USINT 16 INT UINT 32 DINT UDINT Rockwell PLC 仅支持有符号数字格式。因此,将所有属性转换为 DINT(32 字节,有符号)。如果设定了最高位,则将无符号 32 位整数转换为有符号整数时,可能会出现问题。在这种情况下,数字将变为负数,而不是正数。目前,此类 UDINT 属性(可能具有最高位设定)通常为状态,并可以通过 BOOL 类型引用各个位。 提供 AOI(用户自定义指令),可通过自动将数字转换为 DINT 以及从 DINT 转换为正确数字格式,从而简化对对象目录的访问。如需了解详细信息,请参见用户自定义指令 (AOI)一章。 示例项目 可以在 Nanotec 网站 www.nanotec.de 上查看为 CompactLogix PLC 创建的示例项目。此项目针对 Logix Designer 版本 20 和版本 21 创建。项目名称为 Nanotec_SampleCode_CompactLogix_Vxx.ACD。此对象包含并使用所有 AOI。 如果要使用除 CompactLogix 以外的 PLC 或其他 Logix Designer 版本,建议新建项目,并导入示例项目的 MainRoutine。为此,请在控制器管理器中右键单击 MainProgram,选择导入例程,然后从 Nanotec 选择 MainRoutine.L5X 以将其导入 MainProgram。 注: 建议使用 Nanotec 作为 EtherNet/IP 模块的名称。因此,AOI 函数无需修改,因为路径名称已用于某些 AOI 和变量中。 用户自定义指令 (AOI) 如限制一章中所述,对 Rockwell PLC 存在一些限制。为了应对这些限制,Nanotec 提供了一些 AOI,用于与 Nanotec 控制器进行通信。 强烈建议使用这些 AOI,因为它们使用了正确的数字格式。 Nanotec 提供的所有用户自定义指令的名称均使用“AOI_”作为前缀。 提供的 AOI 如下: AOI_Autosetup AOI_Bootloader AOI_Controlword_6040h AOI_GetOdEntry_old AOI_GetOdEntry v1.0 AOI_IO_Common AOI_MotorDriveSubmodeSelect_3202h AOI_RestoreParameter_1011h AOI_SetOdEntry AOI_SetParamsHomingMode AOI_SetParamsProfilePositionMode AOI_SetParamsProfileTorqueMode AOI_SetParamsProfileVelocityMode AOI_SetParamsVelocityMode AOI_Statusword_6041h AOI_StoreParameter_1010h AOI_Autosetup AOI 可执行自动设置程序。自动设置程序可确定编码器参数以及在闭环模式下运行控制器所需要的其他重要参数。如果控制器在开环模式下运行,则无需执行自动设置。 参数 必填 名称 数据类型 用途 说明 是 AOI_Autosetup AOI_Autosetup InOut 是 执行 BOOL 输入 否 完成 BOOL 输出 否 错误 BOOL 输出 是 IO_Common AOI_IO_Common InOut 用于读写“IO Common”程序集的 AOI 是 Controlword_6040h AOI_Controlword_6040h InOut 用于上移/下移状态机或重置错误的 AOI。 说明 AOI_Autosetup 此 AOI 的实例,创建为控制器标签。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 IO_Common AOI_IO_Common 的实例,创建为控制器标签。 Controlword_6040h AOI_Controlword_6040h 的实例,创建为控制器标签。 AOI_Bootloader 此 AOI 可将控制器切换到引导加载程序模式,控制器将在此模式下等待进一步指令,如进行固件更新。此固件更新需要特殊 PC 软件 (Plug & Drive Studio)。 参数 必填 名称 数据类型 用途 是 AOI_Bootloader AOI_Bootloader InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 说明 AOI_Bootloader 此 AOI 的实例,创建为控制器标签。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 MSG_DATA_Input 传输消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 SetOdEntry_MSG 用于在对象目录中写入条目的消息对象的实例。 AOI_Controlword_6040h 此 AOI 用于处理对象 6040h,因此可简化 CiA 402 电源状态机 的使用。此 AOI 有三种工作模式: OpMode = 1 为 CiA 402 电源状态机 打开对象 6040h。 OpMode = 2 为 CiA 402 电源状态机 关闭对象 6040h。 OpMode = 3 删除对象 6041h 中的错误位。 根据对象 6041h 的状态位,可以增加或减少 CiA 402 电源状态机 的状态。在 OpMode=1 中,AOI 逐步增加状态,直到达到操作启用状态 (6040h=15)。在 OpMode=2 中,AOI 逐步减少状态,直到达到打开禁用状态 (6040h=6)。 参数 必填 名称 数据类型 用途 是 AOI_Controlword_6040h AOI_Controlword_6040h InOut 是 Od6040h DINT InOut 是 Od6041h DINT InOut 是 OpMode DINT 输入 是 执行 BOOL 输入 否 完成 BOOL 输出 否 错误 BOOL 输出 否 Quickstop BOOL 输出 说明 AOI_Controlword_6040h 此 AOI 的实例,创建为控制器标签。 Od6040h 引用对象 6040h 的内容。 Od6041h 引用对象 6041h 的内容。 OpMode 选择 AOI 的操作模式。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在状态字 6041h 中出现错误的标志。 Quickstop 表示状态字 6041h 中出现 quickstop 的标志。 AOI_GetOdEntry_old 此 AOI 可从对象目录中的对象读取值。 参数 必填 名称 数据类型 用途 是 AOI_GetOdEntry_old AOI_GetOdEntry_old InOut 是 执行 BOOL 输入 否 错误 BOOL 输出 否 完成 BOOL 输出 是 Send_MSG MESSAGE InOut 是 MSG_Data_Input SINT[7] InOut 是 MSG_Data_Output SINT[7] InOut 是 索引 DINT 输入 是 子索引 DINT 输入 是 SignedValue BOOL 输入 是 Data_Size DINT 输入 是 数据 DINT 输出 说明 AOI_GetOdEntry 此 AOI 的实例,创建为控制器标签。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 Send_MSG 用于在对象目录中设定值的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 索引 对象(参数)索引。 子索引 对象(参数)子索引。 SignedValue 数据值的符号。 Data_Size 数据值的长度(字节)。 数据 返回的数据值。 AOI_GetOdEntry v1.0 此 AOI 可读取对象目录中对象的值,并始终将数据写入 DINT。此功能是针对 Rockwell 的最佳方法,因为它会同时发送对象定义。由此 AOI 可将响应转换为 DINT。 参数 必填 名称 数据类型 用途 是 AOI_GetOdEntry AOI_GetOdEntry InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 Send_MSG MESSAGE InOut 是 MSG_Data_Input SINT[100] InOut 是 MSG_Data_Output SINT[100] InOut 是 索引 DINT 输入 是 子索引 DINT 输入 是 数据 DINT 输出 是 Data_String STRING InOut 是 执行 BOOL 输入 说明 AOI_GetOdEntry 此 AOI 的实例,创建为控制器标签。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 Send_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 索引 对象(参数)索引。 子索引 对象(参数)子索引。 数据 从对象读取的值。 Data_String 如果读取的值为字符串,则将其存储到此处。 执行 此 AOI 在此参数的上升沿执行。 AOI_IO_Common 此 AOI 是最重要的用户自定义指令。它可处理输入/输出数据与程序集之间的交换。由于需要能够处理“无符号值”,所以简单的 CPS 指令对于复制来说是不够的。所有输入值均转换为 DINT 格式,所有输出值均由 DINT 转换为参数的本机格式。 参数 必填 名称 数据类型 用途 是 AOI_IO_Common AOI_IO_Common InOut 是 执行 BOOL 输入 否 Controlword_6040h_0 DINT 输入 否 Statusword_6041h_0 DINT 输出 否 Modes_Of_Operation_6060h_0 DINT 输入 否 Error_Register_1001h_0 DINT 输出 否 Predefined_Error_Field_1003h_1 DINT 输出 否 Target_Position_607Ah_0 DINT 输入 否 Position_Actual_Value_6064h_0 DINT 输出 否 VI_Target_Velocity_6042h_0 DINT 输入 否 Vl_Velocity_Demand_Value_6043h_0 DINT 输出 否 Vl_Velocity_Actual_Value_6044h_0 DINT 输出 否 Target_Velocity_60FFh_0 DINT 输入 否 Velocity_Demand_Value_606Bh_0 DINT 输出 否 Velocity_Actual_Value_606Ch_0 DINT 输出 否 Target_Torque_6071h_0 DINT 输入 否 Torque_Demand_6074h_0 DINT 输出 否 Homing_Method_6098h_0 DINT 输入 否 Digital_Inputs_60FDh_0 DINT 输出 否 Digital_Outputs_60FEh_1 DINT 输入 是 IO_Data_In SINT[32] InOut 是 IO_Data_Out SINT[22] InOut 说明 AOI_IO_Common 此 AOI 的实例,创建为控制器标签。 执行 此 AOI 在此参数的上升沿执行。 IO_Data_In 引用程序集的输入数据。 IO_Data_Out 引用程序集的输出数据。 所有其他 创建为控制器标签的变量。数据类型始终为 DINT,且必须使用它代替通过程序集访问参数。 AOI_MotorDriveSubmodeSelect_3202h 此 AOI 可读取或写入对象 3202h。有两种工作模式: OpMode = 1 读取 3202h 的值,并将其写入输出。 OpMode = 2 设置输入,并将值写入对象 3202h。 参数 必填 名称 数据类型 用途 是 AOI_MotorDriveSubmodeSelect_3202h AOI_MotorDrive SubmodeSelect_3202h InOut 是 输入 DINT 输入 是 输出 DINT 输出 是 GetOdEntry_MSG MESSAGE InOut 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 MSG_Data_Output SINT[100] InOut 是 OpMode DINT 输入 是 执行 BOOL 输入 说明 AOI_MotorDriveSubmodeSelect_3202h 此 AOI 的实例,创建为控制器标签。 输入 要写入对象目录中的对象 3202h 中的值。 输出 从对象目录中的对象 3202h 读取的值。 GetOdEntry_MSG 用于在对象目录中读取值的消息对象的实例。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_RestoreParameter_1011h 此 AOI 可用于还原下次控制器关闭/打开时加载的对象目录中的对象子集(至出厂设置)。重置值后控制器将重启。另请参见保存对象一章。 可通过以下方法获得三种子集: 方法 1 还原所有参数 方法 2 还原所有通信参数 方法 3 还原所有应用参数 方法 4 还原所有用户参数 方法 5 还原所有运动参数 方法 6 还原所有电机优化参数 参数 必填 名称 数据类型 用途 是 AOI_RestoreParameter_1011h AOI_RestoreParameter_1011h InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 方法 DINT 输入 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 说明 AOI_RestoreParameter_1011h 此 AOI 的实例,创建为控制器标签。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 方法 1:还原所有参数 2:还原所有通信参数 3:还原所有应用参数 4:还原所有用户参数 5:还原所有运动参数 6:还原所有电机优化参数 AOI_SetOdEntry 可通过此 AOI 将值写入对象目录中的对象。 参数 必填 名称 数据类型 用途 是 AOI_SetOdEntry AOI_SetOdEntry InOut 是 执行 BOOL 输入 否 错误 BOOL 输出 否 完成 BOOL 输出 是 Send_MSG MESSAGE InOut 是 MSG_Data_Input SINT[100] InOut 是 索引 DINT 输入 是 子索引 DINT 输入 是 Data_Size DINT 输入 是 数据 DINT 输入 说明 AOI_SetOdEntry 此 AOI 的实例,创建为控制器标签。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 Send_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 索引 对象(参数)索引。 子索引 对象(参数)子索引。 Data_Size 数据量(字节)。 数据 要写入的数据值。 AOI_SetParamsHomingMode 可通过此 AOI 为 找零 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsHomingMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsHomingMode AOI_SetParamsHomingMode InOut 是 参数 UDT_ParamsHomingMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsHomingMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_SetParamsProfilePositionMode 可通过此 AOI 为 标准定位 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsProfilePositionMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsProfilePositionMode AOI_SetParams ProfilePositionMode InOut 是 参数 UDT_ParamsProfilePositionMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsProfilePositionMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_SetParamsProfileTorqueMode 可通过此 AOI 为 标准转矩 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsProfileTorqueMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsProfileTorqueMode AOI_SetParamsProfileTorqueMode InOut 否 EnableIn BOOL 输入 否 EnableOut BOOL 输出 是 参数 UDT_ParamsProfileTorqueMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsProfileTorqueMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_SetParamsProfileVelocityMode 可通过此 AOI 为 标准速度 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsProfileVelocityMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsProfileVelocityMode AOI_SetParamsProfileVelocityMode InOut 是 参数 UDT_ParamsProfileVelocityMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsVelocityMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_SetParamsVelocityMode 可通过此 AOI 为 速度 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsVelocityMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsVelocityMode AOI_SetParamsVelocityMode InOut 是 参数 UDT_ParamsVelocityMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsProfileVelocityMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_Statusword_6041h 对象目录中的对象 6041h 表示是否已达到对象 6040h 中请求的状态。此 AOI 可将位分为单独的标志。 参数 必填 名称 数据类型 用途 是 AOI_Statusword_6041h AOI_Statusword_6041h InOut 是 Statusword_6041h DINT InOut 否 Ready_To_Switched_On BOOL 输出 否 Switched_On BOOL 输出 否 Operational_Enabled BOOL 输出 否 FAULT BOOL 输出 否 Voltage_Enabled BOOL 输出 否 Quick_Stop BOOL 输出 否 Switched_On_Disabled BOOL 输出 否 警告 BOOL 输出 否 同步 BOOL 输出 否 远程 BOOL 输出 否 Target_Reached BOOL 输出 否 Internal_Limit_Reached BOOL 输出 否 Operation_Mode_Specific1 BOOL 输出 否 Operation_Mode_Specific2 BOOL 输出 否 Closed_Loop_Available BOOL 输出 说明 AOI_Statusword_6041h 此 AOI 的实例,创建为控制器标签。 Statusword_6041h 引用对象 6041h 的内容。 所有其他 已创建为控制器标签的变量。它们始终为 BOOL 型,并可用于代替访问各个位。另一个优势是这些标志为指定标志。 AOI_StoreParameter_1010h 此 AOI 可用于存储对象目录中的对象子集,从而使其在下次重启控制器时自动变为可用状态。此外,还可通过固件更新方式保留这些值。另请参见保存对象一章。 可用子集如下: 方法 1 存储所有参数 方法 2 存储所有通信参数 方法 3 存储所有应用参数 方法 4 存储所有用户参数 方法 5 存储所有运动参数 方法 6 存储所有电机优化参数 参数 必填 名称 数据类型 用途 是 AOI_StoreParameter_1010h AOI_StoreParameter_1010h InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 MSG_Data_Output SINT[100] InOut 是 方法 DINT 输入 是 执行 BOOL 输入 是 GetOdEntry_MSG MESSAGE InOut 是 SetOdEntry_MSG MESSAGE InOut 说明 AOI_StoreParameter_1010h 此 AOI 的实例,创建为控制器标签。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 GetOdEntry_MSG 用于在对象目录中读取值的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 方法 1:存储所有参数 2:存储所有通信参数 3:存储所有应用参数 4:存储所有用户参数 5:存储所有运动参数 6:存储所有电机优化参数 用户定义数据类型 Nanotec 提供的所有用户定义数据类型的名称中均带有前缀“UDT_”。 UDT_ParamsHomingMode UDT_ParamsProfilePositionMode UDT_ParamsProfileTorqueMode UDT_ParamsProfileVelocityMode UDT_ParamsVelocityMode UDT_ParamsHomingMode 如果将此数据类型的变量创建为控制器标签,则可在此配置找零模式最重要的参数。然后可通过 AOI_SetParamsHomingMode 写入参数。 此 UDT 包含以下数据: Od607Ch_00 DINT Od6099h_01 DINT Od6099h_02 DINT Od609Ah_00 DINT Od2056h_00 DINT Od203Ah_01 DINT Od203Ah_02 DINT UDT_ParamsProfilePositionMode 如果将此数据类型的变量创建为控制器标签,则可在此配置标准定位模式最重要的参数。然后可通过 AOI_SetParamsProfilePositionMode 写入参数。 此 UDT 包含以下数据: Od607Bh_01 DINT Od607Bh_02 DINT Od607Ch_00 DINT Od607Dh_01 DINT Od607Dh_02 DINT Od607Eh_00 DINT Od6081h_00 DINT Od6082h_00 DINT Od6083h_00 DINT Od6084h_00 DINT Od6085h_00 DINT Od6086h_00 DINT Od60C5h_00 DINT Od60C6h_00 DINT Od60A4h_01 DINT Od60A4h_02 DINT Od60A4h_03 DINT Od60A4h_04 DINT Od2067h_00 DINT UDT_ParamsProfileTorqueMode 如果将此数据类型的变量创建为控制器标签,则可在此配置标准转矩模式最重要的参数。然后可通过 AOI_SetParamsProfileTorqueMode 写入参数。 此 UDT 包含以下数据: Od6072h_00 DINT Od6087h_00 DINT UDT_ParamsProfileVelocityMode 如果将此数据类型的变量创建为控制器标签,则可在此配置标准速度模式最重要的参数。然后可通过 AOI_SetParamsProfileVelocityMode 写入参数。 此 UDT 包含以下数据: Od606Dh_00 DINT Od606Eh_00 DINT Od607Eh_00 DINT Od6083h_00 DINT Od6084h_00 DINT Od6085h_00 DINT Od6086h_00 DINT Od604Ah_01 DINT Od604Ah_02 DINT UDT_ParamsVelocityMode 如果将此数据类型的变量创建为控制器标签,则可在此配置速度模式最重要的参数。然后可通过 AOI_SetParamsVelocityMode 写入参数。 此 UDT 包含以下数据: Od604Ch_01 DINT Od604Ch_02 DINT Od6048h_01 DINT Od6048h_02 DINT Od6049h_01 DINT Od6049h_02 DINT Od6046h_01 DINT Od6046h_02 DINT Od604Ah_01 DINT Od604Ah_02 DINT
设备配置文件 Nanotec EtherNet/IP 实现包含制造商特定的设备配置文件,用于访问制造商特定的控制器属性和电机控制。 通过以下三种服务,可以对各个属性进行读写访问。可以访问对象目录说明一章中列出的各个属性。 名称 服务 类 实例 属性 获取对象目录条目 0x32 0x64 1 0 设置对象目录条目 0x33 0x64 1 0 获取 Rockwell 对象目录条目 0x34 0x64 1 0 除制造商特定的配置文件以外,还提供以下标准服务: 报文路由对象 连接管理器 连接配置 端口 Ethernet 链接对象 TCP/IP 对象 程序集
服务:设置对象目录条目 下表显示了用于在属性中写入值的数据分配。数据长度取决于属性。至少 1 个字节,不超过 4 个字节。 名称 服务 类 实例 属性 数据 SetOD 条目 0x33 0x64 1 0 索引(16 位) 子索引(8 位)
服务:获取 Rockwell 对象目录条目 下表显示了用于读取属性的数据分配。响应中包含 16 位对象类型、16 位数据长度以及数据。对此的响应为:对象类型(16 位),后接数据长度(16 位)以及数据本身。 名称 服务 类 实例 属性 数据 GetOD 条目 0x34 0x64 1 0 索引(16 位) 子索引(8 位)
程序集对象 有一系列创建者/使用者群组包含有关以下工作模式的最重要的数据: 标准位置模式 速度模式 标准速度模式 标准转矩模式 找零模式 自动设置模式 数字输入和输出 不支持配置程序集。必须通过制造商特定的设备配置文件读写程序集中不包括的属性。 程序集 路径 目标 -> 始创者程序集 - 通用 20 04 24 64 30 03 始创者 -> 目标程序集 - 通用 20 04 24 65 30 03 配置 - 通用 程序集 - 通用目标 -> 始创者 - 数据分配 偏移(字节) 对象目录条目 大小(位) 0 6061h:00h 操作模式显示 8 2 6041h:00h 状态字 16 4 6064h:00h 位置实际值 32 8 6043h:00h Vl 速度指令值 16 10 6044h:00h Vl 速度实际值 16 12 606Bh:00h 速度指令值 32 16 606Ch:00h 速度实际值 32 20 6074h:00h 转矩指令 16 22 1001h:00h 错误寄存器 8 24 1003h:01h 预定义的错误字段 32 28 60FDh:00h 数字输入 32 32 保留以供将来使用 796 (24 x 32) 程序集 - 通用始创者 -> 目标 - 数据分配 偏移(字节) 对象目录条目 大小(位) 0 6060h:00h 操作模式 8 2 6040h:00h 控制字 16 4 607Ah:00h 目标位置 32 8 6042h:00h Vl 目标速度 16 12 60FFh:00h 目标速度 32 16 6071h:00h 目标转矩 16 18 6098h:00h 找零方法 8 20 60FEh:01h 数字输出 32 24 保留以供将来使用 860 (26 x 32)
配置程序集对象 控制器中的程序集对象为静态程序集,不支持动态程序集。静态程序集的大小始终为 128 字节。已为各种工作模式配置了最重要的数据;但还可以附加其他数据。 只能通过 SetOD 条目命令更改映射的数据。更改配置时,请注意也须同时调整 EDS 文件。建议将新数据附加到当前映射的末尾。程序集对象一章中列出了可供将来使用的数据范围。此方法的优点是 Rockwell AOI 和示例项目仍可正常工作。 数据无间断地连续排列。例如,如果一个 8 位数据值按 32 位对齐,则可以使用所谓的虚拟对象。还可在对象 3501h 和 3601h 的标准配置中查看相关使用方法。 下表列出了所有可用的虚拟对象: 索引 数据类型 0002h 有符号整数(8 位) 0003h 有符号整数(16 位) 0004h 有符号整数(32 位) 0005h 无符号整数(8 位) 0006h 无符号整数(16 位) 0007h 无符号整数(32 位)
Rockwell Studio 5000 限制 控制器可使用所有可能的数据格式;它可处理以下列表中的数据格式。 缩写 字节大小 有符号 无符号 8 SINT USINT 16 INT UINT 32 DINT UDINT Rockwell PLC 仅支持有符号数字格式。因此,将所有属性转换为 DINT(32 字节,有符号)。如果设定了最高位,则将无符号 32 位整数转换为有符号整数时,可能会出现问题。在这种情况下,数字将变为负数,而不是正数。目前,此类 UDINT 属性(可能具有最高位设定)通常为状态,并可以通过 BOOL 类型引用各个位。 提供 AOI(用户自定义指令),可通过自动将数字转换为 DINT 以及从 DINT 转换为正确数字格式,从而简化对对象目录的访问。如需了解详细信息,请参见用户自定义指令 (AOI)一章。 示例项目 可以在 Nanotec 网站 www.nanotec.de 上查看为 CompactLogix PLC 创建的示例项目。此项目针对 Logix Designer 版本 20 和版本 21 创建。项目名称为 Nanotec_SampleCode_CompactLogix_Vxx.ACD。此对象包含并使用所有 AOI。 如果要使用除 CompactLogix 以外的 PLC 或其他 Logix Designer 版本,建议新建项目,并导入示例项目的 MainRoutine。为此,请在控制器管理器中右键单击 MainProgram,选择导入例程,然后从 Nanotec 选择 MainRoutine.L5X 以将其导入 MainProgram。 注: 建议使用 Nanotec 作为 EtherNet/IP 模块的名称。因此,AOI 函数无需修改,因为路径名称已用于某些 AOI 和变量中。
限制 控制器可使用所有可能的数据格式;它可处理以下列表中的数据格式。 缩写 字节大小 有符号 无符号 8 SINT USINT 16 INT UINT 32 DINT UDINT Rockwell PLC 仅支持有符号数字格式。因此,将所有属性转换为 DINT(32 字节,有符号)。如果设定了最高位,则将无符号 32 位整数转换为有符号整数时,可能会出现问题。在这种情况下,数字将变为负数,而不是正数。目前,此类 UDINT 属性(可能具有最高位设定)通常为状态,并可以通过 BOOL 类型引用各个位。 提供 AOI(用户自定义指令),可通过自动将数字转换为 DINT 以及从 DINT 转换为正确数字格式,从而简化对对象目录的访问。如需了解详细信息,请参见用户自定义指令 (AOI)一章。
示例项目 可以在 Nanotec 网站 www.nanotec.de 上查看为 CompactLogix PLC 创建的示例项目。此项目针对 Logix Designer 版本 20 和版本 21 创建。项目名称为 Nanotec_SampleCode_CompactLogix_Vxx.ACD。此对象包含并使用所有 AOI。 如果要使用除 CompactLogix 以外的 PLC 或其他 Logix Designer 版本,建议新建项目,并导入示例项目的 MainRoutine。为此,请在控制器管理器中右键单击 MainProgram,选择导入例程,然后从 Nanotec 选择 MainRoutine.L5X 以将其导入 MainProgram。 注: 建议使用 Nanotec 作为 EtherNet/IP 模块的名称。因此,AOI 函数无需修改,因为路径名称已用于某些 AOI 和变量中。
用户自定义指令 (AOI) 如限制一章中所述,对 Rockwell PLC 存在一些限制。为了应对这些限制,Nanotec 提供了一些 AOI,用于与 Nanotec 控制器进行通信。 强烈建议使用这些 AOI,因为它们使用了正确的数字格式。 Nanotec 提供的所有用户自定义指令的名称均使用“AOI_”作为前缀。 提供的 AOI 如下: AOI_Autosetup AOI_Bootloader AOI_Controlword_6040h AOI_GetOdEntry_old AOI_GetOdEntry v1.0 AOI_IO_Common AOI_MotorDriveSubmodeSelect_3202h AOI_RestoreParameter_1011h AOI_SetOdEntry AOI_SetParamsHomingMode AOI_SetParamsProfilePositionMode AOI_SetParamsProfileTorqueMode AOI_SetParamsProfileVelocityMode AOI_SetParamsVelocityMode AOI_Statusword_6041h AOI_StoreParameter_1010h AOI_Autosetup AOI 可执行自动设置程序。自动设置程序可确定编码器参数以及在闭环模式下运行控制器所需要的其他重要参数。如果控制器在开环模式下运行,则无需执行自动设置。 参数 必填 名称 数据类型 用途 说明 是 AOI_Autosetup AOI_Autosetup InOut 是 执行 BOOL 输入 否 完成 BOOL 输出 否 错误 BOOL 输出 是 IO_Common AOI_IO_Common InOut 用于读写“IO Common”程序集的 AOI 是 Controlword_6040h AOI_Controlword_6040h InOut 用于上移/下移状态机或重置错误的 AOI。 说明 AOI_Autosetup 此 AOI 的实例,创建为控制器标签。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 IO_Common AOI_IO_Common 的实例,创建为控制器标签。 Controlword_6040h AOI_Controlword_6040h 的实例,创建为控制器标签。 AOI_Bootloader 此 AOI 可将控制器切换到引导加载程序模式,控制器将在此模式下等待进一步指令,如进行固件更新。此固件更新需要特殊 PC 软件 (Plug & Drive Studio)。 参数 必填 名称 数据类型 用途 是 AOI_Bootloader AOI_Bootloader InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 说明 AOI_Bootloader 此 AOI 的实例,创建为控制器标签。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 MSG_DATA_Input 传输消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 SetOdEntry_MSG 用于在对象目录中写入条目的消息对象的实例。 AOI_Controlword_6040h 此 AOI 用于处理对象 6040h,因此可简化 CiA 402 电源状态机 的使用。此 AOI 有三种工作模式: OpMode = 1 为 CiA 402 电源状态机 打开对象 6040h。 OpMode = 2 为 CiA 402 电源状态机 关闭对象 6040h。 OpMode = 3 删除对象 6041h 中的错误位。 根据对象 6041h 的状态位,可以增加或减少 CiA 402 电源状态机 的状态。在 OpMode=1 中,AOI 逐步增加状态,直到达到操作启用状态 (6040h=15)。在 OpMode=2 中,AOI 逐步减少状态,直到达到打开禁用状态 (6040h=6)。 参数 必填 名称 数据类型 用途 是 AOI_Controlword_6040h AOI_Controlword_6040h InOut 是 Od6040h DINT InOut 是 Od6041h DINT InOut 是 OpMode DINT 输入 是 执行 BOOL 输入 否 完成 BOOL 输出 否 错误 BOOL 输出 否 Quickstop BOOL 输出 说明 AOI_Controlword_6040h 此 AOI 的实例,创建为控制器标签。 Od6040h 引用对象 6040h 的内容。 Od6041h 引用对象 6041h 的内容。 OpMode 选择 AOI 的操作模式。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在状态字 6041h 中出现错误的标志。 Quickstop 表示状态字 6041h 中出现 quickstop 的标志。 AOI_GetOdEntry_old 此 AOI 可从对象目录中的对象读取值。 参数 必填 名称 数据类型 用途 是 AOI_GetOdEntry_old AOI_GetOdEntry_old InOut 是 执行 BOOL 输入 否 错误 BOOL 输出 否 完成 BOOL 输出 是 Send_MSG MESSAGE InOut 是 MSG_Data_Input SINT[7] InOut 是 MSG_Data_Output SINT[7] InOut 是 索引 DINT 输入 是 子索引 DINT 输入 是 SignedValue BOOL 输入 是 Data_Size DINT 输入 是 数据 DINT 输出 说明 AOI_GetOdEntry 此 AOI 的实例,创建为控制器标签。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 Send_MSG 用于在对象目录中设定值的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 索引 对象(参数)索引。 子索引 对象(参数)子索引。 SignedValue 数据值的符号。 Data_Size 数据值的长度(字节)。 数据 返回的数据值。 AOI_GetOdEntry v1.0 此 AOI 可读取对象目录中对象的值,并始终将数据写入 DINT。此功能是针对 Rockwell 的最佳方法,因为它会同时发送对象定义。由此 AOI 可将响应转换为 DINT。 参数 必填 名称 数据类型 用途 是 AOI_GetOdEntry AOI_GetOdEntry InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 Send_MSG MESSAGE InOut 是 MSG_Data_Input SINT[100] InOut 是 MSG_Data_Output SINT[100] InOut 是 索引 DINT 输入 是 子索引 DINT 输入 是 数据 DINT 输出 是 Data_String STRING InOut 是 执行 BOOL 输入 说明 AOI_GetOdEntry 此 AOI 的实例,创建为控制器标签。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 Send_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 索引 对象(参数)索引。 子索引 对象(参数)子索引。 数据 从对象读取的值。 Data_String 如果读取的值为字符串,则将其存储到此处。 执行 此 AOI 在此参数的上升沿执行。 AOI_IO_Common 此 AOI 是最重要的用户自定义指令。它可处理输入/输出数据与程序集之间的交换。由于需要能够处理“无符号值”,所以简单的 CPS 指令对于复制来说是不够的。所有输入值均转换为 DINT 格式,所有输出值均由 DINT 转换为参数的本机格式。 参数 必填 名称 数据类型 用途 是 AOI_IO_Common AOI_IO_Common InOut 是 执行 BOOL 输入 否 Controlword_6040h_0 DINT 输入 否 Statusword_6041h_0 DINT 输出 否 Modes_Of_Operation_6060h_0 DINT 输入 否 Error_Register_1001h_0 DINT 输出 否 Predefined_Error_Field_1003h_1 DINT 输出 否 Target_Position_607Ah_0 DINT 输入 否 Position_Actual_Value_6064h_0 DINT 输出 否 VI_Target_Velocity_6042h_0 DINT 输入 否 Vl_Velocity_Demand_Value_6043h_0 DINT 输出 否 Vl_Velocity_Actual_Value_6044h_0 DINT 输出 否 Target_Velocity_60FFh_0 DINT 输入 否 Velocity_Demand_Value_606Bh_0 DINT 输出 否 Velocity_Actual_Value_606Ch_0 DINT 输出 否 Target_Torque_6071h_0 DINT 输入 否 Torque_Demand_6074h_0 DINT 输出 否 Homing_Method_6098h_0 DINT 输入 否 Digital_Inputs_60FDh_0 DINT 输出 否 Digital_Outputs_60FEh_1 DINT 输入 是 IO_Data_In SINT[32] InOut 是 IO_Data_Out SINT[22] InOut 说明 AOI_IO_Common 此 AOI 的实例,创建为控制器标签。 执行 此 AOI 在此参数的上升沿执行。 IO_Data_In 引用程序集的输入数据。 IO_Data_Out 引用程序集的输出数据。 所有其他 创建为控制器标签的变量。数据类型始终为 DINT,且必须使用它代替通过程序集访问参数。 AOI_MotorDriveSubmodeSelect_3202h 此 AOI 可读取或写入对象 3202h。有两种工作模式: OpMode = 1 读取 3202h 的值,并将其写入输出。 OpMode = 2 设置输入,并将值写入对象 3202h。 参数 必填 名称 数据类型 用途 是 AOI_MotorDriveSubmodeSelect_3202h AOI_MotorDrive SubmodeSelect_3202h InOut 是 输入 DINT 输入 是 输出 DINT 输出 是 GetOdEntry_MSG MESSAGE InOut 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 MSG_Data_Output SINT[100] InOut 是 OpMode DINT 输入 是 执行 BOOL 输入 说明 AOI_MotorDriveSubmodeSelect_3202h 此 AOI 的实例,创建为控制器标签。 输入 要写入对象目录中的对象 3202h 中的值。 输出 从对象目录中的对象 3202h 读取的值。 GetOdEntry_MSG 用于在对象目录中读取值的消息对象的实例。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_RestoreParameter_1011h 此 AOI 可用于还原下次控制器关闭/打开时加载的对象目录中的对象子集(至出厂设置)。重置值后控制器将重启。另请参见保存对象一章。 可通过以下方法获得三种子集: 方法 1 还原所有参数 方法 2 还原所有通信参数 方法 3 还原所有应用参数 方法 4 还原所有用户参数 方法 5 还原所有运动参数 方法 6 还原所有电机优化参数 参数 必填 名称 数据类型 用途 是 AOI_RestoreParameter_1011h AOI_RestoreParameter_1011h InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 方法 DINT 输入 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 说明 AOI_RestoreParameter_1011h 此 AOI 的实例,创建为控制器标签。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 方法 1:还原所有参数 2:还原所有通信参数 3:还原所有应用参数 4:还原所有用户参数 5:还原所有运动参数 6:还原所有电机优化参数 AOI_SetOdEntry 可通过此 AOI 将值写入对象目录中的对象。 参数 必填 名称 数据类型 用途 是 AOI_SetOdEntry AOI_SetOdEntry InOut 是 执行 BOOL 输入 否 错误 BOOL 输出 否 完成 BOOL 输出 是 Send_MSG MESSAGE InOut 是 MSG_Data_Input SINT[100] InOut 是 索引 DINT 输入 是 子索引 DINT 输入 是 Data_Size DINT 输入 是 数据 DINT 输入 说明 AOI_SetOdEntry 此 AOI 的实例,创建为控制器标签。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 Send_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 索引 对象(参数)索引。 子索引 对象(参数)子索引。 Data_Size 数据量(字节)。 数据 要写入的数据值。 AOI_SetParamsHomingMode 可通过此 AOI 为 找零 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsHomingMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsHomingMode AOI_SetParamsHomingMode InOut 是 参数 UDT_ParamsHomingMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsHomingMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_SetParamsProfilePositionMode 可通过此 AOI 为 标准定位 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsProfilePositionMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsProfilePositionMode AOI_SetParams ProfilePositionMode InOut 是 参数 UDT_ParamsProfilePositionMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsProfilePositionMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_SetParamsProfileTorqueMode 可通过此 AOI 为 标准转矩 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsProfileTorqueMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsProfileTorqueMode AOI_SetParamsProfileTorqueMode InOut 否 EnableIn BOOL 输入 否 EnableOut BOOL 输出 是 参数 UDT_ParamsProfileTorqueMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsProfileTorqueMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_SetParamsProfileVelocityMode 可通过此 AOI 为 标准速度 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsProfileVelocityMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsProfileVelocityMode AOI_SetParamsProfileVelocityMode InOut 是 参数 UDT_ParamsProfileVelocityMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsVelocityMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_SetParamsVelocityMode 可通过此 AOI 为 速度 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsVelocityMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsVelocityMode AOI_SetParamsVelocityMode InOut 是 参数 UDT_ParamsVelocityMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsProfileVelocityMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 AOI_Statusword_6041h 对象目录中的对象 6041h 表示是否已达到对象 6040h 中请求的状态。此 AOI 可将位分为单独的标志。 参数 必填 名称 数据类型 用途 是 AOI_Statusword_6041h AOI_Statusword_6041h InOut 是 Statusword_6041h DINT InOut 否 Ready_To_Switched_On BOOL 输出 否 Switched_On BOOL 输出 否 Operational_Enabled BOOL 输出 否 FAULT BOOL 输出 否 Voltage_Enabled BOOL 输出 否 Quick_Stop BOOL 输出 否 Switched_On_Disabled BOOL 输出 否 警告 BOOL 输出 否 同步 BOOL 输出 否 远程 BOOL 输出 否 Target_Reached BOOL 输出 否 Internal_Limit_Reached BOOL 输出 否 Operation_Mode_Specific1 BOOL 输出 否 Operation_Mode_Specific2 BOOL 输出 否 Closed_Loop_Available BOOL 输出 说明 AOI_Statusword_6041h 此 AOI 的实例,创建为控制器标签。 Statusword_6041h 引用对象 6041h 的内容。 所有其他 已创建为控制器标签的变量。它们始终为 BOOL 型,并可用于代替访问各个位。另一个优势是这些标志为指定标志。 AOI_StoreParameter_1010h 此 AOI 可用于存储对象目录中的对象子集,从而使其在下次重启控制器时自动变为可用状态。此外,还可通过固件更新方式保留这些值。另请参见保存对象一章。 可用子集如下: 方法 1 存储所有参数 方法 2 存储所有通信参数 方法 3 存储所有应用参数 方法 4 存储所有用户参数 方法 5 存储所有运动参数 方法 6 存储所有电机优化参数 参数 必填 名称 数据类型 用途 是 AOI_StoreParameter_1010h AOI_StoreParameter_1010h InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 MSG_Data_Output SINT[100] InOut 是 方法 DINT 输入 是 执行 BOOL 输入 是 GetOdEntry_MSG MESSAGE InOut 是 SetOdEntry_MSG MESSAGE InOut 说明 AOI_StoreParameter_1010h 此 AOI 的实例,创建为控制器标签。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 GetOdEntry_MSG 用于在对象目录中读取值的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 方法 1:存储所有参数 2:存储所有通信参数 3:存储所有应用参数 4:存储所有用户参数 5:存储所有运动参数 6:存储所有电机优化参数
AOI_Autosetup AOI 可执行自动设置程序。自动设置程序可确定编码器参数以及在闭环模式下运行控制器所需要的其他重要参数。如果控制器在开环模式下运行,则无需执行自动设置。 参数 必填 名称 数据类型 用途 说明 是 AOI_Autosetup AOI_Autosetup InOut 是 执行 BOOL 输入 否 完成 BOOL 输出 否 错误 BOOL 输出 是 IO_Common AOI_IO_Common InOut 用于读写“IO Common”程序集的 AOI 是 Controlword_6040h AOI_Controlword_6040h InOut 用于上移/下移状态机或重置错误的 AOI。 说明 AOI_Autosetup 此 AOI 的实例,创建为控制器标签。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 IO_Common AOI_IO_Common 的实例,创建为控制器标签。 Controlword_6040h AOI_Controlword_6040h 的实例,创建为控制器标签。
AOI_Bootloader 此 AOI 可将控制器切换到引导加载程序模式,控制器将在此模式下等待进一步指令,如进行固件更新。此固件更新需要特殊 PC 软件 (Plug & Drive Studio)。 参数 必填 名称 数据类型 用途 是 AOI_Bootloader AOI_Bootloader InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 说明 AOI_Bootloader 此 AOI 的实例,创建为控制器标签。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 MSG_DATA_Input 传输消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 SetOdEntry_MSG 用于在对象目录中写入条目的消息对象的实例。
AOI_Controlword_6040h 此 AOI 用于处理对象 6040h,因此可简化 CiA 402 电源状态机 的使用。此 AOI 有三种工作模式: OpMode = 1 为 CiA 402 电源状态机 打开对象 6040h。 OpMode = 2 为 CiA 402 电源状态机 关闭对象 6040h。 OpMode = 3 删除对象 6041h 中的错误位。 根据对象 6041h 的状态位,可以增加或减少 CiA 402 电源状态机 的状态。在 OpMode=1 中,AOI 逐步增加状态,直到达到操作启用状态 (6040h=15)。在 OpMode=2 中,AOI 逐步减少状态,直到达到打开禁用状态 (6040h=6)。 参数 必填 名称 数据类型 用途 是 AOI_Controlword_6040h AOI_Controlword_6040h InOut 是 Od6040h DINT InOut 是 Od6041h DINT InOut 是 OpMode DINT 输入 是 执行 BOOL 输入 否 完成 BOOL 输出 否 错误 BOOL 输出 否 Quickstop BOOL 输出 说明 AOI_Controlword_6040h 此 AOI 的实例,创建为控制器标签。 Od6040h 引用对象 6040h 的内容。 Od6041h 引用对象 6041h 的内容。 OpMode 选择 AOI 的操作模式。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在状态字 6041h 中出现错误的标志。 Quickstop 表示状态字 6041h 中出现 quickstop 的标志。
AOI_GetOdEntry_old 此 AOI 可从对象目录中的对象读取值。 参数 必填 名称 数据类型 用途 是 AOI_GetOdEntry_old AOI_GetOdEntry_old InOut 是 执行 BOOL 输入 否 错误 BOOL 输出 否 完成 BOOL 输出 是 Send_MSG MESSAGE InOut 是 MSG_Data_Input SINT[7] InOut 是 MSG_Data_Output SINT[7] InOut 是 索引 DINT 输入 是 子索引 DINT 输入 是 SignedValue BOOL 输入 是 Data_Size DINT 输入 是 数据 DINT 输出 说明 AOI_GetOdEntry 此 AOI 的实例,创建为控制器标签。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 Send_MSG 用于在对象目录中设定值的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 索引 对象(参数)索引。 子索引 对象(参数)子索引。 SignedValue 数据值的符号。 Data_Size 数据值的长度(字节)。 数据 返回的数据值。
AOI_GetOdEntry v1.0 此 AOI 可读取对象目录中对象的值,并始终将数据写入 DINT。此功能是针对 Rockwell 的最佳方法,因为它会同时发送对象定义。由此 AOI 可将响应转换为 DINT。 参数 必填 名称 数据类型 用途 是 AOI_GetOdEntry AOI_GetOdEntry InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 Send_MSG MESSAGE InOut 是 MSG_Data_Input SINT[100] InOut 是 MSG_Data_Output SINT[100] InOut 是 索引 DINT 输入 是 子索引 DINT 输入 是 数据 DINT 输出 是 Data_String STRING InOut 是 执行 BOOL 输入 说明 AOI_GetOdEntry 此 AOI 的实例,创建为控制器标签。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 Send_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 索引 对象(参数)索引。 子索引 对象(参数)子索引。 数据 从对象读取的值。 Data_String 如果读取的值为字符串,则将其存储到此处。 执行 此 AOI 在此参数的上升沿执行。
AOI_IO_Common 此 AOI 是最重要的用户自定义指令。它可处理输入/输出数据与程序集之间的交换。由于需要能够处理“无符号值”,所以简单的 CPS 指令对于复制来说是不够的。所有输入值均转换为 DINT 格式,所有输出值均由 DINT 转换为参数的本机格式。 参数 必填 名称 数据类型 用途 是 AOI_IO_Common AOI_IO_Common InOut 是 执行 BOOL 输入 否 Controlword_6040h_0 DINT 输入 否 Statusword_6041h_0 DINT 输出 否 Modes_Of_Operation_6060h_0 DINT 输入 否 Error_Register_1001h_0 DINT 输出 否 Predefined_Error_Field_1003h_1 DINT 输出 否 Target_Position_607Ah_0 DINT 输入 否 Position_Actual_Value_6064h_0 DINT 输出 否 VI_Target_Velocity_6042h_0 DINT 输入 否 Vl_Velocity_Demand_Value_6043h_0 DINT 输出 否 Vl_Velocity_Actual_Value_6044h_0 DINT 输出 否 Target_Velocity_60FFh_0 DINT 输入 否 Velocity_Demand_Value_606Bh_0 DINT 输出 否 Velocity_Actual_Value_606Ch_0 DINT 输出 否 Target_Torque_6071h_0 DINT 输入 否 Torque_Demand_6074h_0 DINT 输出 否 Homing_Method_6098h_0 DINT 输入 否 Digital_Inputs_60FDh_0 DINT 输出 否 Digital_Outputs_60FEh_1 DINT 输入 是 IO_Data_In SINT[32] InOut 是 IO_Data_Out SINT[22] InOut 说明 AOI_IO_Common 此 AOI 的实例,创建为控制器标签。 执行 此 AOI 在此参数的上升沿执行。 IO_Data_In 引用程序集的输入数据。 IO_Data_Out 引用程序集的输出数据。 所有其他 创建为控制器标签的变量。数据类型始终为 DINT,且必须使用它代替通过程序集访问参数。
AOI_MotorDriveSubmodeSelect_3202h 此 AOI 可读取或写入对象 3202h。有两种工作模式: OpMode = 1 读取 3202h 的值,并将其写入输出。 OpMode = 2 设置输入,并将值写入对象 3202h。 参数 必填 名称 数据类型 用途 是 AOI_MotorDriveSubmodeSelect_3202h AOI_MotorDrive SubmodeSelect_3202h InOut 是 输入 DINT 输入 是 输出 DINT 输出 是 GetOdEntry_MSG MESSAGE InOut 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 MSG_Data_Output SINT[100] InOut 是 OpMode DINT 输入 是 执行 BOOL 输入 说明 AOI_MotorDriveSubmodeSelect_3202h 此 AOI 的实例,创建为控制器标签。 输入 要写入对象目录中的对象 3202h 中的值。 输出 从对象目录中的对象 3202h 读取的值。 GetOdEntry_MSG 用于在对象目录中读取值的消息对象的实例。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。
AOI_RestoreParameter_1011h 此 AOI 可用于还原下次控制器关闭/打开时加载的对象目录中的对象子集(至出厂设置)。重置值后控制器将重启。另请参见保存对象一章。 可通过以下方法获得三种子集: 方法 1 还原所有参数 方法 2 还原所有通信参数 方法 3 还原所有应用参数 方法 4 还原所有用户参数 方法 5 还原所有运动参数 方法 6 还原所有电机优化参数 参数 必填 名称 数据类型 用途 是 AOI_RestoreParameter_1011h AOI_RestoreParameter_1011h InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 方法 DINT 输入 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 说明 AOI_RestoreParameter_1011h 此 AOI 的实例,创建为控制器标签。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 方法 1:还原所有参数 2:还原所有通信参数 3:还原所有应用参数 4:还原所有用户参数 5:还原所有运动参数 6:还原所有电机优化参数
AOI_SetOdEntry 可通过此 AOI 将值写入对象目录中的对象。 参数 必填 名称 数据类型 用途 是 AOI_SetOdEntry AOI_SetOdEntry InOut 是 执行 BOOL 输入 否 错误 BOOL 输出 否 完成 BOOL 输出 是 Send_MSG MESSAGE InOut 是 MSG_Data_Input SINT[100] InOut 是 索引 DINT 输入 是 子索引 DINT 输入 是 Data_Size DINT 输入 是 数据 DINT 输入 说明 AOI_SetOdEntry 此 AOI 的实例,创建为控制器标签。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 Send_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 索引 对象(参数)索引。 子索引 对象(参数)子索引。 Data_Size 数据量(字节)。 数据 要写入的数据值。
AOI_SetParamsHomingMode 可通过此 AOI 为 找零 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsHomingMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsHomingMode AOI_SetParamsHomingMode InOut 是 参数 UDT_ParamsHomingMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsHomingMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。
AOI_SetParamsProfilePositionMode 可通过此 AOI 为 标准定位 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsProfilePositionMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsProfilePositionMode AOI_SetParams ProfilePositionMode InOut 是 参数 UDT_ParamsProfilePositionMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsProfilePositionMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。
AOI_SetParamsProfileTorqueMode 可通过此 AOI 为 标准转矩 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsProfileTorqueMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsProfileTorqueMode AOI_SetParamsProfileTorqueMode InOut 否 EnableIn BOOL 输入 否 EnableOut BOOL 输出 是 参数 UDT_ParamsProfileTorqueMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsProfileTorqueMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。
AOI_SetParamsProfileVelocityMode 可通过此 AOI 为 标准速度 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsProfileVelocityMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsProfileVelocityMode AOI_SetParamsProfileVelocityMode InOut 是 参数 UDT_ParamsProfileVelocityMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsVelocityMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。
AOI_SetParamsVelocityMode 可通过此 AOI 为 速度 模式一次性设置所有最重要的参数。参数存储在 UDT_ParamsVelocityMode 中。AOI 可将参数依次写入控制器中。 参数 必填 名称 数据类型 用途 是 AOI_SetParamsVelocityMode AOI_SetParamsVelocityMode InOut 是 参数 UDT_ParamsVelocityMode InOut 是 MSG_Data_Input SINT[100] InOut 是 执行 BOOL 输入 是 SetOdEntry_MSG MESSAGE InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 说明 AOI_SetParamsProfileVelocityMode 此 AOI 的实例,创建为控制器标签。 参数 引用配置的参数。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。
AOI_Statusword_6041h 对象目录中的对象 6041h 表示是否已达到对象 6040h 中请求的状态。此 AOI 可将位分为单独的标志。 参数 必填 名称 数据类型 用途 是 AOI_Statusword_6041h AOI_Statusword_6041h InOut 是 Statusword_6041h DINT InOut 否 Ready_To_Switched_On BOOL 输出 否 Switched_On BOOL 输出 否 Operational_Enabled BOOL 输出 否 FAULT BOOL 输出 否 Voltage_Enabled BOOL 输出 否 Quick_Stop BOOL 输出 否 Switched_On_Disabled BOOL 输出 否 警告 BOOL 输出 否 同步 BOOL 输出 否 远程 BOOL 输出 否 Target_Reached BOOL 输出 否 Internal_Limit_Reached BOOL 输出 否 Operation_Mode_Specific1 BOOL 输出 否 Operation_Mode_Specific2 BOOL 输出 否 Closed_Loop_Available BOOL 输出 说明 AOI_Statusword_6041h 此 AOI 的实例,创建为控制器标签。 Statusword_6041h 引用对象 6041h 的内容。 所有其他 已创建为控制器标签的变量。它们始终为 BOOL 型,并可用于代替访问各个位。另一个优势是这些标志为指定标志。
AOI_StoreParameter_1010h 此 AOI 可用于存储对象目录中的对象子集,从而使其在下次重启控制器时自动变为可用状态。此外,还可通过固件更新方式保留这些值。另请参见保存对象一章。 可用子集如下: 方法 1 存储所有参数 方法 2 存储所有通信参数 方法 3 存储所有应用参数 方法 4 存储所有用户参数 方法 5 存储所有运动参数 方法 6 存储所有电机优化参数 参数 必填 名称 数据类型 用途 是 AOI_StoreParameter_1010h AOI_StoreParameter_1010h InOut 否 完成 BOOL 输出 否 错误 BOOL 输出 是 MSG_Data_Input SINT[100] InOut 是 MSG_Data_Output SINT[100] InOut 是 方法 DINT 输入 是 执行 BOOL 输入 是 GetOdEntry_MSG MESSAGE InOut 是 SetOdEntry_MSG MESSAGE InOut 说明 AOI_StoreParameter_1010h 此 AOI 的实例,创建为控制器标签。 SetOdEntry_MSG 用于将值写入对象目录的消息对象的实例。 GetOdEntry_MSG 用于在对象目录中读取值的消息对象的实例。 MSG_Data_Input 发送消息所需要的缓冲区。 MSG_Data_Output 发送消息所需要的缓冲区。 执行 此 AOI 在此参数的上升沿执行。 完成 表示已成功执行并完成 AOI 的标志。 错误 表示在传输消息过程中出现错误的标志。 方法 1:存储所有参数 2:存储所有通信参数 3:存储所有应用参数 4:存储所有用户参数 5:存储所有运动参数 6:存储所有电机优化参数
用户定义数据类型 Nanotec 提供的所有用户定义数据类型的名称中均带有前缀“UDT_”。 UDT_ParamsHomingMode UDT_ParamsProfilePositionMode UDT_ParamsProfileTorqueMode UDT_ParamsProfileVelocityMode UDT_ParamsVelocityMode UDT_ParamsHomingMode 如果将此数据类型的变量创建为控制器标签,则可在此配置找零模式最重要的参数。然后可通过 AOI_SetParamsHomingMode 写入参数。 此 UDT 包含以下数据: Od607Ch_00 DINT Od6099h_01 DINT Od6099h_02 DINT Od609Ah_00 DINT Od2056h_00 DINT Od203Ah_01 DINT Od203Ah_02 DINT UDT_ParamsProfilePositionMode 如果将此数据类型的变量创建为控制器标签,则可在此配置标准定位模式最重要的参数。然后可通过 AOI_SetParamsProfilePositionMode 写入参数。 此 UDT 包含以下数据: Od607Bh_01 DINT Od607Bh_02 DINT Od607Ch_00 DINT Od607Dh_01 DINT Od607Dh_02 DINT Od607Eh_00 DINT Od6081h_00 DINT Od6082h_00 DINT Od6083h_00 DINT Od6084h_00 DINT Od6085h_00 DINT Od6086h_00 DINT Od60C5h_00 DINT Od60C6h_00 DINT Od60A4h_01 DINT Od60A4h_02 DINT Od60A4h_03 DINT Od60A4h_04 DINT Od2067h_00 DINT UDT_ParamsProfileTorqueMode 如果将此数据类型的变量创建为控制器标签,则可在此配置标准转矩模式最重要的参数。然后可通过 AOI_SetParamsProfileTorqueMode 写入参数。 此 UDT 包含以下数据: Od6072h_00 DINT Od6087h_00 DINT UDT_ParamsProfileVelocityMode 如果将此数据类型的变量创建为控制器标签,则可在此配置标准速度模式最重要的参数。然后可通过 AOI_SetParamsProfileVelocityMode 写入参数。 此 UDT 包含以下数据: Od606Dh_00 DINT Od606Eh_00 DINT Od607Eh_00 DINT Od6083h_00 DINT Od6084h_00 DINT Od6085h_00 DINT Od6086h_00 DINT Od604Ah_01 DINT Od604Ah_02 DINT UDT_ParamsVelocityMode 如果将此数据类型的变量创建为控制器标签,则可在此配置速度模式最重要的参数。然后可通过 AOI_SetParamsVelocityMode 写入参数。 此 UDT 包含以下数据: Od604Ch_01 DINT Od604Ch_02 DINT Od6048h_01 DINT Od6048h_02 DINT Od6049h_01 DINT Od6049h_02 DINT Od6046h_01 DINT Od6046h_02 DINT Od604Ah_01 DINT Od604Ah_02 DINT
UDT_ParamsHomingMode 如果将此数据类型的变量创建为控制器标签,则可在此配置找零模式最重要的参数。然后可通过 AOI_SetParamsHomingMode 写入参数。 此 UDT 包含以下数据: Od607Ch_00 DINT Od6099h_01 DINT Od6099h_02 DINT Od609Ah_00 DINT Od2056h_00 DINT Od203Ah_01 DINT Od203Ah_02 DINT
UDT_ParamsProfilePositionMode 如果将此数据类型的变量创建为控制器标签,则可在此配置标准定位模式最重要的参数。然后可通过 AOI_SetParamsProfilePositionMode 写入参数。 此 UDT 包含以下数据: Od607Bh_01 DINT Od607Bh_02 DINT Od607Ch_00 DINT Od607Dh_01 DINT Od607Dh_02 DINT Od607Eh_00 DINT Od6081h_00 DINT Od6082h_00 DINT Od6083h_00 DINT Od6084h_00 DINT Od6085h_00 DINT Od6086h_00 DINT Od60C5h_00 DINT Od60C6h_00 DINT Od60A4h_01 DINT Od60A4h_02 DINT Od60A4h_03 DINT Od60A4h_04 DINT Od2067h_00 DINT
UDT_ParamsProfileTorqueMode 如果将此数据类型的变量创建为控制器标签,则可在此配置标准转矩模式最重要的参数。然后可通过 AOI_SetParamsProfileTorqueMode 写入参数。 此 UDT 包含以下数据: Od6072h_00 DINT Od6087h_00 DINT
UDT_ParamsProfileVelocityMode 如果将此数据类型的变量创建为控制器标签,则可在此配置标准速度模式最重要的参数。然后可通过 AOI_SetParamsProfileVelocityMode 写入参数。 此 UDT 包含以下数据: Od606Dh_00 DINT Od606Eh_00 DINT Od607Eh_00 DINT Od6083h_00 DINT Od6084h_00 DINT Od6085h_00 DINT Od6086h_00 DINT Od604Ah_01 DINT Od604Ah_02 DINT
UDT_ParamsVelocityMode 如果将此数据类型的变量创建为控制器标签,则可在此配置速度模式最重要的参数。然后可通过 AOI_SetParamsVelocityMode 写入参数。 此 UDT 包含以下数据: Od604Ch_01 DINT Od604Ch_02 DINT Od6048h_01 DINT Od6048h_02 DINT Od6049h_01 DINT Od6049h_02 DINT Od6046h_01 DINT Od6046h_02 DINT Od604Ah_01 DINT Od604Ah_02 DINT