Modbus

問題:

當使用Kepware的Modbus Driver時,通訊診斷顯示TX(發送),但不顯示RX(接收)。

 

解決方法:

  1. 如果使用 Ethernet-to-serial 轉換器,請確認它已設定為Modbus / TCP-to-Modbus-RTU轉換。如果是,請使用Modbus Ethernet Driver。 Ethernet Driver不支援的某些設備可以使用Modbus Seriel Driver,請確定啟動“Use Modbus TCP framing”選項。
  2. 當Modbus RTU請求發送到Modbus ASCII設備時(或反之亦然),設備可能不會響應。要傳輸ASCII字串的使用者不必使用Modbus ASCII Driver:字串可以通過Modbus RTU傳輸。要驗證 SerielModbus的類型是否受支援,請參閱設備的文件。
  3. 當發送Modbus RTU或Modbus ASCII請求到單元位址0時,設備不應該響應;然而,本地Modbus / TCP設備通常將響應發送到單元位址0的請求。

注意: 當連接到Modbus / TCP到Modbus-RTU Ethernet到 Seriel gateway時,大多數適用於Modbus RTU協定的建議(由Modbus Seriel Driver使用)也適用於Modbus Ethernet Driver。這是因為 gateway Seriel 的設備以 Modbus RTU 格式接收請求。

問題:

從設備讀取資料會返回比請求更多的暫存器。

 

可能的原因:

當使用標準Modbus讀取來自流量模型控制器/ RTU的資料時,通常會發生此錯誤。 這些設備具有位址設定,其中調用單個Modbus暫存器(通常為16位資料類型)將返回32位資料類型。

 

解決方法:

為設備選擇正確的型號類型或 Driver 。

如果Omni設備可以讀取Booleans但不能讀取Float或Long Tag,使用者應確保Modicon Compatible 設定(位於Omni前面板或OmniCom軟體中)被禁用。

這將允許Modbus RTU Seriel Driver的Omni模型正確地定址32位元值。

Kepware的 Modbus TCP / IP Ethernet driver可以與內建 Ethernet(如TWDLCAE40DRF)或 TwidoPort Ethernet-to-serial gateway 的Twido PLC進行通訊。

如果 Twido PLC 沒有 Ethernet ,則 Kepware 的 Modbus RTU Serial driver 可以與 PLC's Modbus serial port 進行通訊。

 

為了將記憶體位址輸入到 driver 中,無需從 PLC 編譯軟體的位址添加 “1” ,請取消勾選 driver 的 Use zero based addressing 選項(位於 Device PropertiesSettings 中)。一旦取消,使用者可以存取以下內容:

  • 要存取記憶體布林值(例如 %M0 或 %M2 ),請在 driver 輸入“000000”或“000002”等位址。至少需要一個前導零。如果僅輸入“02”,則driver將其視為“000002”,不輸入前導零的“2”無效。此外,使用者必須小心不要啟動1、3或4的記憶體布林位址,因為它們是 Kepware 的 Modbus Driver中其他記憶體類型的前綴。請改用01、03或04。
  • 要存取暫存器 %MW0,請在 driver 輸入位址“400000”,然後將資料型態設為Short。這樣做將符合PLC在16位元暫存器中儲存有符號整數的規定。
  • 要存取 浮點變量(例如 %MF0 或 %MF2 ),請將 %MF 替換為“4”,並將資料型態更改為Float。此例中,整個位址將是“400000”或“400002”。
  • 要存取 double word(例如 %MD0 或 %MD2 ),請將 %MD 替換為“4”,並將資料型態更改為Long。此例中,整個位址是“400000”或“400002”。
  • 要存取記憶體字元中的一個位元,請使用句點將字數與位數分開(而不是編譯軟體的“ %MW :X ”符號)。例如,“400000.0”。

注意:這些PLC不能通過Modbus直接存取其他暫存器類型(例如 %I, %Q, %TM 等)。可以在 PLC 中使用邏輯運算在 %MW 或 %M之 間傳輸資料,也可通過 Modbus 存取其他記憶體類型。

