日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Modbus驅(qū)動

Link IoT Edge提供Modbus官方驅(qū)動,用于支持工業(yè)領(lǐng)域廣泛應(yīng)用的Modbus通信協(xié)議設(shè)備。本文主要介紹Modbus驅(qū)動及其用法。

概覽

Modbus是常用的應(yīng)用層數(shù)據(jù)通信協(xié)議,阿里云官方Modbus驅(qū)動(以下簡稱Modbus驅(qū)動)支持Modbus RTU和Modbus TCP兩種交互。

Modbus驅(qū)動可以直接連接Modbus從設(shè)備,示意圖如下所示。Modbus驅(qū)動直接連接設(shè)備
Modbus驅(qū)動也可以通過Modbus網(wǎng)關(guān)連接Modbus從設(shè)備,示意圖如下所示。Modbus驅(qū)動通過網(wǎng)關(guān)連設(shè)備

Modbus驅(qū)動支持的功能有讀取輸入狀態(tài)和輸入寄存器、讀取和寫入線圈狀態(tài)、保持寄存器。

Link IoT Edge提供C和Python語言Modbus驅(qū)動,同時根據(jù)CPU架構(gòu)的不同,有多種C語言Modbus驅(qū)動。您可以直接從控制臺部署Modbus驅(qū)動到網(wǎng)關(guān),也可以從控制臺下載Modbus驅(qū)動代碼進行修改,作為您的自定義驅(qū)動使用。

本文以示例方式介紹Modbus官方驅(qū)動的使用步驟,具體操作如下文所示。

前提條件

請確保已創(chuàng)建邊緣實例并上線網(wǎng)關(guān),具體操作請參見環(huán)境搭建

一、分配驅(qū)動

  1. 登錄邊緣計算控制臺
  2. 左側(cè)導航欄單擊邊緣實例,在已創(chuàng)建的邊緣實例右側(cè)單擊查看
  3. 實例詳情頁面設(shè)備與驅(qū)動頁簽下,單擊全部驅(qū)動右側(cè)的+圖標 。
  4. 分配驅(qū)動面板中,選擇官方驅(qū)動,根據(jù)網(wǎng)關(guān)CPU架構(gòu)選擇需要使用的Modbus驅(qū)動,單擊對應(yīng)操作欄中的分配。然后單擊關(guān)閉。
    說明
    • C語言Modbus驅(qū)動,需在v1.8.4及以上版本的Link IoT Edge中使用。
    • Python語言Modbus驅(qū)動,僅支持在Link IoT Edge專業(yè)版中使用。
    選驅(qū)動

