Forschung zu einem AC-Servo-Bewegungssteuerungssystem auf Basis von Feldbus (CANbus) und Ethernet
2026-02-21 14:06:04··#1
Mit dem Fortschritt der Computertechnologie entwickeln sich AC-Servosysteme für die Bewegungssteuerung nach ihrer breiten Anwendung hin zur vernetzten Steuerung. Dieser Artikel beschreibt die Entwurfsprinzipien und Implementierungsmethoden eines vernetzten Servosteuerungssystems auf Basis von CAN-Bus und Ethernet und stellt den Hardware- und Softwareentwurf eines solchen Systems vor. Ethernet ist eine der gängigsten Lösungen für den Internetzugang von Feldbussen und löst das Problem des schwierigen Internetzugangs von Feldbussen, während gleichzeitig deren Vorteile genutzt werden. Ziel dieses Artikels ist der Internetzugang für CAN-Feldbusse. Basierend auf eingehender Forschung zum CAN- und TCP/IP-Protokoll wird ein Ethernet-CAN-Bus-Internet-Gateway entwickelt, um die Verbindung zwischen Ethernet und CAN-Bus herzustellen und so eine praktikable Methode zur Integration von Unternehmensinformations- und Steuerungsnetzen zu bieten. Die experimentellen Ergebnisse zeigen, dass das System eine hohe Regelgenauigkeit, schnelle Reaktionszeiten und einen stabilen Betrieb bei niedrigen Drehzahlen aufweist und zudem Vorteile wie einfache Anbindung, Systemzuverlässigkeit und einfache Implementierung bietet. 1. Einleitung Die Digitalisierung von Fertigungsunternehmen erfordert die Integration von Informations- und Steuerungsnetzen. Industrielle Netzwerke übertragen mehrschichtige Informationen, darunter Bit-, Byte- und Frame-Informationen, mit unterschiedlichen Anforderungen an Informationsvolumen, Reaktionszeit, Übertragungsgeschwindigkeit und Echtzeitfähigkeit. Verschiedene Feldbusse eignen sich für unterschiedliche Feldbedingungen, und die Wahl der Buslösung hängt von den jeweiligen Gegebenheiten ab. Ethernet kann zwar alle Funktionen erfüllen, ist aber wirtschaftlich nicht rentabel. Zudem ist Ethernet anfällig für Signalkollisionen, ein Problem, das in großen Systemen mit zahlreichen Kontrollpunkten verstärkt auftritt. Daher schlägt dieser Beitrag eine „Feldbus + Ethernet“-Lösung vor. Ethernet wird auf der Ebene des Unternehmensmanagements und der Produktionsüberwachung eingesetzt, während der CAN-Feldbus in den Werkstätten und Produktionsstätten verwendet wird. Ethernet ist eine der gängigsten Lösungen für den Internetzugang und nutzt die Vorteile des Feldbusses, während es gleichzeitig dessen Schwierigkeiten beim Internetzugang behebt. Der CAN-Bus ist ein serielles lokales Netzwerk, das verteilte oder Echtzeitsteuerung effektiv unterstützt. Aufgrund seiner hohen Leistung, Zuverlässigkeit, guten Echtzeitfähigkeit und seines einzigartigen Designs wird es häufig für die Datenkommunikation zwischen verschiedenen Detektions- und Aktormechanismen in Steuerungssystemen eingesetzt und erfreut sich zunehmender Beliebtheit im Bereich der industriellen Steuerungstechnik. AC-Servomotoren werden aufgrund ihrer kompakten Bauweise, einfachen Steuerung, ihres stabilen Betriebs und ihrer schnellen Reaktionszeit in wichtigen Branchen wie CNC-Werkzeugmaschinen eingesetzt. Die Datenübertragung und Steuerung über den CAN-Bus stabilisiert die Leistung von Servomotoren zusätzlich und ermöglicht eine bessere und flexiblere Anwendung in CNC-Systemen. Dieser Beitrag schlägt eine Ethernet-basierte CAN-Bus-Lösung vor, die Gerätevernetzung und Internetzugang kombiniert, die Lösung vereinfacht und die Verbindung zwischen Ethernet- und CAN-Bussen ermöglicht. 2. Architektur vernetzter Systeme: In der Forschung zu vernetzten Servoantrieben sind die USA, Deutschland und Japan technologisch führend. Die Forschung an AC-Servoantrieben in China begann relativ spät, und bisher wurden keine vernetzten AC-Servoprodukte auf den Markt gebracht. Dieser Beitrag untersucht ein vernetztes, volldigitales AC-Servoantriebssystem und entwickelt ein vernetztes AC-Servosteuerungssystem auf Basis von Ethernet- und CAN-Bussen. Die Ethernet-CAN-basierte Netzwerkarchitektur für AC-Servos ist in Abbildung 1 dargestellt. Das Steuerungssystem besteht aus einem PC, einem PC-basierten Ethernet-Informationsmanagement-Terminal, einem eingebetteten transparenten Gateway (Mehrachsen-Controller), AC-Servomotoren und AC-Servoantrieben mit CAN-Bus-Schnittstellen. Die Kernkomponenten sind ein eingebettetes transparentes Gateway (Mehrachsen-Controller) und ein volldigitaler AC-Servoantrieb mit CAN-Bus-Schnittstelle. Die Gesamtarchitektur des Systems ist in Abbildung 1 dargestellt: Abbildung 1: Architektur eines AC-Servoantriebssystems basierend auf CAN-Bus und Ethernet. Der CAN-Bus (Controller Area Network) ist ein Bus-basiertes Steuerungsnetzwerk zur Geräteverbindung. Bis zu 110 Geräteknoten können an den CAN-Bus angeschlossen werden und autonom miteinander kommunizieren, wodurch ein komplexes Netzwerksteuerungssystem realisiert wird. Die Geräteinformationsschicht kann jedoch nicht direkt die Informationsmanagementschicht erreichen; die Geräteinformationen müssen ein Datengateway durchlaufen, um in die Informationsmanagementschicht zu gelangen. Das eingebettete transparente Gateway des Mehrachsen-Controllers ist für diesen Zweck ausgelegt. Das transparente Gateway besteht aus drei Teilen: einem Kommunikationsprozessor, einem CAN-Bus-Controller und einem Ethernet-Controller. Der Kommunikationsprozessor ist der Kernprozessor, der die Protokollkonvertierung zwischen dem CAN-Steuerungsnetzwerk und Ethernet implementiert. Steuerbefehle der Ethernet-Informationsmanagementschicht werden an das eingebettete transparente Gateway gesendet. Dieses wandelt die TCP/IP-Protokollpaketdaten in das CAN-Protokollformat um und sendet sie an den entsprechenden Geräteknoten im CAN-Steuerungsnetzwerk. Damit ist die Steuerung der Feldgeräteschicht durch die Informationsmanagementschicht abgeschlossen. Ebenso können Gerätedaten (z. B. zeitgesteuerte Abtastdaten oder Alarminformationen) aus dem CAN-Netzwerk, die an die Informationsmanagementschicht übertragen werden müssen, an das eingebettete transparente Gateway gesendet werden. Das Gateway-Protokollkonvertierungsprogramm kapselt die CAN-Protokolldaten anschließend in TCP/IP-Protokoll-Ethernet-Datenframes und sendet diese an den Überwachungsrechner im Ethernet-Netzwerk. Das Ethernet-Informationsmanagement-Terminal ist eine Anwendungssoftware auf Benutzerebene, die gemäß den spezifischen Anforderungen des Benutzers entwickelt wird. Es kann sich um ein WIN32-Überwachungsprogramm oder eine Netzwerkdatenbank-Software (zur Aufzeichnung von CAN-Knoten-Gerätedaten) handeln; es kann sogar als Serversoftware für die CAN-Knoten-Geräte fungieren und eine komplexere Datenverarbeitung für die Geräte ermöglichen. 3 Systemhardware-Design In diesem Steuerungsmodus besteht die Systemhardware aus einem Host-PC, einer Netzwerkkarte (10/100M), einem Mehrachsen-Controller, einem AC-Servoregler mit CAN-Bus-Schnittstelle und einem AC-Servomotor. Abbildung 2 zeigt ein schematisches Diagramm der Systemhardware. Abbildung 2: Verteiltes Mehrachsen-Steuerungssystem basierend auf Ethernet und CAN-Bus Dieses Bewegungssteuerungssystem implementiert die Ethernet- und CAN-Bus-Steuerung über einen zentralen Controller (Mehrachsen-Controller). Die Kommunikation zwischen dem Mehrachsen-Controller und dem Host-PC erfolgt über Ethernet mittels des TCP/IP-Protokolls. Ein Mehrachsen-Controller kann als kleiner PC mit einem autonomen Steuerungssystem fungieren. Er kann auch als Gateway dienen und über TCP/IP mit Computern in einem Netzwerk zur Fernsteuerung kommunizieren. Darüber hinaus fungiert der Mehrachsen-Controller als Bewegungssteuerungsplatine mit integrierter CAN-Bus- und RS232-Schnittstelle, wodurch verschiedene Steuerungsmethoden ermöglicht werden. 3.1 Design der Busnetzwerk-Geräteschnittstelle Das Design der CAN-Bus-Netzwerk-Geräteschnittstelle ist einfacher als das Gateway-Design. Es erweitert die bestehende Gerätefunktionalität um einen CAN-Kommunikationscontroller-Schnittstellenchip und ermöglicht so die Verbindung zum CAN-Bus-Netzwerk. 3.2 Design des eingebetteten transparenten Gateways Das eingebettete transparente Gateway besteht aus zwei Teilen: einem CAN-Controller-Protokollkonvertierungsmodul und einem Ethernet-Controller-Protokollkonvertierungsmodul. Mit einem externen 100-MHz-Takt erreicht es eine Befehlsausführungsgeschwindigkeit von bis zu 100 MIPS. Es implementiert Netzwerkprotokolle des TCP/IP-Protokollstapels, wie z. B. ARP, IP, UDP, TCP, HTTP, SMTP und ICMP. Das CAN-Controller-Protokollkonvertierungsmodul besteht aus drei Komponenten: einem Mikrocontroller SX52, einem unabhängigen CAN-Kommunikationscontroller DS301 und einem CAN-Bus-Transceiver 82C250. Der SX52 ist der einzige CPU-Kern und initialisiert den DS301. Er ist außerdem für den Datenempfang, die Datenübertragung und die Fehlerbehandlung durch Lesen und Schreiben der internen Register des DS301 zuständig. Der PCA82C250 ermöglicht die differentielle Übertragung an den Bus und den differentiellen Empfang an den CAN-Controller. Das Ethernet-Controller-Protokollkonvertierungsmodul besteht im Wesentlichen aus dem Mikrocontroller SX52, dem Ethernet-Kommunikationscontroller RTL8019AS und dem Isolationsfilter FB2002. Der RTL8019AS ist ein hochintegrierter Vollduplex-10-Mbit/s-Ethernet-Steuerchip, der alle Funktionen der MAC-Schicht basierend auf dem Ethernet-Protokoll implementiert. Er verfügt über 16 KB integrierten SRAM, zwei DMA-Kanäle und einen FIFO-Speicher für den Empfang und die Übertragung von Datenpaketen. Der AT24C64 ist ein 8 KB großer EEPROM, der hauptsächlich zur Speicherung der Konfigurationsinformationen des eingebetteten transparenten SX52-Gateways dient, wie z. B. der Gateway-IP-Adresse, der DS402-Netzwerk-ID, der Netzwerk-Subnetzmaske (AMR) und des Bus-Timings. Dies ermöglicht eine flexible und komfortable Anpassung der Gateway-Parameter an unterschiedliche Umgebungen und berücksichtigt zukünftige Erweiterungen. Der FB2002-Isolationsfilter verbessert die Störfestigkeit der Netzwerkkommunikation. 4. Systemsoftware-Design: Das Software-Design des gesamten vernetzten Systems lässt sich in vier Teile gliedern: CAN-Bus-Geräteschnittstellen-Kommunikationsprogramm, Programm zur Konvertierung des transparenten Gateway-Protokolls und Anwendungsprogramm für die Ethernet-Schicht, Systemsteuerungsschnittstellen-Design und Maschinensteuerungs-Design auf niedrigerer Ebene. Unter diesen weisen das CAN-Bus-Geräteschnittstellen-Kommunikationsprogramm und das CAN-Controller-Protokollmodul des Programms zur Konvertierung des transparenten Gateway-Protokolls signifikante strukturelle Ähnlichkeiten auf. Die verwendeten Programmiersprachen können sich jedoch aufgrund unterschiedlicher Mikrocontroller unterscheiden. Daher werden sie hier nicht weiter behandelt, sondern die beiden letztgenannten Aspekte des Programmentwurfs werden hauptsächlich erörtert. 4.1 Programm zur Konvertierung des transparenten Gateway-Protokolls Das Gesamtkonzept des Programms zur Konvertierung des transparenten Gateway-Protokolls ist wie folgt: Wenn die Ethernet-Anwendungsschicht Daten an den CAN-Knoten senden möchte, werden diese zunächst an das transparente Gateway gesendet. Das Ethernet-Controller-Protokollmodul analysiert das vollständige CAN-Datenpaket aus der Transportschicht-Datennachricht, speichert es im Datenpuffer B und benachrichtigt das Hauptplanungsmodul. Dieses ruft daraufhin das CAN-Controller-Protokollmodul auf, um das CAN-Protokoll-Datenpaket an den CAN-Bus zu senden. Umgekehrt werden Daten, die ein CAN-Gerät an die Benutzerschicht senden möchte, zunächst an das transparente Gateway gesendet. Das CAN-Controller-Protokollmodul speichert das vollständige CAN-Protokoll-Datenpaket im Datenpuffer B und benachrichtigt das Hauptplanungsmodul. Dieses ruft daraufhin das Ethernet-Controller-Protokollkonvertierungsmodul auf, um das vollständige CAN-Protokoll-Datenpaket als Anwendungsschichtdaten zu kapseln, bevor es an die Ethernet-Anwendungsschicht gesendet wird. 4.1.1 CAN-Controller-Protokollmodul Das Programm des CAN-Controller-Protokollkonvertierungsmoduls besteht im Wesentlichen aus den Kommunikationsprogrammen des DS402: Driver::DriverConnect(), Driver::GetCanService(); dem Registerleseprogramm Driver::CANRead(); dem Registerschreibprogramm Driver::CANWrite(); dem Initialisierungsprogramm Driver::CANInit(); dem Sendeprogramm Driver::SendCommand(); und dem Empfangsprogramm Driver::GetInf(). Für den Aufbau des CAN-Bus-Steuerungsnetzwerks wird das CAN 2.0B-Protokoll verwendet. Die Initialisierung des DS402 umfasst im Wesentlichen die Konfiguration der Steuerregister CR, ACR, AMR, BTRO und OCR. Nach der Initialisierung überwacht das Hauptplanungsmodul den DS402-Controller. Wenn Daten auf dem CAN-Bus eintreffen, ruft das Hauptmodul die Empfangsroutine `Driver::GetInf()` auf, um das Datenpaket im Datenpuffer B zu speichern und diesen anschließend freizugeben. Befindet sich hingegen ein Datenpaket im CAN2.0B-Protokollformat im Datenpuffer A und soll an den CAN-Bus gesendet werden, ruft das Hauptmodul die CAN-Senderoutine `Driver::SendCommand()` auf. 4.1.2 Ethernet-Controller-Protokollkonvertierungsmodul: Im Programmstrukturdiagramm der transparenten Gateway-Protokollkonvertierung (Abbildung 3) ist das Ethernet-Controller-Protokollkonvertierungsmodul hauptsächlich für das Parsen der vollständigen CAN-Protokollnachricht aus dem UDP-Datenpaket und deren Speicherung im Datenpuffer A zuständig. Gleichzeitig kann es die vollständige CAN-Protokollnachricht im Datenpuffer B in ein UDP-Datagramm kapseln und dieses an das Ethernet senden. Die Verwendung des UDP-Protokolls auf der Transportschicht ergibt sich daraus, dass CAN-Protokoll-Datagramme im Kurzrahmenformat vorliegen (jeder Datenrahmen umfasst maximal 8 Byte). Wird das TCP-Transportprotokoll verwendet, muss zur Übertragung von 8 Byte CAN-Protokolldaten zunächst eine Verbindung über einen Drei-Wege-Handschlag hergestellt, dann die Daten übertragen und anschließend die Verbindung erneut durch einen Handschlag getrennt werden. Diese Übertragungseffizienz ist zweifellos eine Verschwendung der begrenzten Netzwerkressourcen. Das UDP-Übertragungsprotokoll ist unzuverlässig und für Steuerungsnetzwerke nicht zulässig. Um die Kommunikationszuverlässigkeit zu verbessern, wird ein Rückverifizierungsmechanismus eingesetzt. Abbildung 3: Strukturdiagramm des Programms zur Konvertierung des transparenten Gateway-Protokolls . 4.2 Software-Design des CAN-Bus-Feldknotens. Der intelligente CAN-Feldknoten, als Überwachungsknoten des CAN-Bus-Steuerungsnetzwerks, erfüllt im Wesentlichen folgende Aufgaben: ① Übertragung von Steuerbefehlen der übergeordneten Ebene an den AC-Servotreiber (Bassoon); ② Empfang von Steuerinformationen, die vom übergeordneten Rechner über Ethernet gesendet werden; ③ Empfang von Eingaben von Feldgeräten und entsprechende Verarbeitung. Eingangserkennung und Steuerausgabe erfolgen im AC-Servotreiber, während Kommunikationsfunktionen wie das Senden und Empfangen von Daten in der Interrupt-Service-Routine ausgeführt werden. CAN-Informationsübertragungsprogramm: Dieses Programm wird automatisch vom CAN-Controller ausgeführt. Der Benutzer muss lediglich die zu übertragenden Daten an den CAN-Sendepuffer senden. Der Knoten sendet in bestimmten Zeitabständen aktiv Informationen an das CAN-Netzwerk. CAN-Informationsempfangs- und -verarbeitungsprogramm: Dieses Programm wird ebenfalls automatisch vom CAN-Controller ausgeführt. Das Empfangsprogramm muss lediglich die empfangenen Daten aus dem Empfangspuffer lesen und die entsprechende Verarbeitung durchführen. Das Empfangsprogramm verwendet einen Interrupt-Modus, wodurch der Benutzer den Status des Knotens jederzeit bequem überwachen kann. (1) Softwareentwicklung des Host-Computers: Der CAN-Treiber stellt einen Verbindungskanal zwischen dem Systembus des PCs und dem CAN-Bus (seriell mit hoher Geschwindigkeit) bereit. Auf dem CAN-Treiber ist ein 2 KB großer Dual-Port-RAM mit hoher Geschwindigkeit für das PC-System eingerichtet und direkt dem Host-Speicherbereich zugeordnet, wodurch ein schneller Datenaustausch zwischen CAN und dem Host-PC ermöglicht wird. Das Kommunikationsprogramm des Host-Computers sollte folgende Funktionen haben: ① Zu Beginn des Programms sendet der Host-Computer zunächst per Broadcast-Verfahren einen Startbefehl an den Slave-Computer und anschließend die ersten Befehlsdaten in einem Frame. ② Nach dem Senden des ersten Befehls kann der Host-Computer weitere Daten verarbeiten. ③ Sobald der Slave-Computer ein Datenpaket vom Host-Computer empfängt, sendet er umgehend ebenfalls Daten an den Host-Computer. Abbildung 4 zeigt das Flussdiagramm der CAN-Bus-Signalsteuerung. Der Dateninhalt umfasst den tatsächlichen Motorbetrieb. Nach dem Eintreffen der Daten am Host-Computer nutzt dieser eine Interrupt-Routine, um die Daten vom Slave-Computer zu empfangen. Der Host-Computer ermittelt in Echtzeit die Position jedes Motors anhand des vom Slave-Computer übertragenen Datensignals, koordiniert dessen Bewegung entsprechend der voreingestellten Geschwindigkeit und sendet die entsprechenden Bewegungsbefehle nacheinander an den Slave-Computer. ④ Um den Betrieb des Slave-Computers zu stoppen, kann der Host-Computer über die Tastatur den Befehl „Stopp“ eingeben und diesen an den Slave-Computer senden. Abbildung 6-19: Flussdiagramm der CAN-Bus-Signalsteuerung (2) Entwicklung der Slave-Computer-Software: Die Zeitsteuerung des gesamten Systems erfolgt durch den Slave-Computer. Sobald der Slave-Computer den Startbefehl empfängt, beginnt er mit der Steuerung des Antriebsmechanismus. Die Taktperiode des Timers beträgt üblicherweise 2 ms. Innerhalb dieser 2 ms werden folgende Aufgaben ausgeführt: Datenempfang, A/D-Wandlung, Berechnung der Steuerungsstrategie, D/A-Wandlung und Datenübertragung an den Host-Rechner. Zusammenfassend lassen sich für die Erstellung des Controller-Programms folgende Punkte beachten: ① Nach Eingang des Befehls vom Host-Rechner beim Slave-Rechner wird dieser unterbrochen und ruft die Kommunikationsunterbrechungsroutine auf. Zunächst wird der Befehl des Host-Rechners verarbeitet, anschließend werden die entsprechenden Module (z. B. A/D-Wandlung, Steuerungsalgorithmus und D/A-Wandlung) ausgeführt und schließlich die benötigten Parameter an den Host-Rechner übermittelt. ② Die für die Datenübertragung verwendete Interrupt-Priorität ist höher als die des Timer-Interrupts, um die rechtzeitige Übermittlung der Anweisungen vom Host-Rechner an den Slave-Rechner zu gewährleisten. ③ Basierend auf dem Takt des Slave-Rechners sucht der Host-Rechner periodisch dessen Adresse, sendet Geschwindigkeits- und Positionsanweisungen und empfängt anschließend die benötigten Parameter. ④ Synchrone Steuerung wird erreicht. Abbildung 5 zeigt das Flussdiagramm des Slave-Computerprogramms der CAN-Software: 5. Fazit: Das in diesem Beitrag vorgestellte vernetzte AC-Servosteuerungssystem, das Ethernet und CAN-Bus kombiniert, eröffnet neue, vielversprechende Perspektiven für die vernetzte Forschung und Anwendung von AC-Servosystemen. Der CAN-Bus erfüllt die hohen Anforderungen von Feldbus-Bewegungssteuerungssystemen an Echtzeit-Reaktion. Gleichzeitig ermöglicht er eine gute Skalierbarkeit des Systems. Wird die Bewegungssteuerung mehrerer Achsen benötigt, genügt es, eine neue Bewegungssteuerungseinheit hinzuzufügen und diese als neuen CAN-Bus-Knoten an den CAN-Bus anzuschließen, um ein verteiltes Mehrachsen-Bewegungssteuerungssystem zu bilden. Darüber hinaus sind keine Hardware-Modifikationen an der ursprünglichen Bewegungssteuerungseinheit erforderlich, und die Erweiterungsdistanz ist unbegrenzt. Dies bildet eine solide Grundlage für die zukünftige Entwicklung von verteilten Mehrachsen- oder Mehrpunkt-Bewegungssteuerungsnetzwerken. Experimentelle Ergebnisse zeigen, dass auch bei geringer Achsenanzahl und relativ niedrigen Geschwindigkeiten eine gewisse Bearbeitungsqualität gewährleistet werden kann. In dieser Studie wurde eine 3- bis 4-Achsen-Verknüpfung realisiert; das Verfahren eignet sich auch für die Mehrachsen-Verknüpfung. Die Netzwerkleistung nimmt jedoch mit steigender Achsenanzahl ab. Die Literatur liefert ein Trenddiagramm der Veränderungen der Netzwerkleistungskennzahlen. Dieses zeigt, dass eine erhöhte Netzwerklast zu einer deutlichen Verlangsamung der Kommunikationsgeschwindigkeit führt und somit sowohl die Systemgenauigkeit als auch die Geschwindigkeit beeinträchtigt. Das auf Ethernet und CAN-Bus basierende verteilte Bewegungssteuerungssystem erfüllt die ursprünglichen Designanforderungen hinsichtlich Systemstabilität, Kosten und Bedienbarkeit und erzielt gute Ergebnisse.