色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣將ESP32處理器編程為ModbusTCPMaster

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-05 16:50 ? 次閱讀

步驟1:下載并啟動(dòng)Modbus TCP從站模擬

從http://www.modbusdriver.com/diagslave.html下載 Modbus從站模擬器。

然后打開用于Linux操作系統(tǒng)的下載的存檔和解壓縮版本。

使用 -p 參數(shù)從控制臺(tái)運(yùn)行程序:

。/diagslave -p

是Modbus Slave服務(wù)器將在其中運(yùn)行的端口。對(duì)于Modbus協(xié)議,默認(rèn)情況下為502,但是您可以使用其他協(xié)議。

在Linux以下1024端口中,常規(guī)用戶(不是root特權(quán))運(yùn)行的程序無(wú)法使用。

記住您正在使用的端口。

步驟2:準(zhǔn)備將計(jì)算機(jī)連接到設(shè)備

您將需要一些程序以便與設(shè)備建立連接并向其發(fā)送文件。

安裝Python環(huán)境和pip(如果您沒有):

apt-get install python3

apt-get install python3-dev

curl “https://bootstrap.pypa.io/get-pip.py” -o “get-pip.py”

python3 get-pip.py

安裝picocom:

apt-get install picocom

需要此程序才能連接到設(shè)備并在設(shè)備上執(zhí)行命令。

安裝mpfshell:

pip install mpfshell

此程序允許您發(fā)送文件添加到設(shè)備。

您也可以從源代碼安裝它。請(qǐng)參閱此頁(yè)面:https://github.com/wendlers/mpfshell

步驟3:準(zhǔn)備設(shè)備并連接到設(shè)備

要將 Moduino 或 Pycom 設(shè)備連接到PC,您需要 RS-232/RS-485端口或轉(zhuǎn)換器。檢查設(shè)備的版本(使用的端口類型)并找到合適的端口或轉(zhuǎn)換器。

將設(shè)備連接到PC

然后將電源連接到其上

將設(shè)備連接到PC,然后將電源連接到PC。您還可以將以太網(wǎng)電纜連接到Moduino ESP32(如果具有該端口)。

連接應(yīng)與上面的照片類似。

查找端口的路徑,用于設(shè)備連接。例如: /dev/ttyS1 , /dev/ttyUSB0 》。

對(duì)于USB轉(zhuǎn)換器,路徑將包含 USB 字。

您可以使用picocom程序連接到設(shè)備:

picocom /dev/ttyUSB0 -b 115200

設(shè)備的命令提示符類似于以下圖像之一。

Moduino ESP32:請(qǐng)參閱此處

Moduino Pycom:請(qǐng)參見此處

第4步:上傳Modbus主庫(kù)

https://github.com。 com/pycom/pycom-modbus/要與Modbus從站通信,您需要適當(dāng)?shù)膸?kù)。 Pycom的庫(kù)與Moduino不兼容。檢查符合您設(shè)備的說(shuō)明。

在發(fā)送文件之前關(guān)閉picocom :按 Ctrl + A ,然后按 Ctrl + X 鍵。

uModBus 庫(kù),用于 Moduino ESP32 ,該庫(kù)基于Moduino Pycom的pycom-modbus庫(kù)。修改為可在常規(guī)ESP32設(shè)備上使用。它還為連接器類提供了其他 close() 方法。

1)Moduino ESP32

從https://github.com/techbase123/micropython-modbus下載庫(kù)。解壓縮存檔并將所有4個(gè)文件發(fā)送到Moduino設(shè)備。

使用 mpfshell 上傳它們。在帶有該文件的目錄中運(yùn)行該程序。

通過(guò)執(zhí)行以下命令連接到設(shè)備: THIS

ttyUSB0 是串行端口的名稱,其中設(shè)備已連接。

使用以下命令將目錄更改為 /flash/lib :

cd /flash/lib

放入所有文件使用以下命令:

put uModBusConst.py

put uModBusFunctions.py

put uModBusTCP.py

put uModBusSerial.py

示例

然后使用 exit 命令退出控制臺(tái)并使用 重置 按鈕重新啟動(dòng)設(shè)備。

2)Moduino Pycom

從以下位置下載庫(kù)https://github.com/pycom/pycom-modbus/。解壓縮存檔并將uModbus目錄的內(nèi)容發(fā)送到設(shè)備。使用mpfshell上載它們。在帶有該文件的目錄中運(yùn)行該程序。

通過(guò)執(zhí)行以下命令連接到設(shè)備:

open ttyUSB0

ttyUSB0 是連接設(shè)備的串行端口的名稱。

將目錄更改為 /flash/lib ,創(chuàng)建uModbus目錄并使用以下命令輸入:

cd /flash/lib

md uModbus

cd uModbus

