裝置定義
若要變更裝置定義,請在 Overview 視圖中選取 Device definition。
在專案初次新增模組時,Device Definition 對話方塊僅顯示 Overview 視圖,Channel 0 預設設為 Disabled。 視您為參數 Channel 0
的選擇而定,您可能有更多參數。
如果將 Channel 0 設為 Modbus Master,您可以查看 Channel 0 – Modbus Master 視圖。 請參閱 Channel 0 – Modbus Master 視圖 以瞭解詳情。
如果您在 Overview 視圖中將 Channel 0 設定為 Modbus Slave,您會看到 Channel 0 – Modbus Slave 視圖。 請參閱 Channel 0 – Modbus Slave 視圖 以瞭解詳情。
Overview 視圖
使用 Device Definition 對話方塊中的 Overview 視圖來定義裝置或變更裝置定義。
Device Definition 對話方塊 – Overview 視圖

Overview 視圖包含以下參數:
參數 | 定義 | 提供的選擇 |
|---|---|---|
Device Type | 顯示裝置型號與類型。 | 裝置專屬 |
Name | 輸入 IEC 61131 相容裝置名稱。 若在此欄位中輸入無效的字元,或名稱超過 40 個字元,則軟體會忽略該字元。 | 所有有效值 |
Description | 輸入裝置描述。 | 所有有效值 |
Slot | 指定裝置所在的插槽號碼。 視平台而定,只有 1 個與最大數目的 I/O 裝置間的插槽才有效。 建立裝置時,插槽號碼預設為第一個可用的插槽位置。 當控制器變更為支援較小之最大 I/O 計數的控制器時,目前的插槽值可能會失效。 | 1...32 |
Series | 指定裝置的系列。 | 裝置專屬 |
Revision | 指定裝置的主要和次要修訂版。 次要修訂版的有效範圍為 1...255。 | 裝置專屬 |
Electronic Keying | 定義裝置使用的電子鍵控。 電子鍵控會將您專案中定義的裝置與安裝的裝置做比較。 如果鍵控失敗,則會發生錯誤。 如需電子鍵控的詳細資訊,請參閱 Electronic Keying in Logix 5000 Control
Systems Application Technique(出版品 LOGIX-AT001)。 |
注意:
當使用 Disable Keying
時請特別謹慎;若未正確使用,此選項可能會造成人員傷亡、資產損壞或經濟損失。 強烈建議您不要使用 Disable Keying。 若您使用 Disable Keying,您有責任確實了解使用之模組是否可滿足應用的功能需求。 |
Connection | 指定裝置與控制器之間傳輸的資料類型。 | Data(預設值) |
通訊模式 | 定義 |
|---|---|
Disabled | 該通道未使用,且控制器與序列模組間未啟用實體連線。 |
Generic ASCII | 是序列通訊的一般模式,您可定義通訊中要使用或接收的任何使用者資料。 |
Modbus Master | 該裝置會將傳送 Modbus 問題或寫入指令到相連的從屬裝置。 |
Modbus Slave | 該裝置作為外部主物件的從屬,並等待 Master 的指令。 |
Channel 0 – Modbus Master 視圖
Modbus Master 視圖可讓您定義 Modbus Master 裝置。
Channel 0 – Modbus Master 視圖範例

