python modbus 測試

2021-03-02 legendfly

python 需要安裝modbus_tk軟體包。

由於是測試,所以硬體都用程序虛擬了。串口用virtual serial port driver pro虛擬,modbus 從站用modbus slave虛擬。

1 虛擬串口

設備管理中出現兩個串口

 

2 建modbus slave

選擇虛擬串口,注意串口選的是com1->com2,在python中主站的串口應為com2. 

對子站進行配置 

修改保持寄存器內容 

3 程序如下:

import serialimport modbus_tk.defines as cstfrom modbus_tk import modbus_rtu

def mod(PORT = "com2"): red = [] alarm = "" try: master = modbus_rtu.RtuMaster(serial.Serial(port=PORT, baudrate=9600, bytesize=8, parity='N', stopbits=1)) master.set_timeout(5.0) master.set_verbose(True)
red = master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 10) alarm = "正常" return list(red), alarm
except Exception as exc: print(str(exc)) alarm = (str(exc))
return red, alarm if __name__ == "__main__": red, alarm = mod() if alarm == '正常': print(red)

程序執行正常,讀出了保持寄存器中的值。 

C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe D:/user/documents/railway/測力程序/modbus-test.py

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 Process finished with exit code 0

 modbus slave中通訊監視如下

 

4 結論

 測試順利。

相關焦點

  • 工業控制系統(ICS)安全專家必備的測試工具和安全資源
    mbtgetmbtget – 簡單的perl腳本,用於從命令行創建一些modbus事務。MiniCPSMiniCPS:新加坡科技與設計大學(SUTD)網絡物理系統安全研究工具包。MODBUS Penetration Testing Frameworksmod是一種模塊化的框架,可以用來測試modbus協議所需的各種診斷和攻擊功能。這是一個使用Python和Scapy的完整的Modbus協議實現。
  • 連載|想用Python做自動化測試?Python反射機制的應用
    is NikhilNikhil反射是另外一種操作對象屬性和方法的手段,例如:func = getattr(p, 'say_hi') func()print(getattr(p, "name"))上面這段代碼的輸出是:Hello, my name is NikhilNikhil
  • Python+requests接口自動化測試框架實例詳解教程
    ,由原來的web頁面功能測試轉變成接口測試,之前大多都是手工進行,利用postman和jmeter進行的接口測試,後來,組內有人講原先web自動化的測試框架移駕成接口的自動化框架,使用的是java語言,但對於一個學java,卻在學python的我來說,覺得python比起java更簡單些。
  • 乾貨|Python滲透測試工具庫
    資源大全:https://github.com/jobbole/awesome-python-cngit學習資料:https://github.com/xirong/my-git安卓開原始碼解析https://github.com/android-cn/android-open-projectpython框架,庫,資源大合集
  • python測試開發django-11.模型models詳解
    .# 我們新建了一個Person類,繼承自models.Model,class Person(models.Model):    name = models.CharField(max_length=30)    age = models.IntegerField()接著打開cmd,cd到django的根目錄,執行2個指令python manage.py makemigrations
  • Camera測試-- ITS測試
    每個測試的一般目標是按照所需的方式配置相機並捕獲一個或更多的照片,然後檢查這些照片,看看它們是否包含預期的圖像數據。許多在這些測試中,將要求照相機對著一個特定的目標圖或被照亮特定的強度。它的框架位於KitKat的Android原始碼的pdk/apps/區域版本,但是轉移到CTS驗證器測試裝具中(在原始碼的CTS /區域下)。
  • 自動化測試Python處理Excel小技巧,建議收藏
    「在自動化測試,尤其是接口自動化測試中,我們經常使用Excel做為數據驅動,那麼如何快速的操作Excel呢?4.注意:xlrd只能讀取excel,不能進行其它操作,且xlrd只能操作後綴為.xls的文件,如果操作後綴為.xlsx的文件,則會拋出異常Traceback (most recent call last):  File "/Users/TesterRoad/Documents/python
  • python測試開發django-180.docker-compose部署django+mysql環境
    docker-compose環境準備使用 python3 的 pip3 安裝 docker-compose 命令行工具pip3 install docker-compose安裝的版本Version: 1.29.2# pip3 show docker-composeName: docker-composeVersion
  • python測試開發django-104.form表單正則校驗(RegexValidator)
    error_messages中有』invalid』,會優先顯示這裡的提示 validators=[RegexValidator(r'^(\w)+$', '用戶名只能有字母數字下劃線組成!')], error_messages={ 'required': '用戶名不能為空', 'min_length': '用戶名不能少於3位字符',
  • 麥克風陣列信號測試:相位測試(python)
    對於麥克風陣列來講,N個麥克風之間信號是否有延遲
  • 1200PLC的Modbus(RTU)詳細說明(二)
    ④ 當Modbus RTU網絡中存在多個modbus RTU從站或一個modbus RTU從站同時需要讀操作和寫操作,則需要調用多個Modbus_Master指令,Modbus_Master指令之間需要採用輪詢方式調用。下圖14用於描述兩個Modbus_Master指令輪詢調用的方式。
  • Python|Pyinstaller打包Python程序的過程詳解
    Pyinstaller相比於同類的優勢:1)支持Python2.7, Python 3.3-3.62)生成的可執行文件字節數更小3)對第三方包的支持非常好,只需要將它們放到python的解釋器對應的文件夾中,Pyinstaller便可自動打包到最終生成的可執行文件中。
  • Python黑帽編程1.3 Python運行時與包管理工具
    由於原書很多地方過於簡略,筆者根據實際測試情況和最新的技術發展對內容做了大量的變更,當然最重要的是個人偏好。教程同時提供圖文和視頻教程兩種方式,供不同喜好的同學選擇。0.2 前言前兩節裡,我們完成了作業系統和工具的安裝。
  • Python數據分析實戰(2)Python,Anaconda安裝
    (3)Mac系統 自帶python 2.7,可以執行brew install python安裝新版本。3.環境變量配置Windows系統需要配置環境變量。包含調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制等功能。可以在https://www.jetbrains.com/pycharm/download/選擇合適的版本進行下載安裝即可。
  • 基於Python開發的NFuzz
    NFuzz本腳本程序僅為學習交流分享,請遵守《中華人民共和國網絡安全法》,勿用於非授權測試,如作他用所承受的法律責任一概與作者無關
  • 基於python的簡單人臉識別
    import sys#測試文件路徑包import face_recognition#人臉識別庫import cv2#人臉識別庫#from PIL import Image#img=Image.open('E:/python/time.jpg')#img.show()#測試讀取圖片image = face_recognition.load_image_file
  • 關於python安裝pip及crypto庫
    關於python安裝pip及crypto庫Capture The Flag (CTF) 常用到的crypto庫,有很多技術人員不知道怎麼安裝
  • Python安裝教程
    3.滑鼠右擊【python-3.9.2-amd64.exe】選擇【以管理員身份運行】。11.輸入【python】後按【Enter】鍵測試是否運行,若顯示當前python版本 【3.9.2】則表示安裝成功。
  • Locust性能測試工具的安裝及使用
    一、安裝Locust安裝Locust之前先安裝的庫:gevent庫:第三方庫,gevent為python提供了比較完善的協程支持
  • Python 標準庫系列之模塊介紹
    >>> simple.spam1模塊導入順序先在當前腳本目錄尋找有沒有與導入模塊名稱相同的文件,如果有就把這個文件當作模塊導入(據不完全統計,這是個坑,測試re模塊沒有問題,但是測試sys模塊就有問題了)查找模塊路徑下面有沒有對應的模塊名如果沒有找到模塊名就報錯import