CANopen

KINGSTAR 在掃描總線時可偵測到 CANopen 裝置。掃描 CANopen 總線耗時 30 秒至 1 分鐘;如果連接了 CANopen 耦合器,KINGSTAR 則需要額外的 30 秒到 1 分鐘才能啟動。

三種設定 CANopen 設備的方式:

  1. 使用預設值-當偵測到 CANopen 設備後,KINGSTAR 將會接收其 PDO 設定值,而後將這些設定套用到系統中。此方法的優先級最低,僅適用於簡單的 I/O 模組。
  2. 將 CANopen 設定匯入 KINGSTAR 資料庫-KINGSTAR 會在啟動後使用這些設定。目前使用者無法自行匯入 CANopen 設定,必須由 KINGSTAR 人員匯入。
  3. 使用 AddModuleConfiguration 設置您的 CANopen 裝置-您需要使用 CanOpenSetting 結構來設定裝置,再將其傳送到 KINGSTAR。使用 AddModuleConfiguration 時,裝置 ID (device ID) 就是裝置的 CAN ID。此方法的優先順序最高。

CANopen 裝置可能有自己的物件字典 (object dictionary),如果有的話,您可以使用 AoeReadCommandAoeWriteCommand 命令存取物件。AoE 命令要用的連接埠參數為 0x1000 + CAN ID。例如:CAN ID 為 7 的裝置,使用的連接埠是 0x1007。

如果您使用 ReadIOSdoObjectWriteIOSdoObject 命令,這些命令會自動呼叫 AoE 命令並套用正確的連接埠號。

注意:目前所有的 CANopen 模組都視為 I/O 模組,唯一支援的 CANopen 耦合器是 Beckhoff EL6751。

在 CANopen 中編輯鮑率

KINGSTAR 使用 500 Kb 給 CAN 總線掃描和通訊,鮑率可在 Beckhoff EL6751 中編輯。

要編輯鮑率,請呼叫 AddModuleConfigurationModuleId 設為零。在傳給 Configuration CanOpenSetting 結構中,新增一道 0xF800:2 的 SDO 命令,命令中的值代表對應的鮑率。鮑率值可以在 EL6751 使用指南找到。

參見

RT/Win32 – KINGSTAR 總線 - 信箱

AoeReadCommand

AoeReadSdoObject

AoeReadWriteCommand

AoeWriteCommand

AoeWriteControlCommand

AoeWriteSdoObject

.NET API – Api 類別 - 信箱

AoeReadCommand

AoeReadSdoObject

AoeReadWriteCommand

AoeWriteCommand

AoeWriteControlCommand

AoeWriteSdoObject

.NET 類別 – ISlave 介面 - 方法

AoeReadCommand

AoeReadSdoObject

AoeReadWriteCommand

AoeWriteCommand

AoeWriteControlCommand

AoeWriteSdoObject

PLC 功能塊 – EtherCAT

EC_ReadAxisInfo

EC_ReadByteParameter

EC_ReadDWordParameter

EC_ReadModuleInfo

EC_ReadStringParameter

EC_ReadWordParameter

EC_RestartModule

EC_WriteByteParameter

EC_WriteDWordParameter

EC_WriteStringParameter

EC_WriteWordParameter