如何在modbus協(xié)議下記錄實時數(shù)據(jù)
發(fā)布人:大彩科技發(fā)布日期:2020-08-17
本文主要闡述的是如何在modbus協(xié)議下實現(xiàn)記錄實時數(shù)據(jù)的功能,即屏幕在通訊的時候,可以將讀取上來的數(shù)據(jù),根據(jù)時間以及數(shù)值,對應(yīng)記錄到數(shù)據(jù)記錄控件,方便用戶查看實時數(shù)據(jù)。本文主要介紹的是采用lua腳本來實現(xiàn)采集相應(yīng)變量的數(shù)值,記錄到數(shù)據(jù)記錄控件的功能。
本文適用于M系列、F系列、物聯(lián)型等支持lua腳本的型號。
本例子的實現(xiàn):屏幕通過modbus協(xié)議,對應(yīng)采集電壓、電流、溫度和濕度的數(shù)值,對應(yīng)顯示數(shù)據(jù)變化,數(shù)據(jù)記錄控件實現(xiàn)每1秒記錄實時數(shù)據(jù)。界面設(shè)置如圖 3?1所示。
3.1.1 modbus協(xié)議配置
首先,打開visual TFT軟件,在菜單欄“工具”-“協(xié)議與變量設(shè)置”,對應(yīng)創(chuàng)建相應(yīng)的變量。相應(yīng)的變量設(shè)置如圖 3?2所示。
3.1.2 控件設(shè)置
本例子中使用的控件為文本控件和數(shù)據(jù)記錄控件。相應(yīng)的變量數(shù)值的顯示是通過變量和文本控件關(guān)聯(lián)起來即可,對應(yīng)在文本控件的屬性窗口設(shè)置即可。相應(yīng)的屬性設(shè)置如圖 3?3所示。
注意:若用戶在文本控件里面找不到這個選項的話,那就是協(xié)議沒有啟用導致的,對應(yīng)可以在“工具”-“協(xié)議與變量設(shè)置”,“協(xié)議設(shè)置”選項對應(yīng)選擇啟用協(xié)議,然后選擇保存即可。對應(yīng)的設(shè)置如圖 3?4所示。
圖 3?4協(xié)議設(shè)置
在工具欄中選中
,對應(yīng)在界面上放置數(shù)據(jù)記錄控件,相應(yīng)的設(shè)置如圖 3?5所示。
圖 3?5控件設(shè)置
3.1.3 腳本編寫
腳本實現(xiàn)的功能:屏幕通過modbus協(xié)議將變量數(shù)值讀取并在文本控件上顯示,數(shù)據(jù)記錄控件設(shè)置每1秒記錄一次實時數(shù)據(jù),表格顯示由時間以及對應(yīng)參數(shù)的數(shù)值組成。腳本的實現(xiàn)的思路:對應(yīng)變量的數(shù)據(jù)顯示通過軟件設(shè)置變量關(guān)聯(lián)即可顯示,實時數(shù)據(jù)的記錄要依靠定時器的函數(shù)來實現(xiàn)每1秒進入記錄執(zhí)行函數(shù),對應(yīng)的執(zhí)行函數(shù)依靠get_variant(“變量名”)來獲取對應(yīng)寄存器的數(shù)值,數(shù)據(jù)的記錄使用record_add(screen,control,record)來添加。相應(yīng)的變量函數(shù)如圖 3?6所示。
圖 3?6記錄實時數(shù)據(jù)腳本
以上介紹的是在lua腳本中實現(xiàn)在modbus協(xié)議下將實時數(shù)據(jù)記錄到數(shù)據(jù)記錄控件的功能,該功能可以便于客戶精確查看對應(yīng)時刻的數(shù)值變化情況,可以通過實時數(shù)據(jù)應(yīng)用到數(shù)據(jù)分析,進而判斷相應(yīng)時刻的設(shè)備的工作狀態(tài)是否正常。