/************************************************************/ /* I-8000 的 I/O 掃瞄 函式庫改版訊息 */ /* */ /************************************************************/ 1.6.7 版 [2017/11/09] by Mac 新功能:支援顯示模組掃描時間,有即時與最大最小值 支援 I-87028VW-20V, I-87005W, I-87024CW, I-8088W, I-87016W 修正timeout時間太短造成AI模組顯示斷線的問題 ========== 相關訊息 ========== Modbus Utility: 1.8.4 2017/11/10版 (必需更新來搭配這一版的 firmware) ------------------------------------------------------------------------ 1.6.4 版 [2013/08/12] by Mac 支援 I-8093W, I-8084W for iP-8000 支援 iP-8000-MRTU 修正錯誤 修正I-87042 DI值讀錯的問題 ========== 相關訊息 ========== Modbus Utility: 1.8.0 2013/08/06版 (必需更新來搭配這一版的 firmware) ------------------------------------------------------------------------ 1.6.3 版 [2012/10/17] by Mac Bug修正 1.支援Ch16~Ch31 DI Counter設定,舊版本最多只支援到16個DI Counter設定 2.87019, 87019Z 新增0x0D, -20mA~20mA type 3.修正8050最多只有設到8個DI的問題 ========== 相關訊息 ========== Modbus Utility: 1.7.3 2012/10/15版 (必需更新來搭配這一版的 firmware) ------------------------------------------------------------------------ 1.6.2 版 [2012/06/08] by Mac 支援ET-87Pn 支援8046W,87015PW,87016W,87017W-A5,87017RW87017RCW,87017DW, 87017DW-SE,87018RW,87018PW,87019PW,87037W,87040PW,87042W, 87053PW,87053W-A5,87053W-E5,87057PW,87059W,87069W 8017DW,8017HCW,I-87024DW,I-87024RW,I-8050W modules. ========== 相關訊息 ========== Modbus Utility: 1.7.2 2012/06/27版 (必需更新來搭配這一版的 firmware) ------------------------------------------------------------------------ 1.6.1 版 [2012/02/23] by Mac 支援87017RCW ------------------------------------------------------------------------ 1.6.0 版 [2012/01/03] by Mac 支援iPAC-8000 支援87017Z, 87018Z, 87019Z, 8084W, 87028, 87061 ========== 相關訊息 ========== Modbus Utility: 1.7.2 版 (必需更新來搭配這一版的 firmware) MiniOS7 image file: I-8000 (40M CPU) (更新) 2.02 build 013, Jun 17 2011 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8000_UDP-20110125.img I-8000 (80M CPU) (更新) 2.02 build 013, Jun 25 2011 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\C836_UDP-20110117.img iP-8000 (80M CPU)(新支援) 2.04 build 014, Sep 21 2011 CD:\Napdos\Modbus\iP8000\OS_Image\C837_2M_UDP-20110921.img ------------------------------------------------------------------------ 1.5.7 版 [14,9月,2007] by Mac 支援 87019 支援模組自動設定: 如果要替換損壞的模組,可以關閉電源後, 直接將損壞的模組拔除,再插上新的相同模組, 重新開啟電源之後 8000主機會自動將其組態設定好。 ========== 相關訊息 ========== Modbus Utility: 1.7.0 版 (必需更新來搭配這一版的 firmware) MiniOS7 image file: 8000 (40M CPU) (更新) 2.02 build 006, Jun 25 2007 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8000_UDP_20070625.img 8000 (80M CPU) (更新) 2.02 build 006, Jun 25 2007 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\C836_UDP-20070625.img ------------------------------------------------------------------------ 1.5.6 版 [19,3月,2007] by Kevin 支援 87022, 87026 ========== 相關訊息 ========== Modbus Utility: 1.6.9 版 (必需更新來搭配這一版的 firmware) MiniOS7 image file: For 40M CPU (Ethernet version) (更新) 2.02 build 002, Mar 12 2007 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8000_UDP_20070312.img For 80M CPU (Ethernet version) (更新) 2.02 build 002, Mar 12 2007 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\C836-UDP_20070312.img ------------------------------------------------------------------------ 1.5.5 版 [28,8月,2006] by Kevin 1. 修正 8090 的錯誤 它的計數值被放到錯誤的 AI 暫存器位址。 2. 修正 87K 16 bit DO 模組的錯誤 DO module 無法正確工作。它的狀態一直是離線 (offline) 。 3. 修正設定 I-87013,17,18 的輸入範圍的問題 開機後,輸入範圍的設定變成舊的設定,甚至於已經用 Modbus Utility 設定過了也是如此。 這個問題存在於 1.5.0 ~ 1.5.4 版。 4. 支援 AO 和 DO 模組的開機值功能 當開機時,AO 和 DO 模組跑到其預先設定的開機值。 5. 支援 AO 和 DO 模組的安全值 (Safe value) 功能 當 I-8000 控制器和 PC 之前的 modbus 通訊斷掉,時間超過 WDT (看門狗) 的設定值, 全部的 AO 和 DO 都會跑到其預先設定的安全值。 WDT 預設是 0 秒(失效),當數值 >5 時,這個機制就會啟動。 6. 讀/寫 modbus 的 AO 和 DO 暫存器 (registers) 可以設定開機值(power on value) 和安全值(safe value) [DO 暫存器] 位址(十六進制)(十進制) 敘述 -------------------------------------------------------- iTotal_DINum ~ 315 保留給客戶使用 -------------------------------------------------------- 0x140-4 316 將 DO 的開機值寫到 EEPROM 0x140-3 317 將 DO 的安全值寫到 EEPROM 0x140-2 318 將 AO 的開機值寫到 EEPROM 0x140-1 319 將 AO 的安全值寫到 EEPROM -------------------------------------------------------- 0x140~0x15F 320~351 DO 開機值 [slot0] 0x160~0x17F 352~383 DO 開機值 [slot1] 0x180~0x19F 384~415 DO 開機值 [slot2] 0x1A0~0x1BF 416~447 DO 開機值 [slot3] 0x1C0~0x1DF 448~479 DO 開機值 [slot4] 0x1E0~0x1FF 480~511 DO 開機值 [slot5] 0x200~0x21F 512~543 DO 開機值 [slot6] 0x220~0x23F 544~575 DO 開機值 [slot7] -------------------------------------------------------- 0x240~0x25F 576~607 DO 安全值 [slot0] 0x260~0x27F 608~639 DO 安全值 [slot1] 0x280~0x29F 640~671 DO 安全值 [slot2] 0x2A0~0x2BF 672~703 DO 安全值 [slot3] 0x2C0~0x2DF 704~735 DO 安全值 [slot4] 0x2E0~0x2FF 736~767 DO 安全值 [slot5] 0x300~0x31F 768~799 DO 安全值 [slot6] 0x320~0x33F 800~831 DO 安全值 [slot7] [AO 暫存器] 位址(十六進制)(十進制) 敘述 -------------------------------------------------------- iTotal_AONum ~ 315 保留給客戶使用 -------------------------------------------------------- 0x140-4 316 CPU reset 的狀態 1: 由電源開關造成 2: 由 0.8 秒的看門狗 (WDT) 造成 0x140-3 317 CPU reset 的事件次數 1. 被存到 EEPROM 2. 可以被 reset 0x140-2 318 設定 host WDT 數值 (針對安全值) 1. 被存到 EEPROM 2. 6~65535 (秒) =啟動 3. <=5 (秒) =失效 4. 預設=0 0x140-1 319 安全值發生的次數 -------------------------------------------------------- 0x140~0x147 320~327 AO 開機值 [slot0] 0x148~0x14F 328~335 AO 開機值 [slot1] 0x150~0x157 336~343 AO 開機值 [slot2] 0x158~0x15F 344~351 AO 開機值 [slot3] 0x160~0x167 352~359 AO 開機值 [slot4] 0x168~0x16F 360~367 AO 開機值 [slot5] 0x170~0x177 368~375 AO 開機值 [slot6] 0x178~0x17F 376~383 AO 開機值 [slot7] -------------------------------------------------------- 0x180~0x187 384~391 AO 安全值 [slot0] 0x188~0x18F 392~399 AO 安全值 [slot1] 0x190~0x197 400~407 AO 安全值 [slot2] 0x198~0x19F 408~415 AO 安全值 [slot3] 0x1A0~0x1A7 416~423 AO 安全值 [slot4] 0x1A8~0x1AF 424~431 AO 安全值 [slot5] 0x1B0~0x1B7 432~439 AO 安全值 [slot6] 0x1B8~0x1BF 440~447 AO 安全值 [slot7] 7. 更改 LED 的狀態 L2 閃爍 = CPU 中的設定值和插在插槽 (slot) 上的模組不一致。 L3 閃爍 = AO 和 DO 的安全值已啟動。 8. 增加 UpdateIOModule 的效能 在 1.1.5 版 [23,6月,2003], 這個命令每檢查 4 次 Ethernet 是否有 服務需要處理,然後才更新一個插槽 (slot) 的資料。這樣造成 I/O 資料的更 新效率並不是很好。 在這個版本之中,改成每檢查兩次,就更新一個插槽 (slot) 的資料,並且跳 過空的插槽 (slot) 。 === 針對寫程式 === IO_155.lib 必需和 mbt8_167.lib 或較新的版本一起使用。 ========== 相關訊息 ========== Modbus Utility: 1.6.8 版 (必需更新來搭配這一版的 firmware) MiniOS7 image file: For 40M CPU 2.00 build 004, Sep 02 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050902.img For 80M CPU (Ethernet version) 2.01 build 000, Nov 03 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8000E-80-20051103.img ------------------------------------------------------------------------ 1.5.4 版[20,7月,2006] by Kevin 修正 87K DI 計數器的 enable/disable 狀態的問題 87K DI 計數器預設為 0 (disabled). 在你第一次使用這個 Controller 並且按 Modbus Utility 的 "Refresh" 鈕的時候,1.5.3 版沒有給它正確的預設值 (Disabled). 一旦你曾經將 87K DI 計數器的狀態設定過一次,這個問題就不存在了, 而且可以依你設定的狀態來工作。 所以,即使你沒有將 library 更新,也沒有關係。 ========== 相關訊息 ========== Modbus Utility: 1.6.7 版 (必需更新來搭配這一版的 firmware) MiniOS7 image file: For 40M CPU 2.00 build 004, Sep 02 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050902.img For 80M CPU (Ethernet version) 2.01 build 000, Nov 03 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8000E-80-20051103.img ------------------------------------------------------------------------ 1.5.3 版[11,7 月,2006] by Kevin 1. 修正 8080 問題 當變更 8080 的工作模式, Modbus Utility 可以更新 register 對應的位址。但是 Firmware 中的 register 對應,並沒有更新。 2. 修正 8 bit 87KDI 模組的問題 無法得到 DI 的值,而且模組的狀態一直都是 off-line 。 3. 修正 8KDIO 模組的問題 DI 是正確的,但是 DO 是錯的。 4. 修正 AI, AO offset 問題 AI, AO 模組換 Slot 後,Offset 值會變成 +10000 或 -10000。 正常的話,應該是 0。 ========== 相關訊息 ========== 同 1.5.2 版 ------------------------------------------------------------------------ 1.5.2 版[22,6 月,2006] by Kevin 支援 87015, 87046. MBT8_150.lib 分成兩個檔案 ==> MBT8_166.lib 和 IO_152.lib MBT8_nnn.Lib 負責處理 Modbus 通訊 IO_nnn.Lib 負責處理 I/O 掃瞄 ========== 相關訊息 ========== Modbus Utility: Ver 1.5.1 (必需更新來搭配這一版的 firmware) MiniOS7 image file: For 40M CPU 2.00 build 004, Sep 02 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050902.img For 80M CPU (Ethernet version) 2.01 build 000, Nov 03 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8000E-80-20051103.img ------------------------------------------------------------------------ 1.5.0 版[05,5月,2006] by Kevin 修正錯誤 Modbus Utility 中按 Refresh 的按鈕,還是無法找到插槽上的 I/O 模組。 1.5.0 版[23,3月,2006] by Kevin 支援 1. 87K DI 模組的低速 (100Hz) 計數器功能。 2. 8017HS 單端輸入模式的 16 Channel 讀值的功能。 更新 8024 Lib 解決 8024 一開始輸出 -10V 的問題。 新功能 自動設定組態 (configuration) 當將一個模組更換成另一個型號一樣的模組時,其設定值會保持和 存在 CPU 上的設定相同。 若是插在 I-8000 控制器上的 I/O 模組型號和存在 CPU 上 的型號不同,L2 和 L3 會一直閃爍。必須利用 Modbus Utility 將 CPU 上的設定值和現況設成一致。 當更換損壞模組時,這非常有用。維修工人不需要攜帶 PC, 透過執行 Modbus Utility 再次重新設定這個新的模組。 ========== 相關訊息 ========== Modbus Utility: Ver 1.5.0 (必需更新來搭配這一版的 firmware) MiniOS7 image file: For 40M CPU 2.00 build 004, Sep 02 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050902.img For 80M CPU (Ethernet version) 2.01 build 000, Nov 03 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8000E-80-20051103.img ------------------------------------------------------------------------ 1.4.0 版 [10,1月,2006] by Kevin 更新 8017H lib: 1.0.4 修正了當輸入訊號在最大、最小值附近時,得到錯誤值的問題。 例如:輸入 +10.1伏特,得到 -9.98伏特,類似的問題。 ===== 針對寫程式 ===== 修正 ModbusRTU_Master2Slave: 以前, 總是回傳 0 (無錯誤) 現在, 回傳相對於結果的正確值。 例如:逾時, CRC 檢查錯誤, .... ========== 相關訊息 ========== Modbus Utility: Ver 1.3.3 MiniOS7 image file: For 40M CPU 2.00 build 004, Sep 02 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050902.img For 80M CPU (Ethernet version) 2.01 build 000, Nov 03 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8000E-80-20051103.img ------------------------------------------------------------------------ 1.3.9 版 [14,Nov,2005] by Kevin 當 COM3 是設定成 UpLink 串口,而且在此 RS-485 上串有數個 Modbus/RTU 的設備,通訊會變得不正常。 ========== 相關訊息 ========== Modbus Utility: Ver 1.3.3 MiniOS7 image file: For 40M CPU 2.00 build 004, Sep 02 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050902.img For 80M CPU (Ethernet version) 2.01 build 000, Nov 03 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8000E-80-20051103.img ------------------------------------------------------------------------ 1.3.8 版[08,11月,2005] by Kevin 沒有更改任何東西,只是更新 8000E.Lib 讓這個 firmware 可以使用在 1.2 and 2.5 版的 CPU (80M)。 ========== 相關訊息 ========== Modbus Utility: Ver 1.3.3 MiniOS7 image file: For 40M CPU 2.00 build 003, Aug 11 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050811.img For 80M CPU (Ethernet version) 2.01 build 000, Nov 03 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8000E-80-20051103.img ------------------------------------------------------------------------ 1.3.7 版[29,9月,2005] by Kevin 針對寫程式 1. 改變 ModbusMaster2Slave: 名稱改為 ModbusRTU_Master2Slave, 並且增加一個 lTimeout 的參數。 2. 新增 ModbusASCII_Master2Slave 這個功能除了使用的通訊協定是 Modbus/ASCII 之外, 其餘用法和 ModbusRTU_Master2Slave 相同。 ========== 相關訊息 ========== Modbus Utility: Ver 1.3.3 MiniOS7 image file: For 40M CPU 2.00 build 003, Aug 11 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050811.img For 80M CPU (Ethernet version) 2.00 build 003, Aug 15 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8E050815.img ------------------------------------------------------------------------ 1.3.6 版[26,8月,2005] by Kevin 改善系統的穩定度和效能 本次更新了多個函式庫(Lib)來增加穩定度和效能。 詳情請參閱 Lib 目錄下的清單(8000E_Lib_List_136.txt)。 針對寫程式 增加功能 增加 Modbus/TCP 主控端的功能。總共有 3 個命令: 1. ModbusTCP_Init 2. ModbusTCP_Master2Slave 3. ModbusTCP_Close 使用上述命令,7188E/8000E 最多可以連結 8 個遠端的 Modbus/TCP 設備。 這些功能可以偵測遠端的 Modbus/TCP 設備是否運作正常。如果遠端的 設備當機了,這個功能可以偵測出這個狀態,並且當這個設備一但恢復 正常後,這個功能還可以馬上恢復通訊。 ========== 相關訊息 ========== Modbus Utility: Ver 1.3.3 (更新) (非必要) MiniOS7 image file: For 40M CPU (更新) 2.00 build 003, Aug 11 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050811.img For 80M CPU (Ethernet version) (更新) 2.00 build 003, Aug 15 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8E050815.img ------------------------------------------------------------------------ 1.3.5 版 [12,4月,2005] by Kevin 修正錯誤 連線/斷線 的狀態 (1.3.1起新增加的功能) 沒有正確對應到 DI 的 暫存器。當有某些插槽是空的時候,它會干擾到 DI 模組。 支援 87040, 87041 ================== 相關訊息 ================== Modbus Utility: 1.3.2 版 (更新) MiniOS7 image file: For 40M CPU (更新) 2.00 build 002, Apr 08 2005 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K050408.img For 80M CPU (Ethernet version) (更新) 2.00 build 001, Apr 20 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8E050408.img ------------------------------------------------------------------------ 1.3.3 版 [18,2月,2005] by Kevin 針對寫程式 修正使用 TC++ 1.01 來編譯 .exe 檔案的錯誤。 設定AI,AO 模組的輸出/輸出入範圍發生錯誤。不管如何, 新的範圍都被設定到 Ch0 。 ------------------------------------------------------------------------ 1.3.3 版 [27,1月,2005] by Kevin 更新 8024 的函式庫以修正下面的錯誤: 80M CPU 加上下面底板的組合,8024插在最後面兩個插槽, 可能無法量到實際輸出。 B843 V 6.2 (4 slots + COM4) B883 V 8.1 (8 slots + COM4) B883 V 8.2 (8 slots + COM4) 更新 8080 的函式庫以修正下面的錯誤: 初始化或清除計數器後,無法得到正確的計數值。 ================== 相關訊息 ================== Modbus Utility: 1.3.1 版 MiniOS7 image file: For 40M CPU 2.00 build 001, Mar 30 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K040330.img For 80M CPU (Ethernet version) 2.00 build 001, Apr 20 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8E040420.img ------------------------------------------------------------------------ 1.3.1 版 [24,12月,2004] by Kevin 增加 SMMI Menu (網路設定) 同時按 SMMI 的 "Up" 和 "Down" 可以設定 IP, Mask, Gateway。 細節請參考 to CD:\Napdos\Modbus\8000E\Document\ SMMI_Network_Configuration.pdf 增加每一個 I/O 模組的 連線/斷線 檢測功能 當模組是好的,DI 暫存器 (register) 為 1。 假如這個模組已經失效,這個 DI 暫存器 (register) 會變成 0。 支援 8080 修正 87024 錯誤 87024 輸出的範圍是 4~20 mA 時,輸出值並不正確。 現在這個問題已經被解決,新的數值對應關係為 4~20 mA <===> 0000~7FFF(Hex) 修正錯誤 使用 Modbus Utility 或是 LED 選單來設定 offset 值到 AI 模組沒有問題,但是對於 AO 模組就不行。 針對寫程式 將 CheckLEDMenu 改名成 SMMI_Offset_CheckIn ================== 相關訊息 ================== Modbus Utility: 1.3.1 版 MiniOS7 image file: For 40M CPU 2.00 build 001, Mar 30 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K040330.img For 80M CPU (Ethernet version) 2.00 build 001, Apr 20 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8E040420.img ------------------------------------------------------------------------ 1.3.0 版 [19,11月,2004] by Kevin 修正和 VLC 的連線問題 (必需使用 80M CPU) VLC 是一個速度非常快的軟体。在這一個版本之前,執行 VLC 和 8000-MTCP 的連線,每一小時可能會出現數次的斷線 (因為接收 8000-MTCP 的回應逾時)。現在,通訊非常順暢。 === 詳細說明 === 這個問題是因為 MiniOS7 的 1 ms 間隔的計時器 (timer) 是在 Flash 中執行。Flash 是慢速度的記憶体。當 Ethernet 通訊非常頻繁時, MiniOS7 無法及時完成和此計時器相關的動作,來服務 Ethernet 的請 求。所以就有可能會漏掉一些 Ethernet 的請求。目前,使用新的計時 器驅動程式,可以讓這個 1ms 間隔的計時器執行在 SRAM 之中。SRAM 是高速度的記憶体,MiniOS7 可以花費較短的時間來完成計時器相關的 動作。然後 Ethernet 的請求就可以被準時地完成。 針對寫程式 1. 更新 8000E.Lib 到 2.0.2 版 2. 呼叫 InstallNewTimer. 這已被包含在 InitModbus 之中。使用者無需再次呼叫這個 命令。而且 55 ms 間隔的計時器,將使去作用。 3. 將 IsSystemKey, GetSystemKey, ClearSystemKey 換成 _IsSystemKey, _GetSystemKey, _ClearSystemKey. 這已被包含在 CheckLEDMenu 之中,使用者的程式不需做任何 改變。 4. 更新 XS8_3009.Lib 到 XS8_3201.Lib (3.2.01 版) 需要增加 PortUserStart 到 user.c 和增加 Port9999Start 到 v7000.c ================== 相關訊息 ================== 1.3.0 版只更改軔体 (firmware) 中關於通訊部分的動作,所以 Modbus Utility 和 MiniOS7 image 都不需要更動。 Modbus Utility: 1.2.7 版 MiniOS7 image file: For 40M CPU 2.00 build 001, Mar 30 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K040330.img For 80M CPU (Ethernet version) 2.00 build 001, Apr 20 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8E040420.img ------------------------------------------------------------------------ 1.2.2 版 [15,6月,2004] by Kevin 改變宣告 (in MBTCP_8E.h) 1. _MaxModule: 常數的型態改成 int iMax_Module_Count 2. iMemory_DI, iMemory_DO, iMemory_AI, iMemory_AO ===> 改成指標(pointer) ===> 當使用 Modbus 函式庫來開發客制化的軔体 (firmware) 時, 可以改變 iMax_Module_Count 來加大可用的暫存器(Register) 的數量來儲存更多的資料。 用法: iMax_Register_Count=1000; iRet=InitModbus(); 請參閱 MBTCP_8E.h 得到更詳細的訊息。 支援 8KE4/8KE8 因為主体上沒有 NetID (station number) 的指撥開關可以調整, 所以 NetID 是固定為 1。 ================== 相關訊息 ================== Modbus Utility: 1.2.7 版 MiniOS7 image file: For 40M CPU 2.00 build 001, Mar 30 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K040330.img For 80M CPU (Ethernet version) 2.00 build 001, Apr 20 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8E040420.img ------------------------------------------------------------------------ 1.2.1 版 [08,6月,2004] by Kevin 改變 將 TCP 重送的時間由 1100 ms (大部分Ethernet 設備的預設值) 縮短成 110 ms 。 假如 110 ms 到了,8000E 還沒有收到目的端回應的的 ACK 訊號,它會重新發送封包給目的端設備。 新發佈 COM1 的 Modbus/RTU slave port 功能 在 user.c 的 UserLoopFun 中加入下面這一行程式碼可以將 COM1 啟動 成為一個 Modbus/RTU 的 slave port。 //COM port 有收到任何 Modbus/RTU 命令嗎 ? CheckModbusRequest(iModbusUpLinkPort); 注意:在 Modbus Utility 還沒有支援設定 UpLink port (baudrate, start bit, data bit, stop bit, parity bit)之前, 你可以使用 SendTCP.exe 來設定這個 COM port 的組態。 修正 CheckLEDMenu 這個功能若和 Modbus/RTU slave 功能的 CheckModbusRequest 命令一起 執行,就會不正常。已修正。 新增加 87018 的 CJC 的 Disable/Enable 功能選項。 ================== 相關訊息 ================== Modbus Utility: 1.2.7 版 支援 87018 的 CJC eanble/disable 功能 MiniOS7 image file: For 40M CPU 2.00 build 001, Mar 30 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_40M\8K040330.img For 80M CPU (Ethernet version) 2.00 build 001, Apr 20 2004 CD:\Napdos\Modbus\8000e\OS_Image\For_80M\8E040420.img ------------------------------------------------------------------------------- 1.2.0 版 [23,9月,2003] by Kevin 修改 AI offset 的可調整範圍: -128 ~ +127 ===> Utility: 1.2.3 ~ 1.2.4 Firmware: 1.1.5 ~ 1.1.9 -10000 ~ +10000 ===> Utility: 1.2.5 ~ 更新版本 Firmware: 1.2.0 ~ 更新版本 新增加 CheckLEDMenu 的功能選項來調整 AI offset。 主機上面的 LED 和按鈕可以用來調整 AI offset。 請參考 CD:\Napdos\Modbus\document\8000e\LED_Menu.pdf 之中詳細的操作步驟。 支援 8037 ================== 相關訊息 ================== Modbus Utility: 1.2.5 版 支援新的 AI offset 調整選項 支援 8037 MiniOS7 image file: 2.00 build 001, Jun 05 2003 CD:\Napdos\MiniOS7\MiniOS7_2.0\I-8000\8K030605.img ------------------------------------------------------------------------ 1.1.8 版 [12,9月,2003] by Kevin 修正錯誤: 8040: ch8~ ch15 總是讀到 0 的值。 ------------------------------------------------------------------------ 1.1.5 版 [23,6月,2003] by Kevin 修改軔体 (firmware) 名稱 原先不管版本號碼為何,檔名一律為 MBTCP_8E.exe 。 新的方式,檔名為 MBT8_nnn.exe ,其中 nnn 為版本號碼。 例如:MBT8_115.exe 的版本號碼為 1.1.5 修正錯誤 當讀取超過 63 個 AI 或 AO 的暫存器 (register) 內容時,8000 主機 會主動切斷。 修改 ModbusMaster2Slave 命令: 增加 Modbus 的 01 和 03 命令來讀回 DO 和 AO 的暫存器(register) 內容。 改善 Ethernet 通訊的效能 (修改 "更新 I/O 模組的方式") 新增加 mode 3 到 UpdateIOModule 並且將其他 mode 都取消。 也就是說全部只有一種模式可以使用。 請參考 1.0.7 版關於 "更新 I/O 的模式" 的說明。 當有多品 Modbus/TCP clients 連到同一個 8000 主機時,8000 主機 同時間需要處理的 Modbus/TCP 請求(request)會有很多。 新的 "更新 I/O 的模式" 可以同時間服務更多的 Ethernet 請求。 每一個 Modbus/TCP client 不會等待 "Modbus/TCP 回應" 太久,同時 更新 I/O 模組的次數也維持在一定的頻率以上。 假如服務 Ethernet 請求的動作太慢 (其他模組就有這個問題), Modbus/TCP clients 就必須增加收到 Modbus/TCP 回應的等待時間。 那意味著這個 Modbus/TCP client 的通訊效能就不好。目前這個模式就 是為了在 Ethernet 服務和 I/O 模組更新頻率之間取得平衡。 Ethernet +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+ 服務請求 : _| |_| |_| |___| |_| |_| |_........._| |_| |_| |_ +-+ +-----+ +-+ 更新 I/O 模組: ____________| |______________| |_................_| |_ Slot0 Slot1 Slot7 ------------------------------------------------------------------------ 1.1.4 版 [27,5月,2003] by Kevin 修正錯誤: 無法輸出 87024 的 ch1,ch2 和 ch3 改變: 使用 DMA 的技術來存取插槽上的 87K 模組。這樣可以減少 CPU 的運算 負擔,並且避免 87K 模組資料遺失的狀況。 支援: 8077,8090 注意: Modbus Utility 必需更新為 1.2.2 版。 ------------------------------------------------------------------------ 1.1.3 版 [20,5月,2003] by Kevin 新增命令: CheckModbusRequest 命令可以讓某一 COM port 變成一個 Modbus/RTU 的 slave port。 修正錯誤: 使用 87013 時,在它後面的 4 個 channel 的 AI 值會變成 0。 注意: Modbus Utility 必須是 1.2.1 版 ------------------------------------------------------------------------ 1.1.2 版 [17,3月,2003] by Kevin 新增 87018 的 CJC 值調整功能選項 注意: Modbus Utility 必須是 1.2.0 版 ------------------------------------------------------------------------ 1.1.1 版 [23,2月,2003] by Kevin 支援 87018 的斷線偵測功能(只針對熱電耦輸入)。 當某一 Channel 的線斷掉了,Modbus 會傳回最大數值 (7FFF) 來表示這種狀態。 ------------------------------------------------------------------------ 1.1.0 版 [06,1月,2003] by Kevin 更新 1. Xserver (VxComm) 更新到 3.0.9 版(XS8_3009.lib) 當使用 Modbus SDK 來開發特殊版本的 Modbus 軔体(firmware) 時, 必須增加 VcomCmdUser 這個副程式到 user.c 之中。 2. Modbus 核心更新到 1.1.0 版(MBT8_110.Lib) 只需要使用新的 lib 重新編譯程式,並不需要更動其他東西。 3. TCPIPL.Lib 更新到 1.0.2 版 [1 月,02,2003] 改善 Ethernet 通訊效能。 4. 硬体的函式庫 8000L.Lib, 8000.h ==> [11月,15,2002] 8017HL.Lib ==> [11月,07,2002] ==> can be linked to TC 2.0 ------------------------------------------------------------------------ 1.0.7 版 [13,Dec,2002] by Kevin 增加 "更新 I/O 模組的方式" 系統會將 "更新 I/O 模組的方式" 設定值從 EEPROM 中讀出來。 總共有下列幾種方式: 方式0(預設): 自動 自動偵測全部的插槽, 若有 1 個以上的 87K I/O 模組, 則選擇方式1 ,否則選擇方式2。 方式1: 每一次週期更新一個插槽的 I/O 模組 (in UpdateIOModule) 8000 主機和 87K 模組的通訊速度比和 Ethernet 的通訊相比, 會比較慢。假如系統每次都掃瞄全部的I/O 插槽完,再檢查一次是否有 Ethernet 的服務請求,那麼這個 Ethernet 的服務請求就會等待比較 久的時間才被處理到。 原本問題: (The time to service the Ethernet request is long) Ethernet +--+ +--+ 服務請求 : _| |______________________________________| |_____ 更新 I/O 模組: +-----+ +-----+ +-----+ +-----+ ______| |_| |_............._| |____| |_ Slot0 Slot1 Slot7 Slot0 為了處理這個速度上的問題,系統必須每更新一個 I/O 模組就 檢查一次是否有 Ethernet 的服務請求。 Ethernet +--+ +--+ +--+ +--+ 服務請求 : _| |________| |_................_| |_______| |_ +-----+ +-----+ +-----+ +-----+ 更新 I/O 模組: ___| |____| |_............._| |____| |_ Slot0 Slot1 Slot7 Slot0 方式2: 每一次週期更新全部插槽上的 I/O 模組 (in UpdateIOModuel) 8000 主機和 8K 模組的通訊速度比和 Ethernet 的通訊相比, 會比較快。假如系統每次都掃瞄全部的I/O 插槽完,再檢查一次是否有 Ethernet 的服務請求,那麼 I/O 模組的更新速度可以很快,而且處理 Ethernet 的服務請求也不會比原來慢多少。 Ethernet +--+ +--+ 服務請求 : ___| |____________________| |_____ +-+ +-+ +-+ +-+ 更新 I/O 模組: _____| |_| |_......._| |_____| |_ Slot0 Slot1 Slot7 Slot0 others: use mode 1 整個系統的週期為: (開始) | +-------------->+ | | | +-----------+--------------+ | | 檢查是否有 Modbus 的請求 | | +-----------+--------------+ ^ | | +-----------+------------+ | | 更新 I/O 模組的資料 | | +-----------+------------+ | | +-------<-------+ ------------------------------------------------------------------------ Version 1.0.6 [02,Dec,2002] by Kevin Correct frame check for "OPC server of ICPDAS" ------------------------------------------------------------------------ Version 1.0.5 [11,Nov,2002] by Kevin Add function ModbusMaster2Slave ------------------------------------------------------------------------ Version 1.0.4 [24,Oct,2002] by Kevin Change ACK delay to 20 ms (in InitModbus())