Yokogawa YS1700 是替代 Yokogawa YS170 的較新控制器。 Kepware 的 Modbus TCP / IP Ethernet Driver 可用於讀取和寫入此設備中的變數。使用者應該執行以下操作:

    • 確保下載最新版本的 KEPServerEX 。雖然較舊的 Server 版本將會起作用,但使用者將無法使用較新版本的設定檔案。
    • 在基本 IP 位址之後用“.1”來處理YS。例如,“192.168.10.20.1”。
    • 將 YS1700 Modbus TCP Byte Order 參數(Comm. 選單中的dreg2)更改為 L-H,以便在使用默認設定時與 Kepware 一起工作。或者,取消 First word low in 32 bit data types,並將 dreg2 參數設定為 Y-1700 中的 H-L 
    • 將 PV/SP/MV 和 Mode 位址設定為長資料類型(32位元格式)。
    • 在暫存器 40013 和 40014 中設定 SV1 位址。設定 Kepware 位址時,請使用第一個暫存器。使用者應該知道,Kepware 增加了一個額外的0來容納較新的 Modbus 設備。例如,“40013”變為“400013”。


注意:

    有關Modbus暫存器位址的清單,請參閱控制器的幫助檔案。

RTS 控制設定用於手動 RTS 流量控制。 在 Channel Properties 中的 Communications ,確保啟用了 RTS 控制設定。

注意:如果Client應用程式連接到請求資料的Server,則RTS控制設定可能不可用。

問題:

KEPServerEX無法連接到Schneider Unity Pro 的Simulator模式,且該模式是使用TCP/IP ”127.0.0.1”位址。即使讀取成功,也只會回傳數值0。

導致此問題的可能原因:

根位址或是Ethernet連接器的IP被占用時, Modbus TCP/IP Ethernet Driver會變成虛擬的Modbus Device。

解決方法:

2路徑多宿的Ethernet通訊卡和綁定Modbus Channel到新的IP位址(使用主要或是初始IP)。如果不打算採用2路徑多宿的方式,使用Modbus RTU Serial Driver的Ethernet Encapsulation 模式。之後勾選允許”Use Modbus TCP/IP Header”選項。

在KEPServerEX V4.200.353之前,不支援Ethernet-enabled Omni設備。

伺服器版本包括利用Modbus TCP消息源的Modbus RTU序列驅動的新裝置。啟用乙太網封裝時,裝置允許序列驅動使用標準的Modbus Ethernet接頭與Omni設備通訊。允許使用者使用Modbus Ethernet消息源與消息末的Omni Flow模組連接Omni Flow計量器。

 

注意:KEPServerEX V5.9.170中新增了OMNI Flow Computer驅動,專門支援Omni Flow計量器與EFM資料收集。

可以; 但是,根據TSXCUSBMBP版本的不同,必須使用適當的Modbus Driver。

 

版本1 使用虛擬 Seriel Port,必須與Kepware的Modbus RTU Seriel Driver一起使用。 有關設定TSXCUSBMBP版本1通訊卡的更多訊息,請參閱 TSXCUSBMBP USB通訊卡連接指南

 

版本2 設定為內部Modbus Plus通訊卡。 它是Kepware的Modbus Plus Driver和Modbus Plus網路之間的直接橋樑。

有支援。Yokogawa PR300電表設備支援Modbus / TCP,因此可以使用Kepware的Modbus TCP / IP Ethernet Driver 。

 Yokogawa MW還具有內建功能,通過Modbus / TCP讀取設備,然後從自己的暫存器提供資料。

對於 Modbus / TCP 存取 SPA-Bus 設備,ABB 提供像 SPA-ZC402 或 SPA-ZC400 這樣的 Gateway。 使用者可以利用 Kepware 的 Modbus TCP / IP Ethernet Driver 與 Gateway 通訊。

在Modbus Unsolicited Seriel Driver 和Modbus TCP / IP Ethernet Driver 中設定為主動通訊的Tag在由Modbus主機寫入之前具有良好的Quality。這是因為它們的默認設定“OPC quality bad until write”選項被禁用。在KEPServerEX版本4.280之前, Driver 始終執行,就好像這個選項是關閉的:所有的Tag在啟動時Quality都良好。現在,使用者可以通過設備屬性選擇所需的行為。

 

如果啟用了“OPC quality bad until write”選項, Driver 中的Tag將具有bad quality,直到由Tag引用的Memory位置已被Modbus命令或 Client 應用程式寫入。此選項在某些情況下可能會有幫助,如Modbus Master  - > Modbus Unsolicited或 Ethernet Driver  - >  LinkMaster  - > 連接輸出到另一個OPCServer 。

 

注意:如果禁用“OPC quality bad until write”選項,則LinkMaster將在系統啟動時以及在Modbus主機向 Driver 寫入任何內容之前將零寫入連接輸出。一旦啟用,LinkMaster將不會寫入連接輸出,直到Modbus主機寫入 Driver 。

該設備使用 Modbus 協定,不允許 Server 一次讀取單個暫存器。 它要求 Server 在單個呼叫中讀取所有個暫存器區塊。

 