使用以下命令放入所有文件:

put const.py

put functions.py

put tcp.py

put serial.py

然后使用 exit 命令退出控制臺(tái),并通過(guò) 重置 重啟設(shè)備strong》按鈕。

示例

第5步:連接到網(wǎng)絡(luò)

Moduino和Pycom之間建立連接的命令有所不同。

使用picocom連接到設(shè)備以執(zhí)行適當(dāng)?shù)拿睢D梢酝ㄟ^(guò)有線或無(wú)線方式將Moduino設(shè)備連接到網(wǎng)絡(luò)。以下示例假定您的網(wǎng)絡(luò)具有可用的DHCP服務(wù)器。

在其他情況下,設(shè)備將無(wú)法獲得IP地址。每個(gè)Moduino均提供WiFi支持。

1)并非所有設(shè)備都具有以太網(wǎng)端口。

1)Moduino ESP32

連接到WiFi

在設(shè)備上執(zhí)行以下命令:

from netWiFi import netWiFi

wifi = netWiFi(netWiFi.WIFI_STA, ‘ESSID’, ‘PASS’)

wifi.start()

用您的WiFi網(wǎng)絡(luò)的名稱替換 ESSID ,并 PASS (帶有密碼)。

執(zhí)行 start() 一段時(shí)間后,您應(yīng)該獲得

連接到以太網(wǎng)絡(luò)

使用以太網(wǎng)電纜將設(shè)備連接到有線網(wǎng)絡(luò)。

然后執(zhí)行以下命令:

from netETH import netETH

eth = netETH()

eth.start()

執(zhí)行 start() 一段時(shí)間后,您應(yīng)該獲得分配給設(shè)備的IP地址。

2)Moduino Pycom

連接到WiFi

在設(shè)備上執(zhí)行以下命令:

from network import WLAN

wlan = WLAN(mode=WLAN.STA)

nets = wlan.scan()

for net in nets:

if net.ssid == ‘ESSID’:

print(‘Network found!’)

wlan.connect(net.ssid, auth=(net.sec, ‘PASS’), timeout=5000)

while not wlan.isconnected():

machine.idle()

print(‘WLAN connection succeeded!’)

break

將 ESSID 替換為您的WiFi網(wǎng)絡(luò)的名稱,并 PASS 帶有密碼。

步驟6:初始化與Modbus從站的通信

兩個(gè)設(shè)備的Modbus主站庫(kù)相似

它們的初始化方式不同。

1)在Moduino ESP32上初始化uModBus

執(zhí)行:

from uModBusTCP import uModBusTCP as TCP

2)在Pycom上初始化uModBus

執(zhí)行:

from uModbus.tcp import TCP

打開連接

然后通過(guò)以下方式打開連接:

modbus=TCP(‘IP’, PORT, 60)

其中:

IP-使用Modbus從站模擬器的PC的ip地址

PORT-Modbus Slave的端口

60超時(shí)

如果在執(zhí)行讀/寫命令期間發(fā)生以下錯(cuò)誤:示例

為 Moduino ESP32執(zhí)行:

modbus.close()

用于 Moduino Pycom :

modbus._sock.close()

,然后重新創(chuàng)建連接:

modbus=TCP(‘IP’, PORT, 60)

這對(duì)于在重新創(chuàng)建連接之前關(guān)閉套接字很重要。

設(shè)備限制了可用數(shù)量

第7步:讀取和寫入寄存器

Modbus支持幾種讀取和寫入寄存器的功能。

uModBus庫(kù)具有每個(gè)函數(shù)的方法:

read_coils

read_discrete_inputs

read_holding_registers

read_input_registers

write_single_coil

write_single_register

首先,讓我們寫一些值。

1)寫線圈(func:5 )

在從站1中將1的值寫入200寄存器中。

modbus.write_single_coil(1, 200, 0xFF00)

在我們的示例1中,第一個(gè)參數(shù)是從站ID。

第二個(gè)是寄存器號(hào),第三個(gè)是值。對(duì)于1,您必須在此處放置 0xFF00 。從從站1將0寫入201寄存器:

modbus.write_single_coil(1, 201, 0)

此方法僅允許寫入布爾值:0或1。

2)寫入寄存器(函數(shù): 6)

現(xiàn)在將一些整數(shù)值寫入幾個(gè)寄存器。

從從站1將有符號(hào)的111值寫入寄存器100:

modbus.write_single_register(1, 100, 111, True)

第一個(gè)參數(shù)是從設(shè)備ID,第二個(gè)寄存器號(hào),第三個(gè)是新值。

最后一個(gè)參數(shù)定義是否應(yīng)將值設(shè)置為有符號(hào)數(shù)。其默認(rèn)值為True。

從從站1將帶符號(hào)的-457值寫入101寄存器:

