欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Python培訓(xùn)教程:基于Python的ModbusTCP客戶端實(shí)現(xiàn)

Python培訓(xùn)教程:基于Python的ModbusTCP客戶端實(shí)現(xiàn)

Modbus協(xié)議是由Modicon公司(現(xiàn)在的施耐德電氣Schneider Electric)推出,主要建立在物理串口、以太網(wǎng)TCP/IP層之上,目前已經(jīng)成為工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標(biāo)準(zhǔn),廣泛應(yīng)用在工業(yè)電子設(shè)備之間的互聯(lián)。

成都創(chuàng)新互聯(lián)是專(zhuān)業(yè)的濱州網(wǎng)站建設(shè)公司,濱州接單;提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行濱州網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

Modbus Poll和Modbus Slave是兩款非常流行的Modbus設(shè)備仿真軟件,支持Modbus RTU/ASCII和Modbus TCP/IP協(xié)議 ,經(jīng)常用于測(cè)試和調(diào)試Modbus設(shè)備,觀察Modbus通信過(guò)程中的各種報(bào)文。

當(dāng)用于支持Modbus RTU/ASCII協(xié)議時(shí),ModbusPoll作為一個(gè)主站設(shè)備, ModbusSlave作為一個(gè)從站設(shè)備,從站設(shè)備接收主站設(shè)備的命令并返回?cái)?shù)據(jù)。而當(dāng)用于支持Modbus TCP/IP時(shí),ModbusSlave作為一個(gè)服務(wù)器, ModbusPoll作為一個(gè)客戶端,服務(wù)器接收客戶端的命令并返回?cái)?shù)據(jù)。客戶端需要填寫(xiě)指定連接的遠(yuǎn)程服務(wù)器IP地址和端口號(hào)。

Python培訓(xùn)教程:基于Python的ModbusTCP客戶端實(shí)現(xiàn)

這里主要介紹下用Python實(shí)現(xiàn)ModbusTCP客戶端功能,同時(shí)使用ModbusSlave模擬一個(gè)服務(wù)器,用于互聯(lián)調(diào)試。

Python培訓(xùn)教程:基于Python的ModbusTCP客戶端實(shí)現(xiàn)

Python中提供了支持Modbus協(xié)議的第三方庫(kù)——modbus_tk,下載地址為:https://pypi.org/project/modbus_tk/。使用時(shí)需要先導(dǎo)入modbus_tk庫(kù),然后簡(jiǎn)單地依照Modbus協(xié)議配置參數(shù)即可。當(dāng)實(shí)現(xiàn)客戶端功能時(shí),需要配置如下參數(shù):

slave:Modbus從站ID地址 。

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

Python培訓(xùn)教程:基于Python的ModbusTCP客戶端實(shí)現(xiàn)

starting_address:寄存器起始地址,從0開(kāi)始。

quantity_of_x:寄存器連續(xù)個(gè)數(shù)。

output_value:寫(xiě)命令時(shí)的數(shù)值。

Scan Rate:讀取數(shù)據(jù)的周期,程序中體現(xiàn)為執(zhí)行 execute()方法的周期。

如下例程實(shí)現(xiàn)了01和03兩條命令讀取服務(wù)器的數(shù)據(jù),如下所示:

import modbus_tk.modbus_tcp as mt
import modbus_tk.defines as md
# 遠(yuǎn)程連接到服務(wù)器端
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:開(kāi)始地址
# @quantity_of_x=3:寄存器/線圈的數(shù)量
# @output_value:一個(gè)整數(shù)或可迭代的值: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)

更多的Python學(xué)習(xí)教程也會(huì)慢慢給大家更新!

分享題目:Python培訓(xùn)教程:基于Python的ModbusTCP客戶端實(shí)現(xiàn)
網(wǎng)址分享:http://www.chinadenli.net/article32/joegsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)網(wǎng)站設(shè)計(jì)軟件開(kāi)發(fā)網(wǎng)站導(dǎo)航小程序開(kāi)發(fā)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化