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

modbus-master-讀寫(xiě)

  • 通過(guò)modbus_tk模塊包實(shí)現(xiàn)各功能

modbus的應(yīng)用場(chǎng)景

作為master端,讀取機(jī)器人寄存器數(shù)據(jù)、往機(jī)器人寄存器中寫(xiě)入數(shù)據(jù)。

成都創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護(hù)公司|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋報(bào)廢汽車回收等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身開(kāi)發(fā)品質(zhì)網(wǎng)站。

作為master端的應(yīng)用

主要的方法
  • exec(slave=1, function_code=READ_HOLDING_REGISTERS, starting_address=0, quantity_of_x=0, output_value=0, data_format="", expected_length=-1)
參數(shù)說(shuō)明:
@slave=1 : identifier of the slave. from 1 to 247. 
@function_code=READ_HOLDING_REGISTERS:功能碼
@starting_address=100:寄存器的開(kāi)始地址
@quantity_of_x=3:寄存器/線圈的數(shù)量
@output_value:一個(gè)整數(shù)或可迭代的值:1/[1,1,1,0,0,1]/xrange(12)
@data_format:對(duì)接收的數(shù)據(jù)進(jìn)行格式化
@expected_length:(沒(méi)對(duì)這個(gè)設(shè)置過(guò))
例子

example 1:讀取寄存器數(shù)據(jù)

  • 讀取寄存器數(shù)據(jù)
  • 解釋一波:
    接收后返回的值,是元組,元組中值的個(gè)數(shù)由quantity_of_x決定。
    quantity_of_x最大值為127。
import modbus_tk.modbus_tcp as mt
import modbus_tk.defines as md

# 通過(guò)MODBUS方式獲取機(jī)器人心跳
# 需要有機(jī)器人的繼電器地址、端口號(hào),接收的數(shù)據(jù)格式內(nèi)容。
def heart_status():
    # 遠(yuǎn)程連接到slave端(從)
    ip = "127.0.0.1"
    port = 502

    master = mt.TcpMaster(ip, port)
    master.set_timeout(5.0)

    while True:
        # 獲取想要的寄存器的數(shù)據(jù)
        status = master.execute(slave=1, function_code=md.READ_HOLDING_REGISTERS, starting_address=0,
                                quantity_of_x=5)
        print("status== ", status)  # 結(jié)果是一個(gè)元組,里面有5個(gè)值,由quantity_of_x決定的

if __name__ == "__main__":
    heart_status()

example 2:向寄存器寫(xiě)入數(shù)據(jù)

  • 向寄存器寫(xiě)入數(shù)據(jù)
  • 解釋一波:
    starting_address: 向哪個(gè)寄存器寫(xiě)入數(shù)據(jù)的地址;多寫(xiě)的話就是開(kāi)始地址了;
    output_value: 為想要寫(xiě)入的值;
    data_format: 根據(jù)實(shí)際情況去更改。
def robot_on():
    ip = "127.0.0.1"
    port = 502

    # 向第9個(gè)寄線器的寫(xiě)入值,這里寫(xiě)入1
    master = mt.TcpMaster(modbus_ip, modbus_port)

    # WRITE_SINGLE_REGISTER寫(xiě)入的是單個(gè)寄存器,所以值是一個(gè),也可以寫(xiě)成[1]
    master.execute(1, md.WRITE_SINGLE_REGISTER, starting_address=9, output_value=1, data_format='BBBBB')  

if __name__ == '__main__':
    robot_on()
數(shù)據(jù)格式化

data_format的參考unpcak中的格式字符串內(nèi)容

modbus-master-讀寫(xiě)

網(wǎng)頁(yè)名稱:modbus-master-讀寫(xiě)
文章位置:http://www.chinadenli.net/article20/igphco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)網(wǎng)站導(dǎo)航做網(wǎng)站關(guān)鍵詞優(yōu)化ChatGPT標(biāo)簽優(yōu)化

廣告

聲明:本網(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)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)