04.11.2013 Aufrufe

8887 COLBAS - Siemens Building Technologies

8887 COLBAS - Siemens Building Technologies

8887 COLBAS - Siemens Building Technologies

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

8 887<br />

VISONIK ®<br />

<strong>COLBAS</strong><br />

Funktionsblatt<br />

<strong>COLBAS</strong> ist die Programmiersprache von Landis & Staefa für die VISONIK BPS.<br />

Die Abkürzung <strong>COLBAS</strong> steht für:<br />

Control Oriented Language for <strong>Building</strong> Automation Systems<br />

<strong>COLBAS</strong> basiert auf der Programmiersprache BASIC, besitzt aber zusätzlich<br />

spezielle Funktionen zur Lösung von Mess-, Steuer- und Regelaufgaben.<br />

Anwendung<br />

Implementation<br />

<strong>COLBAS</strong> ist in der <strong>Building</strong> Process Station (BPS) und im Data and Communication<br />

Server (DCS) implementiert. <strong>COLBAS</strong> im DCS wird jedoch nur für spezielle Anforderungen<br />

und Kopplungen zu andern Systemen verwendet und deshalb im Folgenden<br />

nicht weiter behandelt.<br />

Programmierung<br />

Bedienung<br />

DCS<br />

B<br />

<strong>8887</strong>Z01de<br />

T<br />

Start<br />

T<br />

Stop<br />

PC<br />

BPS<br />

Aufgaben<br />

Die BPS soll verschiedenste betriebstechnische Anlagen steuern, regeln und überwachen<br />

– gleichzeitig und in Echtzeit. Der Aufgabenbereich wird oft noch erweitert<br />

durch Anforderungen wie: Optimierter Anlagenbetrieb, Protokollierungen, Störbehandlung<br />

und Alarmierung, Datenerfassung, usw.<br />

Realisierung<br />

Alle genannten Aufgaben werden mit <strong>COLBAS</strong>-Programmen definiert und realisiert.<br />

<strong>COLBAS</strong> besitzt dazu gegenüber BASIC folgende Erweiterungen:<br />

– Zugriff auf Prozesswerte per Bedienung oder Programm (Immediate Mode oder<br />

Deferred Mode).<br />

– Parallele Verarbeitung von Programmen (Multitasking), unabhängig voneinander<br />

oder gegenseitig synchronisiert.<br />

– Echtzeit-Verhalten, d.h. Programme reagieren unmittelbar auf äussere Ereignisse<br />

und können synchron zur realen Zeit ablaufen (Realtime).<br />

Die Erstellung der <strong>COLBAS</strong>-Programme wird unterstützt durch PC-Software mit<br />

Programmbibliotheken für die gebräuchlichsten Anwendungen. Spezielle Aufgaben<br />

können mit individuellen <strong>COLBAS</strong>-Programmen gelöst werden.<br />

<strong>Siemens</strong> <strong>Building</strong> <strong>Technologies</strong> CM2N<strong>8887</strong>de / 26.02.01<br />

Landis & Staefa Division 1/4


Programm-Aufbau<br />

Prinzip-Skizze<br />

Die folgende Skizze zeigt vereinfacht den Programm-Aufbau in der BPS:<br />

TSK 203<br />

TSK n (200 .. 255)<br />

TSK 255<br />

TSK n (1 .. 199)<br />

Kopf<br />

.......................................<br />

Programmteil<br />

10 .........................................<br />

20 .........................................<br />

.. .........................................<br />

.. .........................................<br />

... .........................................<br />

Variablentabelle<br />

........................................<br />

........................................<br />

PROC X<br />

PROC Y<br />

10 ......................<br />

20 ......................<br />

... ......................<br />

Variablentabelle<br />

.......................<br />

Prozeduren<br />

<strong>8887</strong>Z02de<br />

Tasks<br />

Elemente des<br />

Programms<br />

Die oben gezeigten Elemente des Programms sind:<br />

Element<br />

Task allgemein<br />

TSK 1 .. 199<br />

TSK 200 .. 255<br />

Prozedur<br />

Erklärung<br />

Ein Task (TSK) ist eine selbständige Programmeinheit in einem<br />

<strong>COLBAS</strong>-Programm. Tasks können:<br />

– einzeln generiert, editiert und gelöscht werden<br />

– parallel und unabhängig voneinander verarbeitet und von andern<br />

Tasks gestartet und gestoppt werden<br />

– untereinander und mit dem Prozess Daten austauschen.<br />

Jeder <strong>COLBAS</strong>-Task enthält folgende Teile:<br />

– Kopf mit den allgemeinen Angaben zum Task und der Variablen-<br />

Deklaration<br />

– Programmteil mit den einzelnen Instruktionen<br />

– Variablentabelle mit den Variablen des Tasks (aktuelle Werte)<br />

Tasks zur freien Verfügung für Anlagen-Betriebsprogramme, wobei<br />

gewisse Tasknummern für bestimmte Aufgaben verwendet werden<br />

