DebugMessage

傳送 KINGSTAR 記錄訊息至 KINGSTAR 記錄檢視

語法

KsError DebugMessage(
     int Category,
     KsLogSeverity Severity,
     wchar_t* Message,
     BOOL AppendValues,
     long long Value0,
     long long Value1,
     double Value2,
     double Value3
);

參數

Category:紀錄訊息之 ID,使用者自訂義。字串可使用 SetCategoryName 法關聯至各 Category,此 ID 不需從零開始或按順序排列。

Severity:紀錄訊息之嚴重程度。請見 KsLogSeverity 類型。

Message:說明記錄數據的訊息,最多 128 個字母。

AppendValues:TRUE:值添加在 Message 末端;FALSE:值未添加在 Message 末端。

Value0:第一個顯示在紀錄的值。

Value1:第二個顯示在紀錄的值。

Value2:第三個顯示在紀錄的值。

Value3:第四個顯示在紀錄的值。

回傳值

如果此函式執行成功,會回傳 errNoError,否則會傳回錯誤碼。如需更多有關錯誤碼的資訊,請參閱 KsError 清單。

備註

可用的 EtherCAT 狀態

ecatOffline, ecatInit, ecatBoot, ecatPreOP, ecatSafeOP, ecatOP

範例

複製
/*
*    Assume an user-defined enumeration:
*
*    typedef enum
*    {
*        userMain = 0,
*        userCommander,
*        userObserver,
*        END_USERMODULE
*    } userModule;
*/

long long errorCode = KsError::errWrongParameter;
double watchValue1 = 360.0, watchValue2 = 720.0;
// Scenario 1: Print plain messages
// Expected message: "Fatal error in the main loop"
nRet = DebugMessage(userMain, logFatal, L"Fatal error in the main loop", FALSE,
                    0, 0, 0.0, 0.0);

// Scenario 2: Append values behind
// Expected message: "Calling JogAxis() failed, error code returned: 4097, 0, 0.0, 0.0"
nRet = DebugMessage(userCommander, logError, L"Calling JogAxis() failed, error code returned",
                    TRUE, errorCode, 0, 0.0, 0.0);

// Scenario 3: Insert values in the message
// Expected message: "Before: watchValue1: 360.0, watchValue2: 720.0"
nRet = DebugMessage(userObserver, logDebug, L"Before: watchValue1: {2}, watchValue2: {3},",
                    FALSE, 0, 0, watchValue1, watchValue2);
watchValue2 = watchValue1;
// Expected message: "After: watchValue1: 360.0, watchValue2: 360.0"
nRet = DebugMessage(userObserver, logDebug, L"After: watchValue1: {2}, watchValue2: {3},",
                    FALSE, 0, 0, watchValue1, watchValue2);

使用需求

  RT Win32
最低支援版本 4.1 4.1
標頭檔 ksapi.h ksapi.h
程式庫 KsApi_Rtss.lib KsApi.lib

參見

GetCategoryName

SetCategoryName