隨著網絡的發展和各種系統的集成,各種系統之間的數據交流越來越重要。比如控制設備和監控系統之間,不同的監控系統之間,上層管理軟件和監控系統之間都存在這種需求。現在存在著許多種數據交互的手段,比如OPC和DDE,但是這些數據通訊的方式,雖然對于最終的用戶來說使用比較簡單,但是對于通訊的實現方來說卻有一定的復雜性。比如當前流行的OPC方式,編寫OPC的采集程序并不是一件特別容易的事情,需要考慮許多的接口和意外的處理。而且如果不基于Windows系統,比如在PLC內部,就無法來實現OPC的數采方式。
監控軟件常常需要從下面的各種硬件系統中采集數據,但是由于監控軟件往往采用的是OPC、DDE等比較復雜的通訊方式,所以有時把監控軟件中的數據采集到其他的系統,并不時十分的容易,要么不夠靈活,要么就需要是用API編寫程序。如果能夠把整個監控系統虛擬成一個通訊設備,它遵循一種特別通用而且又簡單的通訊方式(比如非常通用的Modbus協議通訊方式),那么就能夠非常方便的從監控軟件中獲取數據了。
下面舉一個簡單的例子來說明這種方式的方便性和必要性。
現在假設有幾十臺PLC分布在比較廣闊的地方,比如分布在全國的若干個省,這些PLC都可以連接到以太網上,但是由于每一臺PLC都沒有一個固定的IP地址所以,監控系統無法直接訪問PLC從而采集到數據。按照傳統的方式需要給每個PLC分配固定的IP地址,這樣得需要分配幾十個固定IP地址,增大了系統的復雜度也增大了成本。如果能夠給監控系統所在的計算機分配一個固定的IP地址,同時把它虛擬成一個Modbus的設備,那么在其他的幾十臺上就可以使用現成的Modbus通訊模塊,直接把數據寫入監控系統中。這樣一來只需要分配一個固定的IP地址即可解決數據采集問題。如下圖所示:

紫金橋公司的技術人員,很久以前就發現了把整個系統虛擬成Modbus通訊設備的所能帶來的方便性,所以相應的紫金橋監控組態軟件早就具有了這一功能,下面我來簡單的介紹一下紫金橋監控組態軟件的Modbus服務器。
紫金橋Modbus服務器可以把紫金橋實時數據庫中的點映射為Modbus設備的HR寄存器,當前版本為3.0,支持串口和TCP/IP訪問方式,支持HR區的讀和寫。也就是說支持03、06、16號命令。
Modbus服務器的配置界面如下所示:

其中左側為變量配置顯示區,它分為三列,分別是序號、數據庫位號和Modbus地址。后兩列的意義是把某一個數據庫位號和一個Modbus地址建立映射關系。
可以在這里進行系統的配置

我們可以看到共有以太網和串口兩種方式供選擇使用,你可以選擇他們中的一個或兩個。當選中以太網方式之后,必須輸入相應的端口號,缺省情況下是502端口,這是Modbus以太網協議規定的缺省端口號。當選中了串口方式后您需要選擇對應的串口并作和采集方相同的配置。
紫金橋的Modbus服務器支持浮點格式,32位無符號格式、32位有符號格式、16位無符號格式和16位有符號格式。其中32位浮點格式和32位整形格式一個數據占用兩個寄存器。比如地址為0的32位浮點數將占據地址為0和1的兩個寄存器。采集方必須把這兩個寄存器拼接起來才能構成一個數據。由于采集程序處理的多樣,所以此處又有4種字節順序供選擇。它們依次為“最高高次低低”、“高最高低次低”、“次低低最高高”、“低次低高最高”,一般選擇第一種即可。如果采集方使用了其它的字節順序,請更改此選項。
如果選擇了16位整形格式那么界面如下所示:

這里一共有兩種編址方式,第一種為“浮點兼容地址編碼”這種編碼方式主要是為了和浮點格式兼容,它只占用偶數地址的寄存器,奇數寄存器空著。使用此方式可以在采集端的數據類型切換時,無需重新組態采集地址,但是它的缺點是采集時常常會采集到一半無用的0值,使效率只有緊湊格式的二分之一。第二種為“緊湊地址編碼”,它可以充滿寄存器地址,每一個數據占用一個寄存器。這一點您可以從列表的Modbus地址欄中看出來。

缺省情況下,系統進行的是只讀聯結,此時不可以寫。如果希望系統支持寫命令,請取消系統進行只讀聯結的復選框。
Modbus服務器支持把點表導出為文本文件,該文本文件可以在Excel中進行編輯保存后再導入,減小了組態的工作量。如果結合數據庫點組態界面的導出到Excel編輯的功能,可以大大提高組態的速度。
文本文件的格式如下圖所示:

左側為數據庫點名,右側是索引號,索引號和Modbus地址的對應關系如下:
1、 如果當前為緊湊編址方式那么 Modbus地址 = 索引號 – 1
2、 否則Modbus地址 = (索引號 – 1)*2
您可以打開Excel并將此文本文件托拽到Excel中即可進行處理。結合數據庫點組態界面的導出到Excel編輯的功能,可以大大提高組態的速度。
紫金橋Modbus服務器的運行界面如下所示:

您可以通過菜單來切換顯示:

顯示菜單共有4種分別對應顯示系統信息、串口通訊信息、以太網通訊信息和數據信息。
系統信息如上圖所示,可以察看到服務器啟動的時間,采集的數據庫點個數,以及通訊應答的次數。同時也會顯示一些錯誤信息。
通訊信息如下圖所示:

您可以察看到收發的數據以及收發數據的時間。
數據信息如下圖所示:
在這里可以看到采集的數據庫中的點的數據。

另外在系統菜單中還可以把當前顯示的信息以文本方式保存起來,供分析處理故障用。
通過使用紫金橋監控組態軟件的Modbus服務器,可以非常方便的和紫金橋系統交互數據。同時使用紫金橋軟件的各種各樣的驅動,就能夠實現,把各種各樣的硬件設備中的數據轉化為標準的Modbus數據發布出來,滿足更多的需要。同時,由于紫金橋的Modbus服務器提供了方便的通訊數據的查看功能,能夠方便調試系統。