系統一:可熱插拔的備援系統
uPAC-7186EG 加上 RU-87P4 / RU-87P8
uPAC-7186EG 可設立一套如下圖的備援 (冗餘)系統。它支持可熱插拔
(Hot-Swap)
的Ru-87P4與Ru-87P8加i-87K I/O高卡。
2台控制器間的Ebus是用來交換控制資料。另外請將Master上X-107的第1個Output接點連到Slave那台的第一個Input點。同時也
需將Slave上X-107的第1個Output 接點
連到Master那台的第一個Input點。這2個Status接點是用來告訴對方–我還活著。
限制:請勿連接超過20個I/O模塊於本備援(冗餘)系統上(包含i-7000與i-87K I/O模塊)

Ru-87P4 / 8 + i-87K I/O高卡的優點:
1. I/O卡支持熱插拔 (Hot-swap).
2. 現場運行時支持 I/O自動規劃。
3. 現場運行時支持 I/O“即插即用”
運作原理:
- 當系統啟動時,最初的RS-485
I/O控制權屬於“Redundant Master”
- 假如Master死機(或沒電),Slave會接管RS-485 I/O的控制權
- 假如Master又活過來了,它會再接管 RS-485 I/O的控制權。(2)
跟 (3)
的切換時間約需5秒。二台controller間的控制資料透過 Ebus來傳輸 (可用一條對接的Ethernet線 (Cross
cable),不需接到 Ethernet Switch)
- 所有I/O都需採用RS-485 I/O (X-107
除外)
範例程式:demo_51a
與demo_51b
如果該uPAC-7186EG不是在redundant激活 (Active)
狀態,可以在程式內使用“COM_MRTU”函式來關閉PAC-7186EG上COM1的Modbus
RTU功能,這樣它就不會回覆任何 PC / HMI / SCADA 送來的詢問命令。反之若該uPAC-7186EG是在redundant激活
(Active) 狀態,也可以在程式內使用COM_MRTU函式來開啟COM1的Modbus
RTU功能。這樣做的用意在於可以確保任一時間只有redundant激活那台會回覆PC /
HMI送來的詢問命令。
(重要:2台uPAC-7186EG的Net-ID要設為一樣,比如都設成1號。IP地址則要設成不一樣,但要在同一網域內。比如
192.168.1.8與
192.168.1.9)
關於“
demo_51a”與“
demo_51b”的 重要訊息:
- 如果你使用的uPAC-7186EG備援系統不會連接任何圖控與人機介面與上位機,則請把
“demo_51a”
內“
M_B000”程式與“demo_51b”內“
S_B7000”程式內的第一列階梯圖程式
刪掉 (即使用到“COM_MRTU” 的那一列)。如此這2台uPAC-7186EG
的COM1都會回答任何詢問它的Modbus RTU命令,即便該uPAC-7186EG不是在redundant激活 (Active)
狀態也是會回答。
- 範例程式內有使用到3個有用的變數,可用來表示“那一台是在
redundant激活
(Active) 狀態”與“控制器 (或 Ebus 通訊 或 DI / DO)
狀態”。若你有使用HMI
/ 圖控 / 上位機來連接本系統,可以在程式內指定 適當的“Network address
No.”給以下變數,然後HMI / 圖控 / 上位機便可讀取這3個資料的值來知道目前本備援系統的狀態。
| 名
稱 |
型
態 |
說
明 |
Network
No. |
| i_am |
Integer |
1:表示“我是 Master 那台”
2:表示“我是 Slave 那台” |
尚未指定 |
| Master_Ok |
Boolean |
True:表示 Master那台工作正常
Flase:表示 Master 那台沒有正常工作
(比如,沒電、Ebus斷線或 X-107 Status 接線 斷線) |
尚未指定 |
| Slave_Ok |
Boolean |
True: 表示 Slave 那台工作正常
Flase: 表示 Slave 那台沒有正常工作
(比如, 沒電, Ebus 斷線 或 X-107 Status 接線 斷線) |
尚未指定 |
真正實作時,請修改範例“
demo_51a”與
“demo_51b”
內以下程式來符合你的實際應用。
- “M_B7000”與
“S_B7000”:請搜尋 “Add YOUR RS-485
I/O CONTROL of BUS7000 Here”,修改此區的程序
- “M_Contrl”與
“S_Contrl”:請搜尋 “Add YOUR CONTROLL data
here”,修改此區的程序
- “M_Ebus”與
“S_Ebus”:請搜尋“ADD YOUR EBUS CONTROL in the
Following”,修改此區的程序
- 這2台uPAC-7186EG所有位於“M_Ebus與“S_Ebus”以下的程式都需完全相同。只有前4個程式 -
“M_GET_P”,“M_B7000”,“
M_Contrl”與“M_Ebus”於“
demo_51a”內跟“demo_51b”內的前 4 個程式有些微不同 -
“S_GET_P”,“S_B7000”,“
S_Contrl”與“S_Ebus”。
系統二:可熱插拔的備援系統i-
8437-80加上 RU-87P4 / RU-87P8
i-8437
-80可設立一套如下圖的備援 (冗餘) 系統。它支持可熱插拔 (Hot-Swap) 的Ru-87P4與Ru-87P8加i-87K
I/O高卡。2台控制器間的Ebus是用來交換控制資料。另外請將Master上i-8054的第1個Output接點連到Slave那台的第一個
Input點。
同時也需將Slave上i-8054的第1個output接點連到Master那台的第一個Input點。這2個Status接點是用來告訴對方
–我還活著。
限制:請勿連接超過20個I/O模塊於本備援(冗餘)系統上(包含 i-7000 與 i-87K I/O 模塊)
Ru-87P4 / 8 + i-87K
I/O 高卡的優點:
- I/O卡支持熱插拔 (Hot-swap).
- 現場運行時支持I/O自動規劃.
- 現場運行時支持I/O“即插即用” .
運作原理:
- 當系統啟動時,最初的RS-485 I/O
控制權屬於“Redundant Master”
- 假如Master死機(或沒電),Slave 會接管RS-485
I/O的控制權.
- 假如Master又活過來了,它會再接管RS-485 I/O的控制權。(2)
跟 (3) 的切換時間約需 5 秒.
- 二台controller間的控制資料透過 Ebus來傳輸 (可用一條對接的
Ethernet線 (Cross cable),不需接到 Ethernet Switch)
- 所有I/O都需採用RS-485 I/O (用於 Status input
的那塊 i-8054 除外)
範例程式:demo_49a
與demo_49b
如果該i-8437-80不是在redundant激活 (Active)
狀態,可以在程式內使用“COM_MRTU”函式來關閉i-8437-80上 COM1的Modbus
RTU功能,這樣它就不會回覆任何PC / HMI / SCADA送來的詢問命令。反之若該i-8437-80是在redundant激活
(Active) 狀態,也可以在程式內使用COM_MRTU函式來開啟 COM1的Modbus
RTU功能。這樣做的用意在於可以確保任一時間只有redundant 激活那台會回覆PC / HMI送來的詢問命令 (重要,2 台
i-8437-80 的 Net-ID 要設為一樣,比如都設成 1 號。IP 地址則要設成不一樣,但要在同一網域內。比如 192.168.1.8
與 192.168.1.9)
關於
“demo_49a” 與 “demo_49b” 的
重要訊息 :
- 如果你使用的i-8437-80備援系統不會連接任何圖控與人機介面與上位機,則請把
“demo_49a”內
“
M_B000”程式與“demo_49b”內“
S_B7000”程式內的第一列階梯圖程式
刪掉
(即使用到“COM_MRTU”的那一列)。如此這2台i-8437-80的COM1都會回答任何詢問它的
Modbus
RTU命令,即便該i-8437-80不是在redundant激活 (Active) 狀態也是會回答。
- 範例程式內有使用到3個有用的變數,可用來表示“那一台是在
redundant激活(Active)狀態”與“控制器 (或Ebus通訊或DI / DO)
狀態”。若你有使用HMI / 圖控 / 上位機來連接本系統,可以在程式內指定適當的“Network
address
No.”給以下變數,然後HMI / 圖控 /上位機便可讀取這3
| 名
稱 |
型
態 |
說
明 |
Network
No. |
| i_am |
Integer |
1:表示“我是 Master 那台”
2:表示“我是 Slave 那台” |
尚未指定 |
| Master_Ok |
Boolean |
True:表示 Master那台工作正常
Flase:表示 Master 那台沒有正常工作
(比如,沒電、Ebus斷線或 i-8054 Status 接線斷線) |
尚未指定 |
| Slave_Ok |
Boolean |
True: 表示 Slave 那台工作正常
Flase: 表示 Slave 那台沒有正常工作
(比如, 沒電, Ebus 斷線 或 i-8054 Status 接線斷線) |
尚未指定 |
真正實作時,請修改
範例“demo_49a” 與“demo_49b” 內以下程式
來符合你的實際應用.
- “M_B7000”與
“S_B7000”:請搜尋 "Add YOUR RS-485
I/O CONTROL of BUS7000 Here”,修改此區的程序
- 範例程式內有使用到3個有用的變數,可用來表示“那一台是在
redundant激活(Active)狀態”與“控制器 (或Ebus通訊或DI / DO)
狀態”。若你有使用HMI / 圖控 / 上位機來連接本系統,可以在程式內指定適當的“Network
address No.”給以下變數,然後HMI / 圖控 /上位機便可讀取這3 個資料的值來 知道目前本備援系統的狀態。
- “M_Ebus”與
“S_Ebus”:請搜尋“ADD YOUR EBUS CONTROL in the
Following”,修改此區的程序
- 這2台 i-8437-80
所有位於“M_Ebus”與“S_Ebus”以下的程式都需完全相
同。只有前4個程式 -
“M_GET_P”,“M_B7000”,“
M_Contrl”
與“M_Ebus”於“demo_49a”
內跟“demo_49b” 內的前4個程式有些微不同 -
“S_GET_P” ,“S_B7000”
,“S_Contrl” 與 “S_Ebus”
系統三:規劃 i-7188EX-MTCP
來連接備援系統
如果
有使用i-7188EX-MTCP來連接備援系統,請先使用“7188xw.exe”工具程式來設它的IP與
Mask地址。(方法為,關掉i-7188EX-MTCP的供電,將它的“INIT*”與GND”
Pin腳短接,之後供電給它,用一條RS-232線連接i-7188EX-MTCP的COM1到PC的COM1,在PC上跑“
7188xw.exe”,鍵盤輸入如 ip=10.0.0.107來設IP地址,輸入
mask=255.255.255.0來設mask地址)
當i-7188EX-MTCP的IP與Mask地址設好後。請在PC上運行“Modbus
utility”程式來規劃這顆i-7188EX-MTCP為Modbus TCP/IP to Modbus RTU
Gateway,如下步驟

- 請設 COM1 為 “Debug”
mode.

- 之後請設COM2為“Modbus/RTU
Gateway”,設一個適當的timeout值 (如 250
ms),其它通訊參數為19200、8、None、1。之後按下“Set”
- 在視窗下方System Setting區內,請把
i-7188EX-MTCP的Net-ID設為非1之值,比如設成100,然後設Stations per COM Port為1
,按下Set. 如果有顯示Modbus ID (1 ~ 1)
==> COM2,表示設定正確.

注意:如果上一頁,沒有設好 COM1 為 Debug mode,有可能會使 Mobus
ID (1 ~ 1) 是送到COM1:RS232 ,那就錯了
這顆規劃好的 i-7188EX-MTCP,當它收到 PC/HMI/SCADA 送來的 Modbus TCP/IP 命令後,會轉發到它的
COM2:RS-485變成Modbus RTU送到備援系統的2台controller,當Active 的那台controller
回覆後,會將這個回覆的內容轉成 Modbus TCP/IP 格式,送到 PC/HMI/SCADA.
註:範例程式可至ftp://ftp.icpdas.com/pub/cd/8000cd/napdos/isagraf/7188eg/demo/
下載
|