亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

基于Python的ModbusTCP客戶端實現詳解

系統 2362 0

前言

Modbus協議是由Modicon公司(現在的施耐德電氣Schneider Electric)推出,主要建立在物理串口、以太網TCP/IP層之上,目前已經成為工業領域通信協議的業界標準,廣泛應用在工業電子設備之間的互聯。

Modbus Poll和Modbus Slave是兩款非常流行的Modbus設備仿真軟件,支持Modbus RTU/ASCII和Modbus TCP/IP協議 ,經常用于測試和調試Modbus設備,觀察Modbus通信過程中的各種報文。

當用于支持Modbus RTU/ASCII協議時,ModbusPoll作為一個主站設備, ModbusSlave作為一個從站設備,從站設備接收主站設備的命令并返回數據。而當用于支持Modbus TCP/IP時,ModbusSlave作為一個服務器, ModbusPoll作為一個客戶端,服務器接收客戶端的命令并返回數據。客戶端需要填寫指定連接的遠程服務器IP地址和端口號。

基于Python的ModbusTCP客戶端實現詳解_第1張圖片

這里主要介紹下用Python實現ModbusTCP客戶端功能,同時使用ModbusSlave模擬一個服務器,用于互聯調試。

基于Python的ModbusTCP客戶端實現詳解_第2張圖片

Python中提供了支持Modbus協議的第三方庫――modbus_tk,下載地址為:https://pypi.org/project/modbus_tk/。使用時需要先導入modbus_tk庫,然后簡單地依照Modbus協議配置參數即可。當實現客戶端功能時,需要配置如下參數:

slave:Modbus從站ID地址 。

function_code:寄存器的功能碼,主要的寄存器功能碼如下所示:

基于Python的ModbusTCP客戶端實現詳解_第3張圖片

starting_address:寄存器起始地址,從0開始。

quantity_of_x:寄存器連續個數。

output_value:寫命令時的數值。

Scan Rate:讀取數據的周期,程序中體現為執行 execute()方法的周期。

如下例程實現了01和03兩條命令讀取服務器的數據,如下所示:

            
import modbus_tk.modbus_tcp as mt
import modbus_tk.defines as md
# 遠程連接到服務器端
master = mt.TcpMaster("192.168.1.10", 502)
master.set_timeout(5.0)
# @slave=1 : identifier of the slave. from 1 to 247. 0為廣播所有的slave
# @function_code=READ_HOLDING_REGISTERS:功能碼
# @starting_address=1:開始地址
# @quantity_of_x=3:寄存器/線圈的數量
# @output_value:一個整數或可迭代的值:1/[1,1,1,0,0,1]/xrange(12)
# @data_format
# @expected_length
Hold_value = master.execute(slave=1, function_code=md.READ_HOLDING_REGISTERS, starting_address=1, quantity_of_x=3, output_value=5)
Hold_value = master.execute(slave=1, function_code=md.READ_HOLDING_REGISTERS, starting_address=1, quantity_of_x=3, output_value=5)
Coils_value = master.execute(slave=1, function_code=md.READ_COILS, starting_address=1, quantity_of_x=3, output_value=5)
print(Hold_value) # 取到的寄存器的值格式為元組(55, 12, 44)
print(Hold_value) # 取到的寄存器的值格式為元組(1, 1, 1)
          

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 曰曰鲁夜夜免费播放视频 | 久久久亚洲欧洲国产 | 亚洲精品欧美一区二区三区 | 日韩中文字幕精品免费一区 | 国产欧美日韩综合一区二区三区 | 亚洲综合一 | 欧美一级片 在线播放 | www.色在线观看 | 久久精品国产亚洲高清 | 亚洲狠狠婷婷综合久久久久 | 99热影院| 欧美性色xo在线 | 成人毛片免费观看视频在线 | 久久97精品久久久久久久看片 | 国产成人综合91精品 | 免费精品99久久国产综合精品 | 国产又色又爽又黄又刺激18 | 97久久久久国产精品嫩草影院 | 天天射美女 | 天天曰天天 | 欧美在线一 | 在线免费一级片 | 久久亚洲精品中文字幕三区 | 久久国产精品高清一区二区三区 | 69精品在线观看 | 欧美亚洲另类综合 | 另类 欧美 视频二区 | 香蕉成人在线视频 | 亚洲乱人伦在线 | 天天干天天拍天天射天天添天天爱 | 国内精品久久久久久麻豆 | 91免费在线 | 亚洲国产成人久久一区www妖精 | 色八戒国产一区二区三区四区 | 亚洲激情一区 | 久久久受www免费人成 | 一级毛片人与动免费观看 | 成人欧美一区二区三区在线 | 午夜在线一区 | www.男人的天堂.com | 国产中文字幕久久 |