Modbus Master 視圖包含以下參數:
參數 | 定義 | 提供的選擇 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Command | 顯示設定中的指令索引。 | 0...49 | ||||||||||||||||||
Communication Method | 指定指令的通訊方法。
提示:
停用通訊方法時,無法使用參數。
|
| ||||||||||||||||||
Data Type | 指定指令的資料類型。 |
| ||||||||||||||||||
Function Code | 指定指令的函數。 如需各函數代碼選項的描述,請參閱 表 4。 | 指定指令的函數。 有效值視資料類型而定。 若資料類型為 BOOL:
若資料類型為 INT:
若資料類型為 REAL:
| ||||||||||||||||||
Slave | 指定 Modbus Slave 裝置的節點位址。 | 特定 Modbus Slave 裝置的有效位址為 1...247。 針對廣播指令,將從屬設定為 0。廣播指令只能是寫入指令。 | ||||||||||||||||||
Register Start Address | 指定讀取或寫入之暫存器的起始位址。 | 0...65,535 | ||||||||||||||||||
Data Count | 指定讀取或寫入之資料類型的資料數量。 如果使用 REAL,每個資料使用 2 個暫存器。 讀/寫的連續暫存器數量如下:
資料計數所造成的結束位址不可超過最大位址 65,535。 結束位址的計算方式為(暫存器開始位址 + 暫存器數量 - 1)。 | 有效的資料長度值依資料類型與函數代碼而定。
| ||||||||||||||||||
Poll Interval | 指定當指令處於連續模式時每次執行時的秒數。 例如,如果 Poll Interval 設定為 10,Modbus Master 會等待 10 秒再重新執行該指令。當 Poll Interval 設定為 0 時,Modbus Master 會盡快重複傳輸指令。
提示:
當通訊方法為 Conditional 時,此參數無法使用。
| 0...32,767 | ||||||||||||||||||
Swap Mode | 指定每 4 個位元組從 Modbus Slave 接收或傳送到 Modbus Slave 的資料排列方式。 |
提示:
A、B、C 和 D 代表接收/傳輸資料中的四個相鄰位元組。
| ||||||||||||||||||
Fault Enable | 判斷當讀取指令失敗時是否要以故障值覆寫收到的資料。 選擇核取方塊可以故障值覆寫接收的資料。
提示:
當函數代碼為寫入指令時,無法使用此參數。
| – | ||||||||||||||||||
Fault Value | 指定當讀取指令失敗時要取代接收資料的值。 | – | ||||||||||||||||||
Connection 1/Connection 2 | 指令通訊預設使用 Connection 1。 若指令資料大小超過 Connection 1 的剩餘可用資料量,則該指令會使用 Connection 2 代替。 | – | ||||||||||||||||||
Input | 顯示該連線剩餘的讀取資料量。 | – | ||||||||||||||||||
Output | 顯示該連線剩餘的寫入資料量。 | – |
Data Type | 功能代碼 | Description |
|---|---|---|
BOOL | Read Coils(功能代碼 01) | 讀取從屬裝置中 Coils 的 1...2000 連續狀態。 |
Read Discrete Inputs(功能代碼 02) | 讀取從屬裝置中 Discrete Inputs 的 1...2000 連續狀態。 | |
Write Single Coil(功能代碼 03) | 在從屬裝置中將單一輸出寫入 ON 或 OFF。 | |
Write Multiple Coils(功能代碼 15) | 在從屬裝置中將 1...1968 個連續輸出寫入至 ON 或 OFF。 | |
INT | Read Holding Registers(功能代碼 03) | 在從屬裝置中讀取 INT 維持暫存器的 1...125 個連續區塊。 |
Read Input Registers(功能代碼 04) | 在從屬裝置中讀取 INT 輸入暫存器的 1...125 個連續區塊。 | |
Write Single Register(功能代碼 06) | 在從屬裝置中寫入單一維持暫存器。 | |
Write Multiple Registers(功能代碼 01) | 在從屬裝置中寫入 INT 維持暫存器的 1...123 個連續區塊。 | |
REAL | Read Holding Registers(功能代碼 03) | 在從屬裝置中讀取 REAL 維持暫存器的 1...62 個連續區塊。 |
Read Input Registers(功能代碼 04) | 在從屬裝置中讀取 REAL 輸入暫存器的 1...62 個連續區塊。 | |
Write Multiple Registers(功能代碼 16) | 在從屬裝置中寫入 REAL 維持暫存器的 1...61 個連續區塊。 |
主物件指令清單限制
主要指令清單限制為:
- 最多可建立 50 個指令。 指令受限於可用的連線記憶。
- 每個 Modbus Master 都可支援最多兩個資料連線。
- Connection 1 支援最大 464 位元組的讀取資料和 476 位元組的寫入資料。
- Connection 2 支援最大 472 位元組的讀取資料和 488 位元組的寫入資料。
- 每個指令都可使用:
- 每個被讀取的維持暫存器或輸入暫存器都有 2 位元組輸入資料。
- 每 1…8 個被讀取的線圈或離散輸入都有 1 位元組輸入資料。
- 每個被寫入的維持暫存器都有 2 位元組輸出資料。
- 每 1…8 個被寫入的線圈都有 1 位元組輸出資料。
- 超過連線記憶時,會出現錯誤訊息。
主物件指令記憶體用量
下列為主要指令記憶體用量的範例:
- 暫存器的最高單一連線組態:
- 223 個字 * 2 個位元組 / 字讀取 = 446 輸入位元組
- 241 個字 * 2 個位元組 / 字寫入 = 482 輸出位元組