modbus.write_single_register(1, 101, -457)

從從站將未簽名的50值寫入100寄存器3:

modbus.write_single_register(3, 100, 50, False)

此方法允許將整數(shù)值寫入單個(gè)寄存器。

單個(gè)寄存器可以包含16位值。

方法返回 True 是有效的輸入值,而 False 是無(wú)效的值。即使無(wú)效(對(duì)于寄存器來(lái)說(shuō)太大),也會(huì)寫入值

3)讀取線圈/離散輸入

現(xiàn)在可以讀取寫入的布爾值。要讀取具有功能1的寄存器,請(qǐng)讀取 線圈 ,執(zhí)行:

modbus.read_coils(slaveId, register, count)[0:count]

要讀取具有功能1的寄存器,請(qǐng)讀取 離散輸入 ,執(zhí)行:

modbus.read_discrete_inputs(slaveId, register, count)[0:count]

其中:

slave-id-虛擬奴隸的ID(奴隸模擬器接受所有有效ID)

寄存器-讀取的寄存器編號(hào)

count-待讀取的寄存器數(shù)量(在兩個(gè)位置都放入所需的數(shù)量)

這些方法返回具有布爾值的數(shù)組。每個(gè)值對(duì)應(yīng)于每個(gè)寄存器。

需要以下片段: [0:count] ,因?yàn)榇朔椒ǚ祷氐闹刀嘤谟?jì)數(shù)。它總是返回可以被8整除的值的數(shù)量。其他值是False,并且不對(duì)應(yīng)于任何寄存器。

使用兩種方法讀取布爾值:

modbus.read_coils(1,200,2)[0:2]

modbus.read_discrete_inputs(1,200,2)[0:2]

結(jié)果將如下所示:示例

真 是指1個(gè)值, 假 設(shè)為0。

4)讀取寄存器

現(xiàn)在從用6個(gè)函數(shù)編寫的寄存器中讀取值。

要讀取具有功能3的寄存器 讀取保持寄存器 ,請(qǐng)執(zhí)行:

modbus.read_holding_registers(slaveId, register, count, signed=True)

要讀取具有功能4的寄存器 讀取輸入寄存器 ,執(zhí)行:

modbus.read_input_registers(slaveId, register, count, signed=True)

其中:

從站標(biāo)識(shí)-虛擬從站的標(biāo)識(shí)

寄存器-讀取的寄存器編號(hào)

count-待讀取的寄存器數(shù)量

帶符號(hào)-指示是否應(yīng)將讀取值視為帶符號(hào)的編號(hào)。默認(rèn)狀態(tài):True

返回值是具有所需寄存器數(shù)量的元組。

讀取先前設(shè)置的寄存器:

modbus.read_holding_registers(1,100,2,True)

modbus.read_input_registers(1,100,2,True)

modbus.read_holding_registers(3,100,1,F(xiàn)alse)

