137 lines
5.5 KiB
Markdown
137 lines
5.5 KiB
Markdown
# CC100 Hardware
|
|
|
|
> Status: Implementiert fuer den WAGO Compact Controller 100, Artikel 751-9301,
|
|
> mit IP-Symcon ab Version 8.0.
|
|
|
|
Das Modul bindet die komplette Onboard-I/O des CC100 direkt ueber die von WAGO
|
|
dokumentierten Linux-Schnittstellen an:
|
|
|
|
- 8 digitale Eingaenge (DI)
|
|
- 4 digitale Ausgaenge (DO)
|
|
- 2 analoge Eingaenge 0 bis 10 V (AI)
|
|
- 2 analoge Ausgaenge 0 bis 10 V (AO)
|
|
- 2 PT1000-Temperatureingaenge (PT)
|
|
|
|
## Kanalauswahl
|
|
|
|
Die Property 'Kanalauswahl' enthaelt alle 18 Kanaele. Pro Zeile werden
|
|
Aktivierung, Typ, Kanalnummer, Anzeigename und Abfrageintervall festgelegt.
|
|
Nur aktive Kanaele werden als IP-Symcon-Variablen angelegt. Wird ein Kanal
|
|
deaktiviert, entfernt das Modul seine dynamische Variable beim naechsten
|
|
Uebernehmen der Konfiguration.
|
|
|
|
DO- und AO-Variablen sind bedienbar. DI, AI und PT sind reine Messwerte.
|
|
AI und AO werden in Volt dargestellt, PT in Grad Celsius.
|
|
|
|
## Properties
|
|
|
|
| Property | Standard | Bedeutung |
|
|
| --- | --- | --- |
|
|
| 'Kanalauswahl' | alle Kanaele inaktiv | Sichtbare und abgefragte Kanaele |
|
|
| 'DigitalInputPath' | WAGO-DI-Sammelpfad | 8-Bit-Eingangswert, LSB ist DI1 |
|
|
| 'DigitalOutputPath' | '/sys/kernel/dout_drv/DOUT_DATA' | 4-Bit-Ausgangswert, LSB ist DO1 |
|
|
| 'CalibrationPath' | '/etc/calib' | WAGO-Zweipunktkalibrierung |
|
|
| 'AI1Path', 'AI2Path' | WAGO-IIO-Pfade | Analoge Eingangswerte |
|
|
| 'AO1ValuePath', 'AO2ValuePath' | WAGO-IIO-Pfade | Analoge Ausgangswerte |
|
|
| 'AO1PowerPath', 'AO2PowerPath' | WAGO-IIO-Pfade | Freigabe der analogen Ausgaenge |
|
|
| 'PT1Path', 'PT2Path' | WAGO-IIO-Pfade | PT1000-Rohwerte |
|
|
| 'Debug' | 'false' | Zusaetzliche Diagnose im Debug-Log |
|
|
|
|
Die Hardwarepfade sind im Konfigurationsformular unter **Erweiterte
|
|
Hardwarepfade** sichtbar. Dadurch koennen Firmwarevarianten angepasst werden,
|
|
ohne den Modulcode zu aendern.
|
|
|
|
## Aktualisierung
|
|
|
|
Die CC100-Treiber stellen die Onboard-I/O als lesbare beziehungsweise
|
|
schreibbare Systemdateien bereit. Fuer diese Dateien ist von WAGO kein
|
|
zuverlaessiger Aenderungs-Eventkanal dokumentiert. Das Modul verwendet deshalb
|
|
einen gemeinsamen Timer:
|
|
|
|
1. Das kleinste aktive Kanalintervall bestimmt den Timer.
|
|
2. Pro Lauf werden nur faellige Kanaele verarbeitet.
|
|
3. DI beziehungsweise DO werden je Lauf nur einmal als Sammelwert gelesen.
|
|
4. IP-Symcon-Werte werden nur bei einer echten Wertaenderung geschrieben.
|
|
|
|
Das Intervall kann pro Kanal zwischen 100 ms und 3 600 000 ms eingestellt
|
|
werden. Kurze Intervalle erhoehen CPU- und I/O-Last.
|
|
|
|
## Kalibrierung
|
|
|
|
AI, AO und PT verwenden die individuellen Zweipunktwerte aus '/etc/calib'.
|
|
Das Modul akzeptiert die WAGO-Bezeichnungen 'AO1'/'AO2' sowie die in der
|
|
WAGO-Beispieldatei vorkommenden Schreibweisen 'A01'/'A02'.
|
|
|
|
- AI-Rohwerte werden kalibriert und von mV nach V umgerechnet.
|
|
- AO-Sollwerte werden von V nach mV und danach invers in den Rohwert umgerechnet.
|
|
- PT-Rohwerte werden zuerst in Ohm und anschliessend mit der
|
|
Callendar-Van-Dusen-Kennlinie in Grad Celsius umgerechnet.
|
|
|
|
## Ausgangssicherheit
|
|
|
|
'ApplyChanges()' schreibt keine Ausgaenge. Beim Start werden DO und AO nur
|
|
eingelesen. Ein DO-Schaltbefehl liest zuerst den gesamten Ausgangswert, aendert
|
|
genau das gewaehlte Bit und erhaelt die anderen Ausgaenge. AO akzeptiert nur
|
|
Werte von 0 bis 10 V und schreibt zuerst die WAGO-Freigabe, danach den
|
|
kalibrierten Rohwert.
|
|
|
|
Die rekursive Schreibschleife des Enelix-1-Moduls wurde verworfen. Ein
|
|
fehlgeschlagener Schreibzugriff blockiert IP-Symcon nicht bis zu fuenf Sekunden,
|
|
sondern liefert sofort Status '203' und einen Stoertext.
|
|
|
|
## Variablen
|
|
|
|
| Ident | Typ | Zugriff |
|
|
| --- | --- | --- |
|
|
| 'DI1' bis 'DI8' | Boolean | Anzeige, nur wenn aktiviert |
|
|
| 'DO1' bis 'DO4' | Boolean | Bedienbar, nur wenn aktiviert |
|
|
| 'AI1', 'AI2' | Float / V | Anzeige, nur wenn aktiviert |
|
|
| 'AO1', 'AO2' | Float / V | Bedienbar, nur wenn aktiviert |
|
|
| 'PT1', 'PT2' | Float / Grad Celsius | Anzeige, nur wenn aktiviert |
|
|
| 'Hardwarestatus' | Integer | '0' unkonfiguriert, '1' bereit, '2' Lesefehler, '3' Fehler |
|
|
| 'Stoertext' | String | Letzter zusammengefasster Fehler |
|
|
|
|
## Migration aus Enelix 1
|
|
|
|
### Unveraendert uebernommen
|
|
|
|
- vier DO, acht DI und zwei PT-Kanaele
|
|
- Bitreihenfolge mit DI1 beziehungsweise DO1 als LSB
|
|
- die vorhandenen WAGO-Systempfade als Standardwerte
|
|
|
|
### Angepasst
|
|
|
|
- getrennte feste Timer durch einen gruppierten, kanalspezifischen Poller ersetzt
|
|
- DO-Aktionen lesen den Sammelwert und aendern nur das gewaehlte Bit
|
|
- PT-Auswertung verwendet die individuelle Kalibrierung und Kennlinie
|
|
|
|
### Neu implementiert
|
|
|
|
- beide AI- und AO-Kanaele
|
|
- frei waehlbare Kanaele und dynamische Variablen
|
|
- konfigurierbare Intervalle und ueberschreibbare Hardwarepfade
|
|
- Status-, Fehler- und Debugdiagnose
|
|
|
|
### Verworfen
|
|
|
|
- rekursives Schreiben mit bis zu fuenf Sekunden Blockierzeit
|
|
- zyklisches Neuschreiben aller DO ohne neuen Schaltbefehl
|
|
- feste PT-Rohwertbereiche und nicht kalibrierte Skalierungsfaktoren
|
|
|
|
Das alte Modul kann nicht in-place aktualisiert werden. Fuer die Umstellung:
|
|
|
|
1. Vorhandene Ausgangszustaende und verwendete Kanaele dokumentieren.
|
|
2. Eine neue Instanz 'CC100 Hardware' anlegen.
|
|
3. Benoetigte Kanaele aktivieren und Anzeigenamen vergeben.
|
|
4. Hardwarepfade und Kalibrierdatei pruefen.
|
|
5. Zuerst nur Eingaenge testen.
|
|
6. Ausgaenge einzeln und unter Aufsicht freigeben.
|
|
|
|
## RS-485
|
|
|
|
RS-485 gehoert nicht zur Onboard-I/O-Abbildung dieses Moduls. Der CC100 stellt
|
|
die Schnittstelle als '/dev/ttySTM1' bereit. Protokoll, Teilnehmeradressen,
|
|
Baudrate, Paritaet, Registerbereiche und Zeitvorgaben gehoeren in eine separate
|
|
serielle beziehungsweise Modbus-Instanz. So bleibt die I/O-Abfrage unabhaengig
|
|
von langsamen oder fehlerhaften Busteilnehmern.
|