二、配置驅(qū)動

  1. 單擊已分配的Modbus驅(qū)動,在設(shè)備列表右側(cè)單擊驅(qū)動配置
  2. 在彈出面板中單擊添加通道。
    通道是網(wǎng)關(guān)與具體物理設(shè)備之間的連接介質(zhì)。添加通道
  3. 根據(jù)界面提示設(shè)置參數(shù),然后單擊確定。
    參數(shù)描述
    通道名稱設(shè)置通道名稱,需在網(wǎng)關(guān)維度具有唯一性。支持中文漢字、英文字母、數(shù)字和下劃線(_),長度不超過1~30個字符,1個中文漢字算2個字符。
    傳輸模式

    支持RTU、TCPLoRa LAN三種。

    當傳輸模式為RTU時,需設(shè)置以下參數(shù):
    串口設(shè)置串口,如/dev/ttyUSB0/dev/ttyUSB1。支持英文字母、數(shù)字、正斜杠(/)和下劃線(_),長度限制1~64字符。
    波特率表示每秒傳送的符號個數(shù),從下拉列表中選擇。
    數(shù)據(jù)位表示一組數(shù)據(jù)實際包含的數(shù)據(jù)位數(shù),從下拉列表中選擇。
    校驗位從下拉列表中選擇奇偶校驗、或者無校驗。
    停止位用于表示單個包的最后一位,從下拉列表中選擇。
    當傳輸模式為TCP時,需設(shè)置以下參數(shù):
    IP地址Modbus設(shè)備IP地址,輸入點分十進制格式的地址。
    端口號Modbus設(shè)備端口號,輸入1~65535范圍的整數(shù)。
    當傳輸模式為LoRa LAN時,需設(shè)置以下參數(shù):
    DevAddr
    設(shè)備地址。請?zhí)顚?位十六進制數(shù)值,例如66be****
    AppSKey
    應(yīng)用會話密鑰。請?zhí)顚?2位十六進制數(shù)值,例如623bd505f042090b5af660954509****
    NwkSKey
    網(wǎng)絡(luò)會話密鑰。請?zhí)顚?2位十六進制數(shù)值,例如e1336a94a03aa3beae55b737acda****。
    Class
    通信節(jié)點的特定類。當前僅支持C特定類,即隨時接收設(shè)備上報的數(shù)據(jù)。
    上行 FPort
    上行應(yīng)用端口,取值范圍為1~223。
    下行 FPort
    下行應(yīng)用端口,取值范圍為1~223。
  4. (可選)在設(shè)備列表右側(cè),單擊容器配置,根據(jù)如下參數(shù)說明,對當前驅(qū)動進行容器配置。配置完成后單擊保存
    說明 僅在產(chǎn)品規(guī)格為專業(yè)版的邊緣實例中,允許設(shè)置容器配置。
    參數(shù)描述
    是否使用宿主機host模式選擇是否隔離容器的網(wǎng)絡(luò)。直接使用宿主機網(wǎng)絡(luò)環(huán)境。
    • :表示不隔離容器的網(wǎng)絡(luò),直接使用宿主機網(wǎng)絡(luò)環(huán)境。
    • :表示隔離容器的網(wǎng)絡(luò),需要設(shè)置網(wǎng)絡(luò)端口映射。
    網(wǎng)絡(luò)端口映射是否使用宿主機host模式時出現(xiàn)的參數(shù)。函數(shù)的網(wǎng)絡(luò)環(huán)境和宿主機的環(huán)境是完全隔離的。通過網(wǎng)絡(luò)端口映射,將容器內(nèi)函數(shù)的監(jiān)聽端口映射到宿主機的某一個端口上,實現(xiàn)不同主機上的客戶端程序,能夠訪問該函數(shù)提供的服務(wù)。最多支持映射10條網(wǎng)絡(luò)端口。

    例如,運行在宿主機容器內(nèi)的fc-http-server函數(shù),通過80端口對外界提供服務(wù)。此時,其它主機上的客戶端程序,無法通過訪問宿主機的80端口,訪問到fc-http-server函數(shù)。因此需要將fc-http-server函數(shù)所在的容器端口映射到宿主機的某一個端口上(例如將容器內(nèi)的80端口映射到宿主機8080端口),允許其它主機上的客戶端程序通過訪問宿主機的IP地址:8080,訪問到容器內(nèi)部的fc-http-server函數(shù)。

    是否啟動特權(quán)模式

    容器內(nèi)的root用戶實際上只是宿主機的一個普通用戶。若在容器內(nèi)部做修改系統(tǒng)時間、使用mount命令等需要root權(quán)限的操作,則需要賦予容器privileged特權(quán)。

    說明 特權(quán)模式下,容器內(nèi)部擁有宿主機的root權(quán)限,而且宿主機的所有設(shè)備會默認映射到容器內(nèi)部,即無需配置設(shè)備映射。
    設(shè)備映射是否啟動特權(quán)模式時出現(xiàn)的參數(shù)。設(shè)備管理系統(tǒng)和宿主機的環(huán)境是完全隔離的。當一個函數(shù)需要訪問宿主機的設(shè)備(例如串口)時,需要將設(shè)備映射到運行函數(shù)的容器內(nèi)部。最多可添加10個設(shè)備映射。
    卷映射文件系統(tǒng)和宿主機的環(huán)境是完全隔離的。當一個函數(shù)需要訪問宿主機的文件時,需要將文件映射到運行函數(shù)的容器內(nèi)部。最多可添加10個卷映射。
    內(nèi)存限制設(shè)置容器的內(nèi)存上限。
    • 當容器內(nèi)存使用超過限制時,容器會被重啟。
    • 如果內(nèi)存限制值過小,可能會導致容器內(nèi)的應(yīng)用運行失敗。

    默認內(nèi)存為1024 MB,請根據(jù)容器內(nèi)應(yīng)用大小,上調(diào)內(nèi)存限制。