sollen, wie z.B.:<br />

– TSK 5 für die Anlagenkoordination<br />

– TSK 10, TSK 20, TSK 30, etc. für die einzelnen Anlagen<br />

– TSK 160 für die Ausgabe der lokalen Störmeldungen<br />

Reservierte Tasks für: Datenaustausch und Protokolle, Zeitschaltprogramm<br />

und -kataloge, Telefonie, Bedienung über POP Cards,<br />

<strong>COLBAS</strong>-Prozeduren (TSK 255).<br />

Auf diese Tasks ist kein Zugriff möglich – mit wenigen Ausnahmen,<br />

wie z.B.: Basistasks TSK 201 .. 203 zur Bedienung der BPS mit<br />

<strong>COLBAS</strong>-Instruktionen im Immediate Mode über TTY1 .. TTY3.<br />

Eine <strong>COLBAS</strong>-Prozedur ist eine selbständige Programmeinheit mit<br />

eigener Variablentabelle. In der <strong>COLBAS</strong>-Prozedurbibliothek sind<br />

Prozeduren für eine grosse Zahl von Routineaufgaben verfügbar,<br />

wie z.B.:<br />

– Ventilatorsteuerung<br />

– Regelung von Umluftklappen<br />

– Raum-Zuluft-Kaskadenregelung für Temperatur oder Feuchte<br />

– Ausdruck von Störmeldungen<br />

– etc.<br />

Prozeduren müssen vom übergeordneten Task aufgerufen werden.<br />

CM2N<strong>8887</strong>de / 26.02.01<br />

<strong>Siemens</strong> <strong>Building</strong> <strong>Technologies</strong><br />

2/4 Landis & Staefa Division


Instruktionen<br />

Aufbau der Instruktion<br />

Eine <strong>COLBAS</strong>-Instruktion beginnt in der Regel mit einem Schlüsselwort, meist gefolgt<br />

von einem Zusatzelement. Das Schlüsselwort besagt, welche Aktion durchgeführt werden<br />

soll, das Zusatzelement macht ergänzende Angaben.<br />

Beispiel: RUN 3 (Starte den Task 3)<br />

RUN = Schlüsselwort 3 = Zusatzelement, hier die Tasknummer<br />

Verfügbare<br />

Instruktionen<br />

<strong>COLBAS</strong> kennt drei Gruppen von Instruktionen wie folgt:<br />

Gruppe<br />

Statements<br />

(Anweisungen)<br />

Funktionen<br />

Bedienbefehle<br />

Definition / Beispiele<br />

Schlüsselwörter für den Deferred Mode (Eingabe mit Zeilennummer):<br />

– Variablen und I/O-Punkten Werte zuweisen: LET<br />

– Ausgabe Statements: PRINT, PLOT<br />

– Eingabe Statements: INPUT, INKEY<br />

– Verzweigungen: GOTO, IF .. THEN .. ELSE<br />

– Programmschlaufen: FOR/NEXT, GOSUB/RETURN<br />

– Zugriff auf Datenlisten: DATA, READ<br />

– Echtzeitanweisungen: WAIT, WAIT UNTIL, WAIT FOR<br />

Vorschriften zur Berechnung eines neuen Werts aus vorgegebenen<br />

Werten:<br />

– Arithmetische Funktionen: MOD, EXP, LOG<br />

– Trigonometrische Funktionen: SIN, COS<br />

– Logische und boolesche Funktionen: AND, OR, x < y<br />

– Stringfunktionen: A$ + B$<br />

– Regel- und Steuerfunktionen (DDC): CONTROL<br />

– Überwachungsfunktionen: IF MW > 20 THEN<br />

– Kalenderfunktionen: DAY, DDAY, YEAR<br />

Schlüsselwörter für den Immediate Mode (Eingabe ohne Zeilennummer).<br />

Zusätzlich zu den BASIC-Befehlen, wie COPY, DEL, DIR, END, LIST,<br />

RUN, STOP usw., sind in <strong>COLBAS</strong> weitere Befehle implementiert.<br />

Sie dienen vor allem der Systemkonfiguration, dem Editieren in Tasks<br />

und Prozeduren, sowie dem Zugriff auf die Prozessgrössen.<br />

<strong>COLBAS</strong> Programme können online, d.h. direkt in der BPS oder vom DCS aus editiert<br />

(erstellt, geändert, gelöscht) werden. In der BPS werden die Programme im batteriegepufferten<br />

RAM Speicher abgelegt.<br />

Beispiel für einen<br />

Task<br />

Ein Task besteht aus max. 350 Zeilen. Jede Zeile beginnt mit einer Zeilennummer<br />

(1 .. 32767), gefolgt von einer oder mehreren <strong>COLBAS</strong>-Instruktionen. Mit dem Task im<br />

nachstehend gezeigten Beispiel wird folgende Aufgabe gelöst:<br />

– Der Messwert am I/O-Punkt $022 wird in einem Abstand von 15 Min während 24 Std<br />

