Entwicklung einer Mehrkanal-Analog-SPS auf Basis eines eingebetteten SPS-Chipsatzes
2026-02-21 07:14:52··#1
Zusammenfassung: Dieser Artikel stellt einen neuen SPS-Entwicklungsprozess vor – die Entwicklung eingebetteter SPS. Eingebettete SPS sind anwendungsorientiert und ihre Hardware und Software sind an die Bedürfnisse und individuellen Anforderungen der Anwender anpassbar. Schlüsselwörter: Eingebettete SPS, Chipsatz, Systemsoftware, Kernel. Industrielle Steuerungsprodukte haben sich heutzutage so weit entwickelt, dass Personalisierung und Differenzierung im Vordergrund stehen. Traditionelle SPS-Produkte können den zunehmend segmentierten Marktanforderungen nicht mehr gerecht werden. Um dem zu begegnen, sind eingebettete SPS-Produkte entstanden. I. Eingebettete SPS: Eine eingebettete SPS integriert die SPS-Systemsoftware in einen Controller, passt die Hardware an die Steuerungsanforderungen der Anwender an und löst objektorientierte Steuerungsprobleme mithilfe von SPS-Anwendungsmethoden. Sie besteht aus zwei Teilen: der eingebetteten SPS-Systemsoftware und dem Chipsatz. 1. Eingebettete SPS-Systemsoftware : Die eingebettete SPS-Systemsoftware bettet die SPS-Sprache (Kontaktplansprache) und den CAN-Bus in den Mikrocontroller ein. Dadurch kann die Mikrocontroller-Produktentwicklung von Assemblersprache auf die SPS-Kontaktplansprache umgestellt werden und CAN-Bus-Verbindungsfunktionen werden bereitgestellt. Die Systemsoftware weist folgende Merkmale auf: 1. Sie verwendet die Kontaktplansprache als Kernel und fügt ein Interrupt-Management-System hinzu, wodurch ein Echtzeitbetrieb ermöglicht wird, den herkömmliche SPS nicht erreichen können. 2. Es erweitert die Rechenleistung durch zusätzliche CANBUS-Funktionsbibliotheken, Gleitkomma-Bibliotheken, Experten-PID-Regler mit Selbstoptimierung, integriertes Web usw. und erweitert so die Funktionen der SPS. 3. Es bietet eine offene Erweiterungsstruktur und unterstützt die Integration von Erweiterungseinheiten von Drittanbietern. 4. Es ermöglicht die Netzwerkverbindung und damit die Fernüberwachung nach dem Laden eines Browsers auf dem Remote-Rechner. Die Systemsoftware besteht aus drei Teilen: ① Eingebetteter SPS-Kern: Er übernimmt Basisfunktionen wie Echtzeit-Aufgabenplanung, Interpretation, Ausführung und Kommunikation in Kontaktplansprache und bietet eine Schnittstelle für die Entwicklung von Treibern. ② Treiberprogramm für die Entwicklung: Mithilfe externer Aufgaben der Systemsoftware werden verschiedene personalisierte Treiberprogramme auf Basis des Kernels entwickelt. ③ Terminalanwendungsprogramm: Dieses Programm dient der Prozessablaufsteuerung in Kontaktplansprache. 2. Der eingebettete SPS-Chipsatz EASY CORE 1.00 ist ein Kernchipsatz mit vorinstallierter Systemsoftware für eingebettete SPS. Als Hardwareplattform mit vorinstallierter Systemsoftware eignet er sich für die Entwicklung von Allzweck- und Spezial-SPS. 1) Chipsatz-Grundleistung: ① Stromversorgung: +5 V 200 mA, 5 Jahre RAM-Stromausfallschutz. ② CPU: C8051F040. ③ Integrierte Erweiterungsmöglichkeiten: ● 32 I/O: Wiederverwendbar als SPI, I2C-Schnittstelle, externer Interrupt, externer Zähler, AD usw. ● 4 AD: 12-Bit-Präzision, 100 kHz. ● 2 DA: 12-Bit-Präzision, 100 kHz. ④ Kommunikationsschnittstellen: ● CANBUS: Systemsoftware-Verwaltung, Aufbau eines CANBUS-Busnetzwerks mit der CANSet-Tool-Software. ● UART0: Systemsoftware-Verwaltung, verwendet für die SPS-Programmierung und -Überwachung, unterstützt HMI und Benutzertreiber-Download. ● UART1: Systemsoftware-Verwaltung, verwendet zum Herunterladen von CANBUS-Netzwerkparametern, Aufbau eines RS485-Netzwerks und Unterstützung der Anbindung von Geräten von Drittanbietern. 2) Chipsatz-Blockdiagramm: II. Anwendungsentwicklung. Basierend auf dem Kernchipsatz mit vorinstallierter Systemsoftware können wir eigene Embedded-SPS-Produkte gemäß den Prozessanforderungen entwickeln. Im Folgenden wird ein 16-Kanal-Analog-SPS-Produkt (mit Eingangssignalen für Standardsignale oder Thermoelementsignale) vorgestellt, das auf einem Embedded-SPS-Chipsatz basiert. 1. Hardware-Design. Das Gesamtdiagramm der Hardwarestruktur sieht wie folgt aus: AI0 ist ein AD-Wandlerkanal innerhalb des Chipsatzes. P1.0–P1.4 dienen als Kanalsteuerleitungen für Analogschalter zum Umschalten zwischen den 16 Analogsignalkanälen. (1) Die Signalerfassungsschaltung verwendet den hochpräzisen Verstärker OP07 der Firma AD zur Bildung einer Analogsignalverstärkungsschaltung. Der OP07 zeichnet sich durch eine niedrige Eingangs-Offsetspannung (10 µV), eine geringe Driftspannung (0,2 µV/°C) und einen weiten Versorgungsspannungsbereich (±3 V–±18 V) aus und erfüllt somit die Anforderungen dieses Produkts. Der OP07 wird mit ±5 V versorgt, und R18 und R79 dienen als Nullpunktkorrekturwiderstände. Die Ausgangsspannung ergibt sich aus folgender Formel: Vout = Vin (1 + R98/R56). (2) Die Signalauswahlschaltung verwendet einen 16-Kanal-Analogschalter CD4067. A, B, C, D und INH sind als Kanalauswahl-Steuersignale für den Analogschalter an die Pins P1.0–P1.4 des Chipsatzes angeschlossen. Der OUT-Pin ist mit AIN0 des Chipsatzes verbunden und dient als erster AD-Wandlungskanal. 2. Softwareentwicklung Die eingebettete SPS basiert auf dem Cygnal C8051f040-Chip. Die Entwicklung des Sekundärprogramms erfolgt daher in Assemblersprache C51. Als Compiler wurde KEIL C51 gewählt, da dieser die benötigte .HEX-Datei generieren kann. Der Kernel bietet sieben Benutzerschnittstellen für eingebettete Programme. Für die Entwicklung des Sekundärprogramms ist es erforderlich, die Funktionen jeder Schnittstelle vollständig zu verstehen. Kenntnisse in folgenden Bereichen sind notwendig: a. Kernelfunktionen b. Kernelstruktur c. Kernel-Task-Management d. Kernel-Speicherplatzverwaltung. [1] Seit die Systemsoftware die Funktionen der 232-, 485- und CAN-Kommunikation hinzugefügt hat, konzentriert sich die Entwicklung der sekundären Antriebssoftware der 16-Kanal-Analog-SPS hauptsächlich auf die AD-Wandlung analoger Größen und die Echtzeitaktualisierung der AD-Werte im SPS-Ressourcenbereich. (1) Programmplanung T4-Interrupt: AD-Wandlung und 16-Kanal-Umschaltprogramm abschließen. USER_SCAN: AD-Wert im SPS-Ressourcenbereich aktualisieren. Der AD-Wandlungsprozess ist wie folgt: Jeder Kanal wird 16 Mal kontinuierlich abgetastet. Nach der Abtastung wird die Summe gebildet, und dann wird die AD-Wandlung des nächsten Kanals gestartet. Der Aktualisierungsprozess des AD-Wertes im SPS-Ressourcenbereich ist wie folgt: Er wird am Ende des Leiterdiagramm-Scanzyklus durchgeführt. Die Summe der AD-Werte jedes Kanals wird gemittelt und an der entsprechenden Position im SPS-Ressourcenbereich gespeichert. (2) Programmcode INIT_AD: ;AD-Initialisierung MOV SFRPAGE, #ADC0_PAGE MOV REF0CN, #07H ;Interne Referenzspannung/Ausgang an VERF ;Internen Temperatursensor starten MOV AMX0CF, #00H ;Unipolarer Eingang MOV ADC0CF, #0B8H ;D7——D3=SYSCLK/Abtasttakt-1 ;Abtastkonvertierungstakt=1µs ;D2——D0=GAIN ;000 GAIN=1 MOV ADC0CN, #90H ;AD-Abtastung starten MOV AD_CHANNEL, #00H ;AD-Kanalnummer, Anfangswert ist 0 MOV AD_COUNT, #00H ;Anzahl der 16 Abtastwerte zählen. Anfangswert ist 0. RET SAMPLE_AD: ; AD-Abtastung startet. MOV SFRPAGE, #ADC0_PAGE ; AD-Steuerregisterseite. MOV A, AD_CHANNEL ; Die Summe der abgetasteten Werte ist eine Wortbasisadresse; ist #XAI, Offsetadresse ist AD_CHANNEL. RL A MOV DPTR, #XAI ; XAI speichert die Summe von 16 abgetasteten Werten. ADD A, DPL ; Addition des niederwertigen Bytes MOV DPL, A MOVX A, @DPTR MOV B, A MOV A, ADC0L CLR C ADDC A, B MOVX @DPTR, A INC DPTR ; Addition des höherwertigen Bytes MOVX A, @DPTR MOV B, A MOV A, ADC0H ANL A, #0FH ADDC A, B MOVX @DPTR, A ; #XAI speichert das niederwertige und das höherwertige Byte im Format. MOV SFRPAGE, #ADC0_PAGE ; Seite des AD-Steuerregisters. MOV ADC0CN, #090H ; Nächste AD-Abtastung starten INC AD_COUNT MOV A, AD_COUNT CLR C SUBB A, #16 JNC FILL_XAI_XAD ; Nach 16 Abtastungen die Summe der 16 Abtastwerte (2 Bytes) in XAD speichern RET 3. Treibereinbettung Kompilieren Sie das obige Programm in KEIL C51. Laden Sie die generierte .HEX-Datei mithilfe der Download-Software „DOWNHEX“ über die serielle Schnittstelle an die feste Adresse des Chipsatzes, damit der Kernel sie aufrufen kann. Damit ist die Entwicklung des sekundären Treibers abgeschlossen. Die Entwicklung der 16-Kanal-Analog-SPS ist damit im Wesentlichen abgeschlossen. III. Funktionsbeschreibung Der auf der eingebetteten SPS basierende Mehrkanal-Analognetzwerkknoten bietet folgende Funktionen: 1. Erfassung mehrerer Thermoelementsignale aus dem industriellen Bereich; 2. Unterstützung mehrerer Mensch-Maschine-Schnittstellen wie Mitsubishi und Delta; 3. Unterstützung der Kontaktplanprogrammierung (86 Befehle). 4. Unterstützung der CAN-Bus-Verbindung (Parallelbetrieb mehrerer Maschinen oder Anschluss von Erweiterungseinheiten) usw. Dieser Abschnitt stellt kurz die Anwendung der Kontaktplanfunktion dieses Netzwerkknotens vor. Die eingebettete SPS-Systemsoftware verfügt über eine integrierte Temperaturumrechnungsfunktion, die den dem Millivolt-Signal des Thermoelements entsprechenden AD-Wert in einen Temperaturwert umwandelt. Sie eignet sich für Thermoelement-Eingangssignale beliebiger Größenordnung und kann in verschiedenen Temperaturregelungsanwendungen eingesetzt werden. In Kombination mit einer PID-Regelung kann die geregelte Temperaturgenauigkeit ±1 °C erreichen. Das untenstehende Kontaktplanprogramm wandelt ein Thermoelementsignal in einen Temperaturwert um. Der AD-Wert dieses Signals wird in D5000 und der umgerechnete Temperaturwert in D5160 gespeichert. IV. Fazit Das Beispiel eines mit einem eingebetteten SPS-Chipsatz entwickelten SPS-Produkts zeigt, dass das entwickelte Produkt, basierend auf dem Prinzip der anpassbaren Hardware und Software, die individuellen Bedürfnisse der Anwender optimal erfüllt, Hardwarekosten spart, den Entwicklungszyklus verkürzt und viele leistungsstarke Funktionen bietet. Es ist zu erwarten, dass die Entwicklung dieser Technologie SPS-Hersteller zwangsläufig dazu veranlassen wird, immer mehr SPSen zu produzieren, die näher am Endmarkt liegen. Referenzen: 1. *Grundlagen und Anwendungen eingebetteter SPS*, Huangshi Kewei Automation Co., Ltd. 2. *Datenblatt C8051F040*, Shenyang Xinhualong Co., Ltd. 3. *EASY-Programmierhandbuch*, Huangshi Kewei Automation Co., Ltd. 4. *Benutzerhandbuch für die Entwicklungsumgebung KEIL C51*