這意味著暫存器3000將被定址為403000,但因為資料型態是浮點數(32位元),應該包括最多403018個所有暫存器。

問題:

因為Symax網絡有交互溝通或自動發出訊號,所以SquareD PLC無法實現乙太網封裝。

 

解決:

Niobrara是研究與開發運用在SquareD PLC的第三方裝置開發商。他們製做三個可以與Modbus Suite一起使用的裝置,可從SquareD PLC讀取和寫入資料。

裝置的描述如下:

  • SPE4-3D:這是Modbus RTU Master/Slave多埠裝置,如果將埠設定為Modbus RTU Slave,使用者可以透過Modbus序列驅動程式使用乙太網路封裝。
  • EPE5-T:這裝置有10Base-T乙太網路埠和4個RS-422/485序列埠,可以透過Modbus TCP / IP乙太網路驅動程式讓Modbus乙太網路到Symax網路。
  • MEB-RT: 這裝置是功能完整雙向的Modbus Plus到乙太網路的橋接器,可以與Modbus Plus或Modbus乙太網路驅動程式一起使用。

可以,Modbus RTU Seriel Driver 可以與 Moeller PS4 PLC(如 PS4-151,PS4-201 或 PS4-341)通訊。

要與 Moeller PS4 PLCA 進行通訊,請使用 ZB4-501-UM3 或ZB4-501-UM4Seriel 介面轉換器(硬體)和 S40-AM-K4-D / GB 應用模組(PLC 軟體)。

問題:

“無法啟動未經請求的通訊”錯誤消息發佈到KEPServerEX事件日誌。

 

可能的原因:

Modbus TCP / IP Ethernet Driver 無法建立具有 Port 502的TCP Socket來監聽未經請求的Modbus通訊。

 

解決方法:

在大多數情況下,出現此錯誤是因為另一個應用程式正在執行,該應用程式已在與KEPServerEX專案中使用的同一NIC上建立了 Port 502的TCP Socket 。 要解決此錯誤,請關閉其他應用程式或更改Modbus Master 正在使用的 Port 以及Modbus TCP / IP Ethernet  Driver 用於偵聽主動通訊的 Port 。 此設定位於Channel Properties | Ethernet

沒有支援:位址偏移是不同的。建議使用Modbus Ethernet驅動(包括在Modbus驅動套件中)。

請注意,使用者必須手動定義Tag位址,代替自動生成Tag。

對於 Modbus / TCP 存取 SPA-Bus 設備,ABB 提供像 SPA-ZC402 或 SPA-ZC400 這樣的 Gateway。 使用者可以利用 Kepware 的 Modbus TCP / IP Ethernet Driver 與 Gateway 通訊。

可以,Modbus RTU Seriel Driver 可以與 Moeller PS4 PLC(如 PS4-151,PS4-201 或 PS4-341)通訊。

要與 Moeller PS4 PLCA 進行通訊,請使用 ZB4-501-UM3 或ZB4-501-UM4Seriel 介面轉換器(硬體)和 S40-AM-K4-D / GB 應用模組(PLC 軟體)。

有支援。 以下為幾個可以用來與此設備通訊的 Driver。

Power Monitor 3000 支援 DF1協定作為 Master 或 Slave ,Modbus RTU Serial 協定通過其RS485或RS232 通訊port 作為 Master 或 Slave 。

 

此外,還有可選的DeviceNet或 ControlNet 介面。 有關設備通訊選項及其對應的 Kepware Driver,請參閱下面的列表。

  • 作為DF1 Slave 的AB PM 3000:Allen-Bradley Driver Suite 包含的Allen-Bradley DF1 Driver
  • 作為Modbus Slave 的AB PM 3000:Modbus Driver Suite 中包含的 Modbus RTU Serial Driver

可以; 但是,根據TSXCUSBMBP版本的不同,必須使用適當的Modbus Driver。

 

版本1 使用虛擬 Seriel Port,必須與Kepware的Modbus RTU Seriel Driver一起使用。 有關設定TSXCUSBMBP版本1通訊卡的更多訊息,請參閱 TSXCUSBMBP USB通訊卡連接指南

 

版本2 設定為內部Modbus Plus通訊卡。 它是Kepware的Modbus Plus Driver和Modbus Plus網路之間的直接橋樑。

有關使用KEPServer將DDE連接到Microsoft Excel 97的更多訊息,請參閱與ERS 500進行通訊。此第三方文件使用KEPServer V3.2。 雖然相同的概念適用於KEPServerEX V4和V5,但通道、設備和Tag屬性將不同。

