Skip to content

資料型態

data_types
Ex:變數資料型態指定時,型態如下,這裡不討論Timer, Counter, Float

  • Word (Unsigned)
  • Word (signed)
  • Double Word (Unsigned)
  • Double Word (signed)

函數資料型態

  1. Word
  2. Double Word
  3. INT
  4. DINT
  5. STRING
  6. ANY16
  7. ANY16_S
  8. ANY16_U
  9. ANY32
  10. ANY32_S
  11. ANY32_U

以下錯誤範例

wrong_pro

解說:

D213 標籤型態為 {{% callout warning %}} Unsigned Word {{% /callout %}} MEAN 輸出型態為 {{% callout warning %}} ANY16_S {{% /callout %}} 型態不符,必須做型態轉換。但D213 標籤作為數值使用標籤,不可使用 [INT_TO_WORD],要使用 [INT2UINT]

[INT_TO_WORD] 會受內部記憶體改,影響數值顯示。原因:轉換後高位元不定數值,清除高位元可得正確數值,但高位元何時會再被修改不可知,且當使用變數名稱時,高位元無法正確解析設定,數值超過255即會使用高位元,數值無法正確轉換。

解法

挑選正確函數,[MEAN_U],避免資料型態轉換或挑選正確資料轉換函式。使用無號資料格式務必挑選帶有 [ _U ] 的函式。

無號轉有號,務必確認數值最大值不超過 32,767(16 bit),2,147,483,647(32 bit),否則數值出錯