▍前言
基於工業樹莓派實現Modbus TCP通訊
Revpi Conenct作為小型的工業PC,其硬體基於樹莓派計算機模塊3,採用1.2 GHz四核處理器,1GB內存且最高支持32GB的eMMC閃存,內部集成支持24小時緩存的實時時鐘(RTC),以確保RevPi Connect即使在斷電的情況下仍然知道自己的運行時間點;軟體採用開源的架構(包含完全的root權限),給用戶提供了極大的自由度,預裝了一個經過專業定制的帶有實時補丁的Raspbian操作系統版本,因為其良好的擴展性,可適應於工業的許多應用場合。本文將講解如何透過RevPi Connect 模塊實現Modbus TCP主站來採集溫度訊號。
▍所需的工具:
- Revpi Connect 模塊
- 網線;
- 溫度傳感器。
▍環境要求
- Revpi connect和Modbus-TCP從站位於同一網絡中;
- Modbus-TCP從站具有靜態IP地址。
正式操作
一、透過RJ45口將從站連接到Revpi Connect
將Revpi連接到電源。為了配置從站,我們需要事先獲得一些數據,以便我們可以透過RevPiConnect尋址傳感器。我們在從站的用戶手冊中找到這些數據。確定Modbus TCP網路數據
在這個例子中,我們使用溫度傳感器“Inveo NANO TEMP”作為從屬設備。
請注意從站手冊中的以下數據:
Name | Value |
IP adress | 192.168.0.103 |
Port | 502 |
Modbus register temperature x10 | 4004 |
Modbus function | “Read Holding Registers” |
Slave adress | 1 |
二、啟用Modbus-TCP主站功能,
打開Web瀏覽器,在Web瀏覽器的地址欄中輸入RevPi Connect的IP地址。出現登錄窗口。使用用戶名『admin』登錄。輸入密碼。您可以在RevPiConnect側面的標籤上找到它。點擊『登錄』。您現在可以看到RevPi Connect的當前設備狀態。點擊『服務』選項。單擊啟用/禁用Modbus主站中的『已啟用』。點擊『全部保存』按鈕。
三、Modbus 主站配置
點擊『應用』標籤。點擊條目『PiCtory』後面的開始按鈕。PiCtory打開。打開設備目錄中的『虛擬設備』文件夾。選擇Modbus-TCPMaster。按住滑鼠左鍵並將ModbusTCP Master拖動到RevPiConnect。您的Modbus-TCP主站現在將出現在配置板的最右側。在『設備數據』窗口中設置適配器的基本設置。此條目是可選的。如果您使用大量設備並希望稍後在另一個程序中處理數據,則此輸入可能非常有用。在『值編輯器』中,我們定義TCP連接的設置。我們已經確定了傳感器使用說明書中的數值:
四、右鍵點擊配置板上的Modbus-TCP主站。
選擇條目『擴展數據』。這是我們設置Modbus命令的地方。在這個例子中,我們需要一個命令來讀取傳感器的溫度值。我們已經從傳感器的操作說明中收集了必要的訊息:
Slave Addr.:1
功能碼:READ_HOLING_REGISTERS(03)
寄存器地址:4004
寄存器數量:1
動作間隔(ms):1000
設備對應值:Input_Word_1
五、保存配置。點擊『文件>保存』以保存文件。然後復位,配置才會生效。
六、查詢過程映像中的值:打開命令行並輸入以下命令:piTest -r Input_Word_1
您將會收到從站的數據:2Input_Word_1的字節值:284 dez(= 011c hex)
在我們的示例中,我們獲取溫度數據。值284對應於28.4℃
以上就是透過Revpi Connect實現Modbus TCP功能讀取溫度傳感器的實際操作。