<thead id="wtvt8"></thead>

      <label id="wtvt8"></label>
        1. <li id="wtvt8"><big id="wtvt8"></big></li><span id="wtvt8"><optgroup id="wtvt8"></optgroup></span>
            国产黑色丝袜在线播放,97视频精品全国免费观看,日韩精品中文字幕有码,在线播放深夜精品三级,免费AV片在线观看网址,福利一区二区在线观看,亚洲深夜精品在线观看,2019亚洲午夜无码天堂

            無錫徽科特測控技術有限公司

            如何使用 Modbus 進行樣機開發(獲取完整代碼)

            時間:2021-10-15 閱讀:1976
            分享:

            您是在進行樣機開發,還是在尋找一種經濟型方式,保障應用中的溫濕度測量質量?您是否了解關于 Python 等編程語言的一些基本知識?

            如果您了解,那么我想要向您展示如何僅通過一個 維薩拉HMP110 探頭、一條 USB 服務電纜 (219690) 和一臺安裝了 Python 3 的計算機來輕松地長時間記錄數據。我將帶您了解該代碼的各個方面,但如果您對解釋內容不感興趣,您可以直接跳到本文的末尾,獲取完整的代碼。另外需要說明的是,這只是一個用于演示 Modbus 通信的示例腳本。

            庫:

            在介紹代碼之前,讓我們首先了解一下我們將用到的庫,其中最重要的是 pymodbus。我們使用該庫來通過 Modbus RTU 與探頭建立通信,具體操作是從 pymodbus.client.sync 導入 ModbusSerialClient。我們使用struct庫將字位處理為不同的變量類型,使用time庫更改輪詢率,使用datetime庫獲得讀取數據的時間和日期,此外,我們導入 argparse庫,將參數從命令行傳遞至代碼。





            參數:

            為了有助提高代碼的靈活性,我添加了一些參數。使用上述參數可讓我們無需更改代碼,便能從命令行輕松更改變量值。我認為可能會有所幫助的參數有通信端口、數據存儲文件的名稱、探頭的地址、輪詢頻率和數據記錄長度。





            Modbus 連接:

            我們首先需要初始化新的串行 Modbus 客戶端,此客戶端應已根據探頭進行正確設置。本示例中的參數集必須包括通信方式、通信端口、響應超時、波特率、停止位和奇偶校驗。 Modbus RTU 的通信方式為“rtu",端口取決于您的計算機,因此我將在以下部分說明如何識別正確的端口。由于其他參數由探頭的設置決定,因此您需要參考探頭的數據表,獲取恰當的值。一般情況下,針對維薩拉探頭,波特率應為 19200,停止位為 2,無奇偶校驗。





            讀取保持寄存器:

            現在我們來創建一個函數以讀取探頭的保持寄存器。我們要調用上一節中創建的 Modbus 客戶端實例的 read_holding_registers() 方法來讀取寄存器。我們需要保持寄存器的起始地址、寄存器的數量和探頭的從屬地址。我們會從寄存器收到低字節序格式的 16 位字數據,之后,我們必須將其轉換為 32 位浮點值。





            將寄存器的值轉換為 32 位的值:

            寄存器的值以 16 位整數的形式存儲,我們需要將其轉換為 32 位浮點格式。為此,我創建了一個函數,它可以獲取寄存器的值和寄存器索引,并返回索引數據的 32 位浮點值。我們采用模塊結構來執行此轉換。





            記錄數據:

            鑒于我們已經可以讀取保持寄存器并將寄存器的值轉換為 32 位浮點值,我們需要創建一個可將這些值存儲在 .csv 文件中的函數。為此,我創建了一個名為 data_logger() 的函數。它可以調用函數 holding_registers_data(),并以日期時間、相對濕度、溫度、露點的格式將獲取的數據附加到文件中。





            確定探頭的通信端口:

            首先,確保您的探頭能正確連接到計算機。

            Windows:

            在 Windows 操作系統中,您可以在“設備管理器"下找到設備的 COM 端口。要打開“設備管理器"窗口,請打開屏幕左下方的“開始"菜單,然后輸入“設備管理器"。它會顯示為“最佳匹配"下的第一個結果,單擊該圖標或按下鍵盤上的 Enter 鍵便可打開該窗口。單擊“端口(COM 和 LPT)"旁邊的箭頭以展開端口。您會看到被列為“Vaisala USB Device"的一個設備,它的旁邊列出了 COM 端口名稱,在我們的示例中應為 COM6。





            Linux :

            在 Linux 中,您可以通過在終端鍵入命令“dmesg | grep tty"來確定通信端口。在所有返回的語句中,會有一個類似于“'cp210x converter now attached to ttyUSBn "的語句,其中 ttyUSBn 便是端口。

            運行代碼:

            要運行腳本,您必須安裝所有的庫。如果需要,可以使用 pip 命令





            以獲得有關參數的操作。命令提示符中應顯示此過程。下方是輸出內容的屏幕截圖。





            通信端口是必需參數,其他參數均具備默認值,您可以根據自己的偏好進行更改。通信端口參數不需要標識符,可以放在文件名稱之后的任意位置。但其他可選參數需要標識符。

            以下是以長格式和短格式顯示的典型命令示例:





            會員登錄

            ×

            請輸入賬號

            請輸入密碼

            =

            請輸驗證碼

            收藏該商鋪

            X
            該信息已收藏!
            標簽:
            保存成功

            (空格分隔,最多3個,單個標簽最多10個字符)

            常用:

            提示

            X
            您的留言已提交成功!我們將在第一時間回復您~
            撥打電話 產品分類
            在線留言
            主站蜘蛛池模板: 久久人与动人物a级毛片| 久久综合97丁香色香蕉| 欧美和黑人xxxx猛交视频| 99久久国产成人免费网站| 欧美乱妇高清无乱码免费| 精品视频不卡免费观看| 日韩人妻无码精品久久| 色九月亚洲综合网| 成年女人免费碰碰视频| 国产不卡精品视频男人的天堂 | 在线a级毛片无码免费真人| 亚洲色大成网站WWW久久| 日本久久99成人网站| 色噜噜亚洲男人的天堂| 亚洲最大成人免费av| 国产suv精品一区二区四| 国产偷窥熟女高潮精品视频| 欧美变态另类zozo| 国产丰满乱子伦无码专区| 99国产欧美另类久久久精品| 综合偷自拍亚洲乱中文字幕 | 国产精品中文av专线| 成人无码午夜在线观看| 开心一区二区三区激情| 国产无人区码一区二区| 国产精品高清中文字幕| 制服 丝袜 亚洲 中文 综合| 亚洲中文精品一区二区| 国产伦码精品一区二区| 国产成人不卡一区二区| 日本亚洲一区二区精品| 亚洲色成人一区二区三区人人澡人人妻人人爽人人蜜桃麻豆 | 草裙社区精品视频播放| 四虎国产精品永久在线| 麻豆亚洲精品一区二区| 国产欧美日韩精品丝袜高跟鞋| 成人3D动漫一区二区三区| 在国产线视频A在线视频| 午夜成人无码免费看网站| 久久亚洲精品情侣| 人妻少妇无码精品专区|