11
saia-pcd.com
t
1
t
3
t
2
t
1
t
2
t
3
t
1
t
2
t
3
t
4
XOB
XOB
XOB
XOB
XOB
BACnet®
BACnet®
BACnet®
BACnet®
BACnet®
BACnet®
5
Schaltschrank-
komponenten
4
Verbrauchsdaten
erfassung
3
Dedizierte
Raumregler
2
Bedienen und
Beobachten
1
Automations-
stationen
Automationsstationen – Grundlagen
Das Anwenderprogramm besteht aus einem oder mehreren Organisationsblöcken, die durch den PCD-Interpreter ausgeführt
werden. Jedes Anwenderprogramm hat mindestens einen zyklischen Organisationsblock COB, den COB0.
Die PCDs sind Mono-Prozessor-Systeme. Saia PCD1, 2, 3 Steuer- und Regelgeräte haben einen Hauptprozessor, der alle Tasks be-
arbeitet. Das Anwenderprogramm hat hier eine besondere Rolle und wird als Kerntask behandelt. Neben dem Anwenderprogramm
müssen noch anliegende Kommunikationsaufgaben und Serverfunktionen (Web, FTP) bearbeitet werden. Die CPU-Leistung teilt
sich entsprechend auf. Die Zykluszeit für das Anwenderprogramm hängt damit nicht nur von der Länge des Programms selbst ab,
sondern von der gleichzeitigen Zusatzbelastung.
Ausführung Anwenderprogramm
Zykluszeit ohne weitere Kommunikation
Zykluszeit mit BACnet®-Kommunikation und Interrupt (XOB)
Zykluszeit mit BACnet®-Kommunikation
Beispiele
Das COSinus-Betriebssystem stellt sicher, dass alle Tasks abgearbeitet werden. Es muss eine sinnvolle Lastbalance
zwischen Anwenderprogramm und Kommunikation eingehalten werden. Dies ergibt sich in der Planungspraxis
eigentlich immer. Problematisch wird es nur, wenn ein Auftragnehmer als Projektrealisierer, um Geld zu sparen,
eine schwächere Saia PCD® CPU als vorgesehen einsetzt oder CPUs durch Zusammenlegen von Aufgaben ganz
«einspart».
Kaltstart
Applikation
Applikation
Applikation
Applikation
Applikation
Applikation
Applikation
Applikation
Applikation
Applikation
Kaltstart
Kaltstart
Je mehr Kommunikation stattfindet, desto länger wird die Zykluszeit (t
x
) und desto eher können Schwankungen in der Zykluszeit
auftreten.
Sind diese unerwünscht, weil z. B. eine Regelung in einem festen Zeitintervall und mit möglichst kleinem Jitter erfolgen muss,
so sollte man diesen Programmteil in einem XOB ausführen lassen. Die Priorität der XOBs ist höher als die der COBs und höher als
viele andere Betriebssystemtasks. Im obigen Beispiel wird gezeigt, dass ein periodischer XOB sowohl das zyklische Programm,
als auch die Ausführung des BACnet®-Tasks unterbricht.