- 線圈的最高單一連線組態:
- 3576 位元 / 8 位元 / 位元組讀取 = 447 輸入位元組
- 3856 位元 / 8 位元 / 寫入的位元組 = 482 輸出位元組

Channel 0 – Modbus Slave 視圖
Modbus Slave 視圖可讓您定義 Modbus Slave 裝置。
Channel 0 – Modbus Slave 視圖範例

Modbus Master 視圖包含以下參數:
參數 | 定義 | 提供的選擇 |
|---|---|---|
Register Mapping Number | 顯示暫存器對應編號。 | 0...29 |
Register Type | 指定暫存器的類型。
提示:
當暫存器類型停用時,無法使用參數。
|
|
Data Type | 指定暫存器的資料類型。 | 可用選項視您選擇的暫存器類型而定。 對於線圈與離散輸入,可用的選項為:
對於維持暫存器和輸入暫存器,可用的選項為:
|
Register Start Address | 指定暫存器的起始位址。 | 0...65,535 |
Data Count | 指定資料類型的資料數量。 | 有效值視資料類型而定:
讀/寫的連續暫存器數量如下:
對於任何兩個具有相同暫存器類型的對應,其暫存器範圍不得重疊。 每個對應的暫存器範圍從暫存器起始位址到對應的結束位址。 結束位址的計算方式為(暫存器開始位址 + 暫存器數量 - 1)。 每個對應的結束位址不得超過最大位址 65,535。 |
Buffer Index | 指定輸入及/或輸出標籤中的暫存器緩衝區的緩衝區索引。 這些標籤為
HoldingRegister[y]、Coil[z]、InputRegister[y] 與
DiscreteInput[z],其中「y」與「z」是緩衝區索引。 |
此暫存器對應所用的連續緩衝器數量如下:
對於相同暫存器類型的任兩個暫存器對應,其緩衝區範圍不得重疊。 緩衝區範圍從緩衝區索引括展到資料計數所造成的結束緩衝區索引。 結束緩衝區索引的計算方式為(緩衝區索引 + 緩衝區數目 - 1)。 每個對應的結束緩衝區索引不得超過上述定義的緩衝索引有效範圍。 |
緩衝區索引錯誤範例

Modbus Slave 位置表限制
根據可用記憶體,最多可以在模組從屬位址表中建立 30 個資料點範圍:
- 維持暫存器最多 200 個位元組(最多 100 個 INT 或 50 個 REAL)
- 輸入暫存器最多 200 個位元組(最多 100 個 INT 或 50 個 REAL)
- 最多 128 個 Coil(在 8 位元邊界處,Data Index 0…15)
- 最多 128 個 Discrete 輸入(在 8 位元邊界處,Data Index 0…15)
Modbus Slave 資料映射範例
Modbus Slave 資料映射範例

圖 5 中顯示的資料可從模組標籤中解讀如下:
- v:2:O1.Slave.HoldingRegister[0…2] = 400003…400005
- v:2:O1.Slave.HoldingRegister[3…9] = 432000…432006
- v:2:O1.Slave.HoldingRegister[10…99] = 400999…410088
- v:2:O1.Slave.Coil[0].0…0.7 = 000000…000007
- v:2:O1.Slave.Coil[0].0…0.7 = 000000…000007
- v:2:O1.Slave.Coil[2].0…[4].0 = 0320000…032016
- v:2:O1.Slave.Coil[5].0…[15].7 = 000999…001086

意見提供