無法通過Modicon / Schneider BM85 gateway連接到設備的使用者應首先確保BM85的 Port映射表設定正確。

注意:如果使用Modbus RTU Seriel Driver,可能需要選擇DTR流量控制。

 

為此,請打開Server的 Channel Properties,然後打開Communications。 在Flow Control中,選擇 DTR

無法通過Modicon / Schneider BM85 gateway連接到設備的使用者應首先確保BM85的 Port映射表設定正確。

注意:如果使用Modbus RTU Seriel Driver,可能需要選擇DTR流量控制。

 

為此,請打開Server的 Channel Properties,然後打開Communications。 在Flow Control中,選擇 DTR

通道診斷可以顯示有關TCP連接到 Ethernet-to-Serial轉換器的基本訊息。視窗可以顯示三種狀態:無TX或RX字元,僅綠色(TX)文字,或綠色(TX)和白色(RX)文字兩者。

  • 沒有TX或RX字元表示Server無法使TCP Socket連接到 Ethernet-to-Serial轉換器。如果沒有Client嘗試存取相關設備,則會發生此狀態。如果“通道診斷”視窗的“讀取失敗”或“失敗寫入”在“定時設備”屬性中指定的時間內增加,則Client將被連接。如果通道診斷視窗的“讀取失敗”或“失敗寫入”沒有增加,則沒有Client連接。在進行故障排除之前,請將Client連接到相關設備。 “無TX或RX字元”狀態的建議如下:
    • 你能ping到轉換器嗎?如果沒有,Server將無法連接。驗證PC和轉換器是否在同一個IP子網中,或者有一個gateway可以在兩個子網之間轉發資料包。
    • 所有轉換器的可用連接是否正在使用?由於大多數應用程式不能共享 Seriel Port,因此典型的轉換器僅允許每個物理 Seriel Port一個 Ethernet連接。
    • 防火牆是否阻止存取 Driver嘗試使用的TCP Port?
    注意:此狀態通常不適用於UDP。由於UDP是無連接的,因此即使沒有設備可以接收UDPServer,也可以發送UDP消息。
  • 綠色(TX)文字只意味著Server可以向轉換器發送資料,但是終端設備不會發回任何東西。確保 Driver已設定為在轉換器上使用正確的TCP Port。這通常是一個“原始” Port,而不是用於COM Port重定向器或Telnet的 Port。
  • 綠色(TX)和白色(RX)文字都意味著終端設備會發回消息,但仍然有一些阻止存取 Tag的內容。在Server的事件日誌中查看設備可能返回的任何錯誤代碼。然後,通過參考 Driver的產品手冊了解更多訊息,確認 Driver設定和PLC /設備設定正確。

相關訊息可參閱 : Channel Diagnostics Guide

問題描述:

Server專案運行在其他作業系統都能正常連接到Device並且收值,但是將相同的專案運行在Windows Server2012上卻沒辦法正常連線。

 

導致此錯誤的可能原因:

隨著Windows Server2012作業系統的發行,Microsoft讓所有的網路轉接器都預設為啟用顯式擁塞通知 (ECN)。ECN會新增資訊至網路,當系統有需求時會降低網路的流量速度。雖然這個功能能夠作用於舊版的作業系統,但是在Windows Server2012之前的作業系統,並沒有啟用此項功能。

當啟用ECN,一些舊的Devices由於操作設備的關係將會丟棄封包或是拒絕封包傳送。

 

解決方法:

  1. 以Administrator權限登入,開啟DOS命令提示字元。
  2. 輸入"netsh int tcp set global ecncapability=disabled"並且按下Enter。
  3. 重新啟動電腦。

以下 Driver 支援連接共享,也稱為COM Port共享:

 

  • ABB Totalflow
  • Allen-Bradley DF1
  • DNP Master Serial
  • Enron Modbus
  • Fisher ROC Serial
  • Fisher ROC+ Serial
  • GE CCM
  • GE SNP
  • GE SNPX
  • Lufkin Modbus
  • Modbus ASCII Serial
  • Modbus RTU Serial
  • OMNI Flow Computer
  • Siemens S5 (AS511)
  • Siemens S7-200
  • Weatherford 8500 Serial

 

注意:為了使用COM Port 共享,使用者必須先安裝 Connection Sharing plug-in。 當在 Configuration 中建立專案,使用者可以通過連接選擇Organize by Connections圖標來顯示設備。 有關詳細訊息,請參閱KEPServerEX產品手冊。

可以,Honeywell S9000有RS232或RS485 Modbus RTU介面模組,可與KEPServerEX的Modbus RTU序列驅動程式一起使用。

Please publish modules in offcanvas position.