modbus.read_input_registers(3,100,1,F(xiàn)alse)

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3637

    瀏覽量

    93901
  • ESP32
    +關(guān)注

    關(guān)注

    18

    文章

    977

    瀏覽量

    17463
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    面向NXP i.MX8處理器的電源解決方案

    電子發(fā)燒友網(wǎng)站提供《面向NXP i.MX8處理器的電源解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 15:53 ?0次下載
    面向NXP i.MX8<b class='flag-5'>處理器</b>的電源解決方案

    SK-AM68處理器入門套件用戶指南

    電子發(fā)燒友網(wǎng)站提供《SK-AM68處理器入門套件用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-13 15:02 ?1次下載
    SK-AM68<b class='flag-5'>處理器</b>入門套件用戶指南

    AM69處理器入門套件用戶指南

    電子發(fā)燒友網(wǎng)站提供《AM69處理器入門套件用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-13 08:34 ?1次下載
    AM69<b class='flag-5'>處理器</b>入門套件用戶指南

    ADS8361與TMS470處理器的接口

    電子發(fā)燒友網(wǎng)站提供《ADS8361與TMS470處理器的接口.pdf》資料免費(fèi)下載
    發(fā)表于 10-22 10:13 ?0次下載
    ADS8361與TMS470<b class='flag-5'>處理器</b>的接口

    ADS786x與TMS470處理器的接口

    電子發(fā)燒友網(wǎng)站提供《ADS786x與TMS470處理器的接口.pdf》資料免費(fèi)下載
    發(fā)表于 10-22 10:11 ?0次下載
    ADS786x與TMS470<b class='flag-5'>處理器</b>的接口

    恩智浦i.MX8處理器的集成電源設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《恩智浦i.MX8處理器的集成電源設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-18 14:25 ?0次下載
    恩智浦i.MX8<b class='flag-5'>處理器</b>的集成電源設(shè)計(jì)

    基于全志V853處理器的智能輔助駕駛算法介紹

    全志V853處理器,是專為智慧視覺領(lǐng)域設(shè)計(jì)的AI處理器,配備了高效的NPU算力和豐富的外設(shè)接口,能夠提供穩(wěn)定的AI邊緣計(jì)算支持;同時(shí),基于V853處理器這一性能優(yōu)勢(shì),全志還為客戶提供了一整套完整的智能輔助駕駛算法。
    的頭像 發(fā)表于 09-14 09:23 ?839次閱讀
    基于全志V853<b class='flag-5'>處理器</b>的智能輔助駕駛算法介紹

    使用TPS6521815 PMICNXP i.MX 7處理器供電

    電子發(fā)燒友網(wǎng)站提供《使用TPS6521815 PMICNXP i.MX 7處理器供電.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:40 ?0次下載
    使用TPS6521815 PMIC<b class='flag-5'>為</b>NXP i.MX 7<b class='flag-5'>處理器</b>供電

    esp32esp8266代碼共用嗎

    本文介紹ESP32ESP8266兩款流行的微控制在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來(lái)越多的智能設(shè)備開始進(jìn)入我們的生活。其中,
    的頭像 發(fā)表于 08-19 18:23 ?1351次閱讀

    esp8266和esp32區(qū)別是什么

    以下是關(guān)于ESP8266和ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用一個(gè)Tensilica L106 80MHz的處理器
    的頭像 發(fā)表于 08-19 18:16 ?5818次閱讀

    esp32用什么軟件編程

    。 概述 ESP32具有豐富的外設(shè)接口和靈活的編程方式,支持多種編程語(yǔ)言和開發(fā)環(huán)境。本文詳細(xì)介紹ESP32
    的頭像 發(fā)表于 08-19 17:24 ?4124次閱讀

    ESP32-S3芯片賦能設(shè)備,打造智能交互新體驗(yàn)

    在物聯(lián)網(wǎng)和人工智能(AI)技術(shù)融合的浪潮中,樂鑫ESP32-S3芯片以其卓越的性能和多功能性,成為智能家居和工業(yè)自動(dòng)化領(lǐng)域的明星產(chǎn)品。ESP32-S3是一款基于XtensaLX7處理器的嵌入式系統(tǒng)級(jí)
    的頭像 發(fā)表于 06-28 08:04 ?1038次閱讀
    <b class='flag-5'>ESP32</b>-S3芯片賦能設(shè)備,打造智能交互新體驗(yàn)

    RK3568處理器硬件設(shè)計(jì)的要點(diǎn)及注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《RK3568處理器硬件設(shè)計(jì)的要點(diǎn)及注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 06-11 11:48 ?1次下載

    適用于ARM Cortex?—A53處理器A53處理器和FPGA的集成電源管理IC TPS65220數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于ARM Cortex?—A53處理器A53處理器和FPGA的集成電源管理IC TPS65220數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-27 10:04 ?0次下載
    適用于ARM Cortex?—A53<b class='flag-5'>處理器</b>A53<b class='flag-5'>處理器</b>和FPGA的集成電源管理IC TPS65220數(shù)據(jù)表

    M3芯片和i7處理器的區(qū)別

    M3芯片與i7處理器在多個(gè)方面存在顯著差異。
    的頭像 發(fā)表于 03-11 16:41 ?4007次閱讀
    主站蜘蛛池模板: 亚洲国产精品嫩草影院| 丰满艳妇亲伦| 99在线观看| 国产产乱码一二三区别免费| 国产美女影院| 久久在精品线影院精品国产| 欧美性XXXXX极品娇小| 午夜神器老司机高清无码| 尤物yw193can入口| WWW婷婷AV久久久影片| 国精产品一区一区三区有| 奶大B紧17p| 新版孕妇bbwbbwbbw| 最新精品学生国产自在现拍| 姑娘视频日本在线播放 | 成人国产AV精品久久久久| 国产亚洲欧美高清在线| 免费在线观看的毛片| 午夜福利免费院| 2019午夜福利757视频第12集| 俄罗斯性孕妇孕交| 久久精品动漫99精品动漫| 日本色呦呦| 又黄又肉到湿的爽文| 俄罗斯爱爱| 久青草国产在线观看视频| 天堂色| 90后性爱视频| 国产亚洲精品久久综合阿香蕉 | 国产一区二区不卡老阿姨| 男人脱女人衣服吃奶视频| 亚洲精品AV无码重口另类| 产传媒61国产免费| 久久视频精品3线视频在线观看| 思思99精品国产自在现线| 91精品在线国产| 含羞草免费完整视频在线观看| 全彩acg无翼乌火影忍者| 在线观看成人免费| 国产偷窥盗摄一区二区 | 九九热在线视频|