メインコンテンツまでスキップ

Device Code 對照表

在不同協定 / 工具下,Keyence KV 的同一個記憶體區會有不同的命名與編碼。 本表整理出 KV native(KV STUDIO 顯示)↔ MC Protocol(Mitsubishi 標準)↔ Host Link Protocol 三方對照。

完整對照矩陣

概念名稱KV nativeHost Link 用法MC Protocol DeviceMC ASCIIMC Binary範圍(KV-7/8000)
Relay(含 input/output)RR00000-R199915XYX* / Y*9C / 9DR0-R199915
Link relayBB0000-B7FFFBB*A00-7FFF (hex)
Internal auxiliary relayMRMR00000-MR399915MM*900-63999
Latch relayLRLR00000-LR99915LL*920-15999
Control relayCRCR0000-CR7915SMSM910-1279
Control memoryCMCM0000-CM7599SDSDA90-7599
Data memoryDMDM00000-DM65534DD*A80-65534
Extended data memoryEMEM00000-EM65534D (offset +100000)D*A80-65534 (映射 D100000-D165534)
File registerFMFM00000-FM32767RR*AF0-32767
File register (extended)ZFZF000000-ZF524287ZRZRB00-524287 (hex)
Link registerWW0000-W7FFFWW*B40-7FFF (hex)
Temporary data memoryTMTM000-TM5110-511
Index registerZZ01-Z12KV-7/8000: Z01-Z12
Timer current valueTCT0000-T3999TNTNC20-3999
Timer set valueTST0000-T39990-3999(僅 Host Link 用 TS)
Timer contact (boolean)TT0000-T3999TSTSC10-3999
Counter current valueCCC0000-C3999CNCNC50-3999
Counter set valueCSC0000-C39990-3999
Counter contact (boolean)CC0000-C3999CSCSC40-3999
Work relay (KV-7/8000)VBVB0000-VBF9FF0-F9FF (hex)
Work memory (KV-7/8000)VMVM00000-VM5898230-589823
Digital trimmer (KV-7/8000)ATAT0-AT70-7

重要對照(最常用)

McpX 函式庫對應(Prefix enum)

McpX 函式庫使用 Mitsubishi 標準命名,對應到 KV:

McpXLib.Enums.Prefix.M   →  KV `MR` (Internal auxiliary relay)
McpXLib.Enums.Prefix.D → KV `DM` (Data memory)
McpXLib.Enums.Prefix.X → KV `R` (Input relay)
McpXLib.Enums.Prefix.Y → KV `R` (Output relay)
McpXLib.Enums.Prefix.B → KV `B` (Link relay)
McpXLib.Enums.Prefix.W → KV `W` (Link register)
McpXLib.Enums.Prefix.L → KV `LR` (Latch relay)
McpXLib.Enums.Prefix.SM → KV `CR` (Control relay)
McpXLib.Enums.Prefix.SD → KV `CM` (Control memory)
McpXLib.Enums.Prefix.R → KV `FM` (File register)
McpXLib.Enums.Prefix.ZR → KV `ZF` (File register extended)
McpXLib.Enums.Prefix.TN → KV `TC` (Timer current)
McpXLib.Enums.Prefix.TS → KV `T` (Timer contact)
McpXLib.Enums.Prefix.CN → KV `CC` (Counter current)
McpXLib.Enums.Prefix.CS → KV `C` (Counter contact)

範例:

// 讀 KV DM0 一個 word
short value = mcpx.Read<short>(Prefix.D, "0");

// 寫 KV MR100 = ON
mcpx.Write<bool>(Prefix.M, "100", true);

// 讀 KV R200..R207(8 個 input/output bit)
bool[] inputs = mcpx.BatchRead<bool>(Prefix.X, "200", 8);

XYM Expression(Mitsubishi-style 表達)

某些 KV STUDIO 工具或第三方軟體使用 XYM 表達式 — 這是 Keyence 官方提供的 Mitsubishi 相容寫法:

KV NativeXYMXYM 範圍
R (Relay)XY0000-1999F (KV-7/8000)
MR (Internal aux)M00000-63999
LR (Latch)L0000-999F
DM (Data memory)D00000-65534
EM (Extended DM)E00000-65534
FM (File register)F00000-32767

抽象 [B] [W] notation(規格書常用)

某些客戶 / 供應商在規格書內用抽象命名 [B][W]

抽象KV native(最常見對應)KV native(替代可能)
[B] (Bit memory)MRBR
[W] (Word memory)DMEMW

⚠ 抽象命名 [B] [W] 不是 MC Protocol / Host Link 的標準寫法,僅出現在某些第三方規格書(例如 Hirata EFEM PLC-PC Interface V1.15)。 真實對應需與 PLC ladder 工程師確認。

Address 進位制

不同 device 用不同進位:

Device 類型進位制
R, MR, LR, CR, CM, DM, EM, FM, TM, T, C, VMdecimalDM0 / DM65534
B, W, ZF, VBhexadecimalB7FFF / W7FFF / ZF7FFFF

MC Protocol 的 Address 在 binary frame 中永遠是 hex(不論 device 原生進位)。在 ASCII frame 中按 device 原生進位顯示。

32-bit Atomicity 規則

讀寫 32-bit 資料(.D / .L 或 word-pair):

  • 兩個連續 word 構成 32-bit
  • 只有 leading device No. 為偶數時,保證上下 16-bit 同時更新
  • 奇數 leading 可能讀到「下半 word 是新的,上半 word 是舊的」

範例:

DM10 (low) + DM11 (high) → ✅ atomic(10 偶數)
DM11 (low) + DM12 (high) → ❌ 不保證 atomic

參考

  • KV-XCM02 User's Manual:Chapter 5 §5-5(Host Link)、Chapter 6 §6-5(MC Protocol)
  • Keyence ladder reference manual(XYM 對照詳細版本)
  • 相關文件: