PyTool Modbus ist ein großartiges Werkzeug zum Entwickeln, Debuggen und Überwachen von Modbus.
Es verfügt über Python-Skriptfunktionen, die Ihnen die größte Flexibilität bieten.
Warum ist die Skriptfähigkeit für das Modbus-Tool wünschenswert?
Elektroingenieure finden es praktisch, ein tragbares Gerät wie ein Android-Telefon oder -Tablet zu verwenden, um die Modbus-Kommunikation im Feld, in der Fabrik oder im Labor zu debuggen oder zu überwachen.
Aber fast jedes Modbus-Kommunikationssystem hat sein eigenes Datenformat.
In einem Meer von Hex-Daten wie "02a5b4ca....ff000803" zu suchen und herauszufinden, was passiert, ist überhaupt nicht angenehm.
Hier hilft PyTool Modbus.
Mit der Möglichkeit, ein benutzerdefiniertes Python-Skript auszuführen, kann PyTool Modbus alle empfangenen Daten lesen und analysieren, sie nach Ihren Wünschen anzeigen und bei Bedarf sogar entsprechend reagieren.
Es gibt Skriptbeispiele für den Schnellstart. Kopieren Sie einfach eine davon und fügen Sie sie ein, um sie auszuprobieren.
Es gibt auch eine praktische Modbus-Steuerungsschnittstelle für den allgemeinen Gebrauch.
Es unterstützt serielle Hauptstream-USB-Treiber, einschließlich:
FTDI-Treiber
CDC ACM-Treiber
CP210x-Treiber
CH34x-Treiber
PL2303-Treiber
Allgemeines Skripthandbuch
=================
* Die in dieser App verwendete Python-Version ist 3.8.
* Diese App ist nicht als Skripteditor konzipiert, obwohl das Skript im Skriptfeld bearbeitet werden kann.
Der beste Weg ist, Ihren bevorzugten Skripteditor zu verwenden und dann das Skript zu kopieren und einzufügen.
* Verwenden Sie immer 4 Leerzeichen für den Einzug, um seltsame Fehler zu vermeiden.
* Die meisten Pakete in der Standard-Python-Bibliothek können importiert werden.
* Wenn eine while-Schleife benötigt wird, verwenden Sie immer `app.running_script` als Bedingung, um das Skript ordnungsgemäß zu stoppen.
* Verwenden Sie `app.version`, um die Zeichenfolge der App-Version abzurufen.
* Verwenden Sie `app.get_output()`, um das Skriptausgabefeld als String zu erhalten.
* Verwenden Sie `app.set_output(object)` um `object` im Skriptausgabefeld als String anzuzeigen.
* Verwenden Sie `app.print_text(object)` als Abkürzung für `app.set_output(app.get_output() + str(object))`, um Text an das Skriptausgabefeld anzuhängen.
* Verwenden Sie `app.clear_text()` als Verknüpfung für `app.set_output("")`, um das Skriptausgabefeld zu löschen.
* Verwenden Sie `app.fc01_read_coils(mbid, addr, num)`, um die Anforderung des Funktionscodes 01 zu senden.
mbid (int): Modbus-ID
addr (int): Datenadresse
num (int): Anzahl der Daten
return (list of int): Liste der angeforderten Daten
* Verwenden Sie `app.fc02_read_discrete_inputs(mbid, addr, num)`, um die Anforderung des Funktionscodes 02 zu senden.
mbid (int): Modbus-ID
addr (int): Datenadresse
num (int): Anzahl der Daten
return (list of int): Liste der angeforderten Daten
* Verwenden Sie `app.fc03_read_holding_registers(mbid, addr, num)`, um die Anforderung des Funktionscodes 03 zu senden.
mbid (int): Modbus-ID
addr (int): Datenadresse
num (int): Anzahl der Daten
return (list of int): Liste der angeforderten Daten
* Verwenden Sie `app.fc04_read_input_registers(mbid, addr, num)`, um die Anforderung des Funktionscodes 04 zu senden.
mbid (int): Modbus-ID
addr (int): Datenadresse
num (int): Anzahl der Daten
return (list of int): Liste der angeforderten Daten
* Verwenden Sie `app.fc05_write_single_coil(mbid, addr, val)`, um die Anforderung des Funktionscodes 05 zu senden.
mbid (int): Modbus-ID
addr (int): Datenadresse
val (int): Datenwert
return (int): Anzahl der Daten (immer 1)
* Verwenden Sie `app.fc06_write_single_register(mbid, addr, val)`, um die Anforderung des Funktionscodes 06 zu senden.
mbid (int): Modbus-ID
addr (int): Datenadresse
val (int): Datenwert
return (int): Anzahl der Daten (immer 1)
* Verwenden Sie `app.fc15_write_multiple_coils(mbid, addr, vals)`, um die Anforderung des Funktionscodes 15 zu senden.
mbid (int): Modbus-ID
addr (int): Datenadresse
vals (Liste von int): Datenwertliste
return (int): Anzahl der Daten
* Verwenden Sie `app.fc16_write_multiple_registers(mbid, addr, vals)`, um die Anforderung des Funktionscodes 16 zu senden.
mbid (int): Modbus-ID
addr (int): Datenadresse
vals (Liste von int): Datenwertliste
return (int): Anzahl der Daten
* Verwenden Sie `app.msg_out` und `app.msg_in`, um Anforderungs- und Antwortnachrichten zu überprüfen.
* Verwenden Sie `app.log_file(text)`, um eine Protokolldatei im Speicher zu speichern.
Die Protokolldatei befindet sich hier [Speicherverzeichnis]/PyToolModbus/log_[UTC-Zeitstempel].txt.
text (str): Textinhalt
return (str): Vollständiger Dateipfad
Aktualisiert am
04.07.2021