erfasst.<br />

– Zusätzlich werden Zeit und Datum der Erfassung abgespeichert.<br />

TSK 33<br />

5 REM "TEMPERATUR $022.MW ERFASSEN"<br />

10 DIM M(97)<br />

20 DIM T(97); DIM D(97)<br />

1000 FOR J=1 TO 97<br />

1100 M(J) := $022.MW<br />

1200 T(J) := TIME; D(J) := DATE<br />

1300 WAIT DURING 00:15<br />

1400 NEXT J<br />

2000 END<br />

Die erfassten Daten könnten nun mit einem weiteren Programm ausgewertet werden.<br />

<strong>Siemens</strong> <strong>Building</strong> <strong>Technologies</strong> CM2N<strong>8887</strong>de / 26.02.01<br />

Landis & Staefa Division 3/4


Prozess-Zugriff<br />

Adressen und Parameter<br />

der I/O-Punkte<br />

Der Zugriff auf die Prozessgrössen bzw. I/O-Punkte per Bedienung oder Programm ist<br />

eine wesentliche Anforderung zur Steuerung und Regelung betriebstechnischer Anlagen.<br />

In <strong>COLBAS</strong> geschieht dieser Zugriff über Adressen und Parameter:<br />

BPS<br />

$d011<br />

<strong>8887</strong>Z03de<br />

ML<br />

$031<br />

SB<br />

$052<br />

SB<br />

$053<br />

Parameter<br />

Adressen<br />

Beispiel<br />

Erklärungen zum<br />

Beispiel<br />

Hinweis<br />

INPUT-Punkte und<br />

OUTPUT-Punkte<br />

Zugriff im ganzen<br />

System<br />

Weitere Informationen<br />

Dieses Beispiel zeigt den Zugriff auf die oben dargestellten I/O-Punkte per Programm:<br />

....<br />

3000 Mz:=$031.ML<br />

4000 IF Mz=1 THEN GOTO 8000 ELSE GOTO 9000<br />

....<br />

....<br />

....<br />

....<br />

....<br />

8000 $052.SB:=1<br />

9000 $053.SB:=0<br />

In den einzelnen Zeilen werden folgende Instruktionen gegeben:<br />

Zeile Erklärung<br />

3000 Vom I/O-Punkt mit der Adresse $031 (Meldepunkt) wird der Zustand von Parameter<br />

ML gelesen und der Variablen Mz zugewiesen.<br />

4000 Wenn (IF) die Variable Mz=1, dann gehe zu (THEN GOTO) Zeile 8000, sonst<br />

gehe zu (ELSE GOTO) Zeile 9000.<br />

8000 Dem I/O-Punkt mit der Adresse $052 (Schaltbefehl) wird der Wert 1 zugewiesen,<br />

d.h. Schaltbefehl auf EIN.<br />

9000 Dem I/O-Punkt mit der Adresse $053 (Schaltbefehl) wird der Wert 0 zugewiesen,<br />

d.h. Schaltbefehl auf AUS.<br />

Beachte den Unterschied zwischen einer Zuweisung mit ":=" (Zeilen 3000, 8000 und<br />

9000) und dem logischen Vergleich auf Gleichheit mit "=" (Zeile 4000).<br />

Beim Zugriff ist zu unterscheiden zwischen INPUT-Punkten und OUTPUT-Punkten:<br />

– Melde-, Messwert- und Zählwertpunkte sind INPUT-Punkte. Der Hauptwert dieser<br />

Punkte ist nur lesbar. Dieser Hauptwert kann nicht durch manuelle Eingaben und<br />

auch nicht per Programm überschrieben werden (ausser, der betreffende Punkt ist<br />

zu Testzwecken auf "fiktiv" gesetzt).<br />

– Schaltbefehls- und Stellbefehlspunkte sind OUTPUT-Punkte. Der Hauptwert dieser<br />

Punkte ist vom Bediener und Programm immer lesbar und schreibbar.<br />

Mit <strong>COLBAS</strong> können die Zustände bzw. Parameterwerte aller im VISONIK System konfigurierten<br />

Punkte gelesen werden. Bei I/O-Punkten ausserhalb der "eigenen" BPS<br />

muss die Adresseingabe aber nicht nur die Punktadresse, sondern auch die BPS-Nr.<br />

beinhalten, also z.B. $d011'031 für den Aufruf des oben gezeigten Meldepunkts.<br />

Weitere Informationen zu diesem Thema finden Sie in folgenden Dokumenten:<br />

Dokument-Nr. Titel<br />

CM2Z8387de Sprachbeschreibung <strong>COLBAS</strong><br />

CM2T8567de VISONIK Systemgrundlagen<br />

© 2001 <strong>Siemens</strong> <strong>Building</strong> <strong>Technologies</strong> AG<br />

CM2N<strong>8887</strong>de / 26.02.01<br />

<strong>Siemens</strong> <strong>Building</strong> <strong>Technologies</strong><br />

4/4 Landis & Staefa Division

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!