精品一区二区三区无码免费直播,国产亚洲色婷婷久久99精品 ,色欲色香天天天综合网WWW,中文字幕久久久人妻无码

歡迎來(lái)到無(wú)錫徽科特測(cè)控技術(shù)有限公司網(wǎng)站!
技術(shù)文章您現(xiàn)在的位置:首頁(yè) > 技術(shù)文章 > 如何使用 Modbus 進(jìn)行樣機(jī)開(kāi)發(fā)(獲取完整代碼)

如何使用 Modbus 進(jìn)行樣機(jī)開(kāi)發(fā)(獲取完整代碼)

更新時(shí)間:2021-10-15   點(diǎn)擊次數(shù):1616次

您是在進(jìn)行樣機(jī)開(kāi)發(fā),還是在尋找一種經(jīng)濟(jì)型方式,保障應(yīng)用中的溫濕度測(cè)量質(zhì)量?您是否了解關(guān)于 Python 等編程語(yǔ)言的一些基本知識(shí)?

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

庫(kù):

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





參數(shù):

為了有助提高代碼的靈活性,我添加了一些參數(shù)。使用上述參數(shù)可讓我們無(wú)需更改代碼,便能從命令行輕松更改變量值。我認(rèn)為可能會(huì)有所幫助的參數(shù)有通信端口、數(shù)據(jù)存儲(chǔ)文件的名稱(chēng)、探頭的地址、輪詢(xún)頻率和數(shù)據(jù)記錄長(zhǎng)度。





Modbus 連接:

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





讀取保持寄存器:

現(xiàn)在我們來(lái)創(chuàng)建一個(gè)函數(shù)以讀取探頭的保持寄存器。我們要調(diào)用上一節(jié)中創(chuàng)建的 Modbus 客戶(hù)端實(shí)例的 read_holding_registers() 方法來(lái)讀取寄存器。我們需要保持寄存器的起始地址、寄存器的數(shù)量和探頭的從屬地址。我們會(huì)從寄存器收到低字節(jié)序格式的 16 位字?jǐn)?shù)據(jù),之后,我們必須將其轉(zhuǎn)換為 32 位浮點(diǎn)值。





將寄存器的值轉(zhuǎn)換為 32 位的值:

寄存器的值以 16 位整數(shù)的形式存儲(chǔ),我們需要將其轉(zhuǎn)換為 32 位浮點(diǎn)格式。為此,我創(chuàng)建了一個(gè)函數(shù),它可以獲取寄存器的值和寄存器索引,并返回索引數(shù)據(jù)的 32 位浮點(diǎn)值。我們采用模塊結(jié)構(gòu)來(lái)執(zhí)行此轉(zhuǎn)換。





記錄數(shù)據(jù):

鑒于我們已經(jīng)可以讀取保持寄存器并將寄存器的值轉(zhuǎn)換為 32 位浮點(diǎn)值,我們需要?jiǎng)?chuàng)建一個(gè)可將這些值存儲(chǔ)在 .csv 文件中的函數(shù)。為此,我創(chuàng)建了一個(gè)名為 data_logger() 的函數(shù)。它可以調(diào)用函數(shù) holding_registers_data(),并以日期時(shí)間、相對(duì)濕度、溫度、露點(diǎn)的格式將獲取的數(shù)據(jù)附加到文件中。





確定探頭的通信端口:

首先,確保您的探頭能正確連接到計(jì)算機(jī)。

Windows:

在 Windows 操作系統(tǒng)中,您可以在“設(shè)備管理器"下找到設(shè)備的 COM 端口。要打開(kāi)“設(shè)備管理器"窗口,請(qǐng)打開(kāi)屏幕左下方的“開(kāi)始"菜單,然后輸入“設(shè)備管理器"。它會(huì)顯示為“最佳匹配"下的第一個(gè)結(jié)果,單擊該圖標(biāo)或按下鍵盤(pán)上的 Enter 鍵便可打開(kāi)該窗口。單擊“端口(COM 和 LPT)"旁邊的箭頭以展開(kāi)端口。您會(huì)看到被列為“Vaisala USB Device"的一個(gè)設(shè)備,它的旁邊列出了 COM 端口名稱(chēng),在我們的示例中應(yīng)為 COM6。





Linux :

在 Linux 中,您可以通過(guò)在終端鍵入命令“dmesg | grep tty"來(lái)確定通信端口。在所有返回的語(yǔ)句中,會(huì)有一個(gè)類(lèi)似于“'cp210x converter now attached to ttyUSBn "的語(yǔ)句,其中 ttyUSBn 便是端口。

運(yùn)行代碼:

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





以獲得有關(guān)參數(shù)的操作。命令提示符中應(yīng)顯示此過(guò)程。下方是輸出內(nèi)容的屏幕截圖。





通信端口是必需參數(shù),其他參數(shù)均具備默認(rèn)值,您可以根據(jù)自己的偏好進(jìn)行更改。通信端口參數(shù)不需要標(biāo)識(shí)符,可以放在文件名稱(chēng)之后的任意位置。但其他可選參數(shù)需要標(biāo)識(shí)符。

以下是以長(zhǎng)格式和短格式顯示的典型命令示例:





国产又爽又黄又爽又刺激| 国产精品美女一区二区视频| 再深点灬舒服灬太大了少妇| AV无码天堂一区二区三区| 中老年妇女的性色视频| 国产伦精品一区二区三区视频| 国产婷婷色一区二区三区| 野外真人实战cs| 丰满少妇三级全黄| 无码免费一区二区三区免费播放| 丰满少妇被猛烈进入a片| 久久桃花综合桃花七七网| 欧美 亚洲 日韩 国产综合| 性色AV无码不卡中文字幕| 张开双腿高潮喷水抽搐| 贵州AⅤ熟女和妓女| 狠狠躁夜夜躁人人躁婷婷视频| 欧美激情视频一区二区三区免费| 前夫的东西很大和三个人在一起| 女人下面突然一紧一紧的| 色狠狠色噜噜AV天堂一区| 久久久久久亚洲精品中文字幕| 女性全捰艺术照摄影| 99热这里只有精品| 狠痕鲁狠狠爱2021在| 毛茸茸性XXXX毛茸茸毛茸茸| 久久久久久久波多野结衣高潮| 呦vodafonewifi高清| 年轻教师6电影完整版| 成人国产片女人爽到高潮| 国产精品免费精品自在线观看| 亚洲 另类 日韩 制服 无码| 久久久一本精品99久久精品66 | 精品九九人人做人人爱| 亚洲av天堂av在线成人播放| 老司机午夜免费精品视频| 囯产极品美女高潮无套久久久| 国产又猛又黄又爽| 亚洲日本一线产区二线产区| 亚洲精品无码成人片久久不卡| 小婷又嫩又紧又滑又多水|