Entwurf eines Drehzahlregelungssystems mit variabler Frequenz auf Basis des MODBUS-Busses
2026-02-21 14:07:25··#1
Zusammenfassung: Dieser Artikel behandelt die Anwendung des MODBUS-Busses in Frequenzumrichtersystemen. Die grundlegenden Spezifikationen des MODBUS-Kommunikationsprotokolls werden vorgestellt und die Frequenzumrichtertechnologie in Motorsteuerungssystemen kurz beschrieben. Basierend auf dem Yaskawa-Wechselrichter VS606-V7 und dem Mikrocontroller 89S52 wurde ein Frequenzumrichtersystem mit MODBUS-Kommunikation entwickelt. Die Hardwarekonfiguration und die zugehörige Softwareentwicklung des Systems werden erläutert. Schlüsselwörter: MODBUS, Frequenzumrichtersystem. Einleitung: Moderne industrielle Automatisierungssysteme entwickeln sich hin zu Intelligenz, Vernetzung und offener Architektur. Durch die Nutzung der Feldbustechnologie zur Vereinheitlichung verschiedener intelligenter Geräte nach demselben Standard wird eine vollständig dezentrale Steuerung des gesamten Überwachungssystems realisiert. Dies verbessert die Systemintegration und die Datenübertragungseffizienz, erhöht die effektive Steuerungsreichweite, verbessert die Störfestigkeit und erweitert die Systemfunktionalität. In der Anlagensteuerung hat sich die Frequenzumrichtertechnologie zu einem wichtigen Entwicklungsfeld moderner Motorsteuerungstechnik entwickelt. Die Vereinheitlichung der Buskommunikation mit der Frequenzumrichtertechnologie wird die Entwicklung der Gruppensteuerung von Wechselstrommotoren und der Fernüberwachung von Anlagen fördern. 1. Technische Merkmale von MODBUS-Bus-Steuerungssystemen Das MODBUS-Kommunikationsprotokoll ist ein industrielles Feldbus-Kommunikationsprotokoll. Es definiert eine Informationsrahmenstruktur, die von Gerätesteuerungen unabhängig vom physikalischen Medium erkannt und verwendet werden kann und in verschiedenen Netzwerktypen einsetzbar ist. Das MODBUS-Protokoll definiert Kommunikationsteilnehmer als „Master“ und „Slave“. Die Daten- und Informationskommunikation erfolgt im Master/Slave-Modus. In einem Standard-MODBUS-Netzwerk werden Informationen direkt übertragen. Die verschiedenen intelligenten Geräte in einem MODBUS-Bus-Netzwerk sind über einen asynchronen seriellen Bus verbunden. Nur eine Steuerung kann als Master fungieren, die übrigen intelligenten Geräte als Slaves. Es wird ein Befehls-Antwort-Kommunikationsverfahren verwendet. Der Master sendet eine Anfrage, und der Slave antwortet mit Daten oder Statusinformationen. Slaves können nicht selbst Informationen senden. Die verschiedenen vom MODBUS-Protokoll definierten Informationsrahmenformate beschreiben den Zugriff des Master-Controllers auf Slave-Geräte, legen fest, wie der Slave antwortet und wie Übertragungsfehler geprüft und gemeldet werden. Jedem Slave-Gerät im Netzwerk muss eine eindeutige Adresse zugewiesen werden. Nur Slave-Geräte, die die Adressanforderungen erfüllen, reagieren auf Befehle des Master-Geräts. Aufgrund seiner geringen Entwicklungskosten, der einfachen Handhabung und der Tatsache, dass viele industrielle Steuerungen, SPSen, Frequenzumrichter und Displays mittlerweile über MODBUS-Schnittstellen verfügen, hat sich MODBUS als anerkannter Kommunikationsstandard etabliert. Über den MODBUS-Bus lassen sich Steuergeräte verschiedener Hersteller problemlos zu einem industriellen Netzwerk für die zentrale Überwachung verbinden. Ursprünglich für die SPS-Kommunikation entwickelt, verwendet MODBUS 24 Busbefehle für den Informationsaustausch zwischen der SPS und der Außenwelt. Diese Busbefehle entsprechen primär der AI/AO- und DI/DO-Datenübertragung. Viele MODBUS-Geräte nutzen jedoch nur einige dieser Befehle und reagieren nicht auf die übrigen. 1.1 MODBUS-Kommunikationsformat Das MODBUS-Protokoll definiert zwei Übertragungsmodi: RTU (Remote Terminal Unit) und ASCII. Im RTU-Modus wird ein Byte als 8-Bit-Zeichen gesendet, im ASCII-Modus als zwei ASCII-Zeichen. Beispielsweise wird das Zeichen „20“ im RTU-Modus als „00100000“ gesendet, im ASCII-Modus hingegen als „00110010“ + „00110000“ (ASCII-Zeichen „2“ und „0“). Daher ist der RTU-Modus bei gleicher Datenmenge etwa doppelt so effizient wie der ASCII-Modus. Im Allgemeinen wird ASCII verwendet, wenn das Datenvolumen gering und hauptsächlich Text ist; der RTU-Modus kommt häufiger zum Einsatz, wenn das Kommunikationsdatenvolumen groß ist und aus Binärwerten besteht. 1.2 Implementierung der CRC-Prüfung: Im RTU-Modus der MODBUS-Kommunikation werden die letzten beiden Bytes des Informationsrahmens für die Übertragung des CRC-Codes (Cyclic Redundancy Check) verwendet. Der Sender verschiebt alle Bytes des Adressfelds, des Funktionscodes und des Datenfelds im Informationsrahmen nach einem festgelegten Verfahren und führt eine XOR-Berechnung (exklusives ODER) durch, um einen 2-Byte-CRC-Code zu erhalten. Anschließend wird der Informationsrahmen mit der CRC-Prüfsumme als kontinuierlicher Datenstrom übertragen. Wenn der Empfänger den Informationsrahmen empfängt, führt er dieselbe Berechnung durch und vergleicht das Ergebnis mit dem empfangenen Zwei-Byte-CRC-Code. Stimmen die Werte überein, gilt die Kommunikation als korrekt; andernfalls gilt sie als fehlerhaft, und die Slave-Station sendet eine CRC-Fehlerantwort. Im RTU-Modus wird üblicherweise die CRC-16-Redundanzprüfung verwendet. Die CRC-16-Prüfsumme ist 16 Bit (2 Byte) lang, wobei das niederwertige Byte am Anfang und das höherwertige Byte am Ende steht. Es gibt zwei Methoden zur Implementierung der CRC-Prüfsumme: die Berechnung anhand der CRC-Prüfsummenformel oder die Erstellung einer CRC-Prüfsummentabelle im Programm. Erstere ist einfacher zu implementieren und erfordert die Verwendung des CRC-Generatorpolynoms X¹⁶ + X¹⁵ + X² + 1. Die diesem Polynom entsprechenden Codegruppenkoeffizienten sind 18005H (hexadezimal). Nach Entfernen des höchstwertigen Bits ergibt sich ein 16-Bit-Rest von 8005H, der CRC-16-Konstante. Die CRC-16-Prüfsummenberechnung läuft wie folgt ab: Jedes Bit des CRC-Registers wird auf 1 gesetzt. Der Registerwert wird mit den 8-Bit-Daten des Informationsrahmens per XOR verknüpft, und das Ergebnis wird im Register gespeichert. Anschließend wird das CRC-Register von High nach Low verschoben, wobei das höchstwertige Bit (MSB) mit Null aufgefüllt wird. Das niederwertigste Bit (LSB, das aus dem CRC-Register verschoben wurde) wird, falls es 1 ist, mit der CRC-16-Konstante per XOR verknüpft; andernfalls, falls das LSB 0 ist, ist keine XOR-Verknüpfung erforderlich. Dieser Verschiebungsprozess wird achtmal wiederholt. Nach der Verarbeitung der ersten 8 Datenbits wird der Registerwert mit den nächsten 8 Datenbits per XOR verknüpft, und der gleiche Verschiebungsprozess wird achtmal wiederholt. Nach der Verarbeitung aller Zeichen enthält das CRC-Register den endgültigen CRC-Wert. Beim Hinzufügen der CRC-Prüfsumme zur Nachricht wird zuerst das niederwertige Byte, dann das höherwertige Byte addiert. 2. Grundprinzipien der Frequenzumrichterregelung. Gemäß den Prinzipien der Motortheorie lautet die Formel für die Drehzahl eines Wechselstrommotors: n = (1-s)n₀ = 60f(1-s)/p. Dabei ist n die Motordrehzahl, n₀ die Synchrondrehzahl, f die Netzfrequenz, p die Polpaarzahl des Motors und s der Schlupf. Aus der obigen Formel geht hervor, dass die Rotordrehzahl n des Motors bei konstantem p und Schlupf s direkt proportional zur Stator-Netzfrequenz f ist. Durch kontinuierliche Änderung der Netzfrequenz des Asynchronmotors lässt sich die Motordrehzahl stufenlos und gleichmäßig einstellen. Dies ist das Funktionsprinzip eines Frequenzumrichters. Standard-Frequenzumrichter arbeiten im Wesentlichen mit der V/f-Regelung. Dabei werden Frequenz F und Amplitude U der Ausgangsspannung des Frequenzumrichters gleichzeitig geregelt, um ein konstantes V/f-Verhältnis zu gewährleisten. Im Betrieb realisiert der Hauptschaltkreis des Frequenzumrichters die AC-DC-AC-Wandlung. Der interne Mikrocontroller passt die PWM-Ausgangsfrequenz entsprechend dem Feldeinstellungssignal an. Er steuert die Einschaltzeit des MOSFET-Transistors, ändert die Ausgangsfrequenz des Hauptstromkreises und regelt so die Motordrehzahl. Der Frequenzumrichter verfügt über umfassende Schutzfunktionen wie Überstrom-, Überspannungs-, Unterspannungs-, Überhitzungs- und Überlastschutz. Bei einem Motorstillstand schaltet der Frequenzumrichter zuverlässig ab, um den Motor zu schützen. Der Frequenzumrichter speichert jeden Fehler, sodass Bediener den letzten Fehler zur Analyse aufzeichnen können. Viele Frequenzumrichter verfügen heutzutage über eine PID-Regelung, empfangen Drehzahlsensorsignale und führen intern eine Regelung im geschlossenen Regelkreis durch. 3. Fazit: Wir haben das in dieser Arbeit entwickelte, MODBUS-Bus-gesteuerte System zur Drehzahlregelung mit variabler Frequenz in einer automatischen Mondkuchen-Abfüllanlage eingesetzt. In dieser Anlage steuert ein Controller mit einem Mikrocontroller als Kern vier V7-Frequenzumrichter über den MODBUS-Bus. Diese vier Frequenzumrichter steuern über einen Drehzahländerungsmechanismus und Motoren jeweils die Menge der äußeren und inneren Füllung, das Hautvolumen und die Schließfrequenz der Schneidscheibe jedes Mondkuchens. Die Praxis hat gezeigt, dass die Anwendung von MODBUS-Buskommunikation, variabler Frequenzsteuerung und LCD-Display-Technologie die Anzahl der Leitungen im Steuerungssystem reduziert, die Systemintegration und -zuverlässigkeit verbessert, eine flexible Anpassung der Mondkuchenzutaten in einem weiten Bereich ermöglicht und die benutzerfreundliche Oberfläche die Betriebsleistung der Anlagen deutlich steigert und die Wettbewerbsfähigkeit der Produkte auf dem Markt erhöht. Daher ist die direkte Nutzung des MODBUS-Protokolls für die Netzwerküberwachung ein guter Weg, um kostengünstige und leistungsstarke Steuerungssysteme für mechanische Anlagen zu realisieren.