三、驅(qū)動關(guān)聯(lián)子設(shè)備

  1. 單擊設(shè)備列表區(qū)域框下的分配子設(shè)備,在Modbus驅(qū)動下為邊緣實例分配設(shè)備。
    您可以分配已有的Modbus設(shè)備,也可以根據(jù)下面的步驟,新建Modbus設(shè)備。
    說明 分配已有的Modbus設(shè)備時,該設(shè)備所屬產(chǎn)品必須接入網(wǎng)關(guān),且接入網(wǎng)關(guān)協(xié)議為Modbus。詳細說明請參見創(chuàng)建產(chǎn)品。
  2. 在右側(cè)彈出的分配子設(shè)備面板中,單擊添加子設(shè)備。
    添加子設(shè)備按鈕
  3. 添加設(shè)備對話框,單擊新建產(chǎn)品,創(chuàng)建Modbus設(shè)備所屬產(chǎn)品。
    新增客廳燈產(chǎn)品
  4. 創(chuàng)建產(chǎn)品對話框設(shè)置參數(shù)后,單擊完成。
    創(chuàng)建產(chǎn)品
    表 1. 參數(shù)說明
    參數(shù)描述
    產(chǎn)品名稱
    設(shè)置產(chǎn)品名稱,產(chǎn)品名稱在賬號內(nèi)具有唯一性。支持中文、英文字母、數(shù)字、下劃線(_)、短劃線(-)、at符號(@)和英文圓括號,長度限制4~30個字符,一個中文漢字算2個字符。
    所屬品類
    選擇品類,為該產(chǎn)品定義物模型。此處選擇自定義品類。
    接入網(wǎng)關(guān)協(xié)議
    此處必須選擇Modbus
    認證方式
    選擇適合您設(shè)備的認證方式。詳細信息,請參見設(shè)備安全認證。
    產(chǎn)品描述添加對該產(chǎn)品的描述??梢詾榭?。
  5. 添加設(shè)備對話框,產(chǎn)品自動分配已創(chuàng)建的產(chǎn)品,單擊產(chǎn)品下的前往配置,為產(chǎn)品添加自定義功能。
    說明 您也可以使用Modbus調(diào)試工具配置Modbus產(chǎn)品,但需要先完成添加設(shè)備并分配到邊緣實例的操作,再使用調(diào)試工具。
    前往設(shè)置

    系統(tǒng)跳轉(zhuǎn)到物聯(lián)網(wǎng)平臺控制臺產(chǎn)品詳情頁面功能定義頁簽。單擊編輯草稿,在彈出頁面中單擊添加自定義功能。

    添加功能
  6. 添加自定義功能對話框,根據(jù)實際情況設(shè)置屬性參數(shù)。具體操作請參見單個添加物模型
    在配置物模型屬性的過程中,單擊新增擴展描述設(shè)置如下擴展描述參數(shù),將屬性映射到寄存器中。官方Modbus驅(qū)動會將所有的屬性聚合為Modbus數(shù)據(jù)請求,驅(qū)動收到Modbus數(shù)據(jù)之后再轉(zhuǎn)換為物模型數(shù)據(jù)。擴展描述

    參數(shù)說明如下所示,詳細的參數(shù)解釋請參見單個添加物模型中“擴展描述”的說明。

    名稱描述
    操作類型指操作Modbus的功能碼。
    說明 其中:
    • 線圈狀態(tài):讀取時統(tǒng)一使用0x01功能碼。寫入時支持使用單個寫入功能碼0x05,或多個寫入功能碼0x0F。
    • 保持寄存器:讀取時統(tǒng)一使用0x03功能碼,寫入時支持使用單個寫入功能碼0x06,或多個寫入功能碼0x10。
      • 寫入時選擇0x06原始數(shù)據(jù)類型參數(shù)下只可選擇int16或者uint16。選擇其它數(shù)據(jù)類型時,上報屬性數(shù)據(jù)會報錯。
      • 寫入時選擇0x10原始數(shù)據(jù)類型參數(shù)下所有數(shù)據(jù)類型都可選。
    • 離散輸入:讀取時統(tǒng)一使用0x02功能碼,該類型不支持寫入。
    • 輸入寄存器:讀取時統(tǒng)一使用0x04功能碼,該類型不支持寫入。

    Modbus協(xié)議相關(guān)規(guī)范,請參見GB/T 19582.1-2008、GB/T 19582.2-2008GB/T 19582.3-2008

    寄存器地址填寫十六進制,以0x開頭。

    根據(jù)您自己設(shè)備的屬性地址設(shè)置寄存器地址。例如,要調(diào)試溫度屬性,您設(shè)備的溫度屬性地址為1,則寄存器地址可設(shè)置為0x1。

    原始數(shù)據(jù)類型如采集的溫度值的數(shù)據(jù)類型為浮點型。
    取值范圍取值范圍指的是原始數(shù)據(jù)經(jīng)過縮放因子處理之后的取值范圍,超出取值范圍的數(shù)據(jù)會被丟棄。
    交換寄存器內(nèi)高低字節(jié)是否把寄存器內(nèi)16位數(shù)據(jù)的前后8個bits互換。此處設(shè)置為互換true
    交換寄存器順序是否把原始數(shù)據(jù)32位數(shù)據(jù)的bits互換。此處設(shè)置為不互換false。
    縮放因子指縮放系數(shù),如采集的值為100, 但真實的值為10,因此需要縮放10倍,故縮放因子填寫0.1即可。如放大10倍(即真實的值為1000),則放大因子為10。
    數(shù)據(jù)上報方式有兩種數(shù)據(jù)上報方式。
    • 按時上報:選擇按時上報后,根據(jù)步驟9中為子設(shè)備設(shè)置的數(shù)據(jù)采集間隔,采集數(shù)據(jù)并上報。
    • 變更上報:采集后的值發(fā)生變化后才會上報。
  7. 返回實例詳情頁面,添加Modbus設(shè)備。
    Modbus產(chǎn)品添加設(shè)備_專有云
  8. 將新建的Modbus設(shè)備分配到邊緣實例。
  9. 分配設(shè)備到邊緣實例后,單擊設(shè)備名稱對應(yīng)操作欄中的設(shè)備配置,通過關(guān)聯(lián)通道,關(guān)聯(lián)設(shè)備與Modbus驅(qū)動。
    設(shè)備配置
    表 2. 參數(shù)說明
    參數(shù)描述
    關(guān)聯(lián)通道選擇配置驅(qū)動步驟2中已創(chuàng)建的通道。
    從站號從站號是Modbus設(shè)備標識信息,在同一個通道中是唯一的。
    數(shù)據(jù)采集間隔Modbus協(xié)議是半雙工協(xié)議,由網(wǎng)關(guān)主動請求數(shù)據(jù),因此需要指定對數(shù)據(jù)點的采集間隔時間。單位為毫秒。
    說明 單個屬性點的采集耗時時間大概為60毫秒(ms),則采集間隔的計算方式為:
    采集耗時時間(60 ms) * 該通道的所有屬性點個數(shù)
    例如,當前Modbus總線通道上有10個設(shè)備,且每個設(shè)備有10個屬性點,即采集間隔時間應(yīng)大于等于6000 ms(60 ms * 10 * 10 = 6000 ms),這樣才能保證每個屬性點能正常上報。

四、部署邊緣實例

  1. (可選)在部署實例前,可以使用Modbus調(diào)試工具,測試網(wǎng)關(guān)能否連接該Modbus設(shè)備,同時也可以測試Modbus設(shè)備所屬產(chǎn)品的物模型是否配置正確。
  2. 實例詳情頁面,單擊右上角部署,部署邊緣實例。

常見問題

Modbus官方驅(qū)動上報消息到云端時,是按照設(shè)備維度上報,還是屬性維度上報?

答:Modbus官方驅(qū)動在每個采集周期內(nèi),按照設(shè)備維度進行采集和上報數(shù)據(jù)。例如,1個Modbus設(shè)備有100個屬性,數(shù)據(jù)采集間隔為5秒,那么Modbus驅(qū)動每5秒上報云端1條消息(因為是1個設(shè)備)。