S7Prog d-1
S7Prog d-1
S7Prog d-1
Inhaltsverzeichnis
AS-Bausteine erstellen 1
Online-Hilfe erstellen 3
Handbuch
Ausgabe 01/2001
A5E00092263-01
Sicherheitstechnische Hinweise
Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von
Sachschäden beachten müssen. Die Hinweise sind durch ein Warndreieck hervorgehoben und je nach
Gefährdungsgrad folgendermaßen dargestellt:
! Gefahr
bedeutet, dass Tod, schwere Körperverletzung oder erheblicher Sachschaden eintreten wird, wenn
die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
! Warnung
bedeutet, dass Tod, schwere Körperverletzung oder erheblicher Sachschaden eintreten kann, wenn
die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
! Vorsicht
bedeutet, dass eine leichte Körperverletzung oder ein Sachschaden eintreten kann, wenn die
entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
Vorsicht
bedeutet, dass ein Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen
nicht getroffen werden.
Achtung
ist eine wichtige Information über das Produkt, die Handhabung des Produktes oder den jeweiligen
Teil der Dokumentation, auf den besonders aufmerksam gemacht werden soll.
Qualifiziertes Personal
Inbetriebsetzung und Betrieb eines Gerätes dürfen nur von qualifiziertem Personal vorgenommen
werden. Qualifiziertes Personal im Sinne der sicherheitstechnischen Hinweise dieses Handbuchs sind
Personen, die die Berechtigung haben, Geräte, Systeme und Stromkreise gemäß den Standards der
Sicherheitstechnik in Betrieb zu nehmen, zu erden und zu kennzeichnen.
Bestimmungsgemäßer Gebrauch
! Warnung
Das Gerät darf nur für die im Katalog und in der technischen Beschreibung vorgesehenen Einsatzfälle
und nur in Verbindung mit von Siemens empfohlenen bzw. zugelassenen Fremdgeräten und -
komponenten verwendet werden.
Der einwandfreie und sichere Betrieb des Produktes setzt sachgemäßen Transport, sachgemäße
Lagerung, Aufstellung und Montage sowie sorgfältige Bedienung und Instandhaltung voraus.
Marken
SIMATIC®, SIMATIC HMI® und SIMATIC NET® sind Marken der Siemens AG.
Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für
deren Zwecke die Rechte der Inhaber verletzen können.
Siemens AG
Bereich Automatisierungs- und Antriebstechnik © Siemens AG 2000
Geschäftsgebiet Industrie-Automatisierungsysteme Technische Änderungen bleiben vorbehalten
Postfach 4848, D- 90327 Nürnberg
Leserkreis
Diese Programmieranleitung wendet sich an Entwickler von Automatisierungs-
bausteinen (AS-Bausteine) und/oder Bildbausteinen, die zusammen mit den von
Siemens gelieferten leittechnischen PCS 7-Bausteinen in derselben Anlage
durchgängig und aufeinander abgestimmt verwendet werden sollen.
Voraussetzungen
Voraussetzungen sind daher Vorkenntnisse in der Entwicklung und der
Anwendung von AS- und Bildbausteinen und der hierfür verwendeten Hard- und
Software. Im weiteren werden nur die Punkte beschrieben, die für die Konformität
eines Bausteins mit den PCS 7-Bausteinen notwendig sind.
Allgemeine Informationen über die Verwendung von PCS 7-Komponenten können
Sie dem PCS7 Projektierungshandbuch entnehmen.
Vorgehensweise
Die Programmieranleitung bietet Ihnen einen Überblick über die einzelnen
Bestandteile eines PCS 7-konformen Bausteins. Sie orientiert sich dabei an der
Reihenfolge, in der Sie vorgehen, wenn Sie Funktions- und Bildbausteine
entwickeln.
• Schritt für Schritt entwickeln Sie den AS-Baustein ”CONTROL”, einen
einfachen Reglerbaustein. Dazu definieren Sie nacheinander den
Bausteinkopf, die Parameter des Bausteins und seine lokalen Variablen. Dann
erstellen Sie den Quellcode.
• Als nächstes entwickeln Sie einen Bildbaustein. Diesen erstellen Sie mit dem
WinCC Graphic Designer und den Elementen des Faceplate Designers.
• Abschließend entwerfen Sie für den Baustein eine Online-Hilfe und erstellen
aus allen Komponenten eine lieferfähige Bibliothek MYLIB.
In jedem Kapitel werden nur die für das Verständnis der jeweils beschriebenen
Punkte benötigten Teile des Beispieles angegeben. Das gesamte Beispiel des AS-
Bausteins ist im Kapitel 1.10 abgedruckt.
Nürnberg
Johnson City
Singapur
SIMATIC Hotline
1 AS-Bausteine erstellen
1.1 Voraussetzungen und Vorkenntnisse ...............................................................1-1
1.1.1 Mitgelieferter Beispiel-Baustein.........................................................................1-1
1.2 Aufbau eines AS-Bausteins ..............................................................................1-2
1.2.1 Voreinstellungen im SCL-Compiler ...................................................................1-3
1.2.2 Voreinstellungen im SIMATIC Manager............................................................1-5
1.2.3 Bausteinkopf......................................................................................................1-6
1.2.4 Deklarationsteil................................................................................................1-11
1.2.5 Codeteil ...........................................................................................................1-19
1.3 Erstlauf ............................................................................................................1-20
1.4 Zeitabhängigkeit ..............................................................................................1-21
1.5 Behandlung von asynchronen Anlauf- und Fehler-OBs .................................1-23
1.6 Bedienen, Beobachten und Melden ................................................................1-26
1.6.1 Meldungsunterdrückung im Anlauf .................................................................1-31
1.6.2 Meldungsunterdrückung für bestimmte Meldungen........................................1-32
1.6.3 Quelle übersetzen ...........................................................................................1-32
1.7 Meldungsprojektierung....................................................................................1-33
1.8 Anbindung von Batch flexible ..........................................................................1-36
1.9 Erstellen von CFC-Bausteintypen ...................................................................1-37
1.9.1 Beispiel: CONTROL2 ......................................................................................1-37
1.10 Namenskonventionen und Nummernbereich..................................................1-38
1.11 Quellcode des Beispiels..................................................................................1-39
2 Bildbausteine erstellen
2.1 Erstellungsweg ..................................................................................................2-1
2.1.1 Entwurf des Bildbausteins.................................................................................2-1
2.1.2 Projektierung des Bildbausteins........................................................................2-2
2.1.3 Test des Bildbausteins ......................................................................................2-3
2.2 Bildbausteinerstellung mit dem Faceplate Designer.........................................2-4
2.2.1 Vorlagen des Faceplate Designer.....................................................................2-4
2.2.2 Projektierungsschritte........................................................................................2-6
2.2.3 Dynamisierung von Bildbausteinen.................................................................2-14
2.2.4 Sprachumschaltung ........................................................................................2-15
3 Online-Hilfe erstellen
3.1 Aufbau der Hilfedatei.........................................................................................3-1
3.2 Aufbau der Registrierungsdatei.........................................................................3-3
4 Bibliothek und Setup erstellen
4.1 Bibliothek erstellen ............................................................................................4-1
4.2 Setup erstellen ..................................................................................................4-2
Glossar
Index
Erstlauf
(s. Kapitel 1.3)
Bedienung Bearbeiten
(s. Kapitel 1.6)
Technologischer Teil
(s. Kapitel 1.6.1)
1.2.3 Bausteinkopf
Dieser Baustein gibt Ihnen ein Beispiel für die Entwicklung eines PCS 7-konformen
AS-Bausteins.
Überschreitet die Stellgröße die obere Alarmgrenze, wird der Fehlerausgang QH_ALM
gesetzt. Zudem wird eine Meldung an die OS mit ALARM_8P generiert. Mit der Variablen
M_SUP_AH kann die Meldung unterdrückt werden.
Unterschreitet die Stellgröße die untere Alarmgrenze, wird der Fehlerausgang QL_ALM
gesetzt. Zudem wird eine Meldung an die OS mit ALARM_8P generiert. Mit der Variablen
M_SUP_AL kann die Meldung unterdrückt werden.
Der Baustein unterstützt BATCH flexible und besitzt daher die dafür nötigen Parameter
BA_EN, BA_NA, BA_ID, OCCUPIED und STEP_NO.
//**************************************************************************************
// Bausteinkopf
//**************************************************************************************
FUNCTION_BLOCK "CONTROL"
TITLE = 'CONTROL'
FUNCTION_BLOCK
TITLE
• FUNCTION_BLOCK
Hier legen Sie den Namen des Bausteins mit maximal 8 Zeichen fest. Dieser
Name wird in den Objekteigenschaften des Bausteins sowie in der Detail-
darstellung des SIMATIC Managers und im Katalog des CFC angezeigt. Vor
dem Übersetzen des Bausteins muss diesem Namen in der Symboltabelle
eine Bausteinnummer zugeordnet werden.
• TITLE
Diese Information wird unter PCS 7 nicht ausgewertet, sie wird jedoch im
SIMATIC Manager in den Objekteigenschaften des Bausteins im Kommen-
tarfeld angezeigt. Direkt unterhalb dieses Attributs angegebene Kommentare
werden ebenfalls in den Objekteigenschaften des Bausteins im Kommentarfeld
angezeigt. Alle anderen Kommentare im Bausteinkopf können nur mit dem
SCL-Editor eingesehen werden.
Es wird empfohlen, hier den selben Namen einzutragen, wie bei
FUNCTION_BLOCK.
KNOW_HOW_PROTECT
• NAME
Tragen Sie hier denselben Namen wie bei FUNCTION_BLOCK ein. Bei Ver-
wendung einer Online-Hilfe ist dieser Name (und FAMILY) ein Teilschlüssel
zur Suche des Hilfetexts dieses Bausteins in der Hilfedatei.
• VERSION
Tragen Sie hier eine Versionskennung von 0.00 bis 15.15 ein.
• FAMILY
Falls Sie Ihre Bausteine zu einer eigenen Bibliothek zusammenfassen und in
dieser Bibliothek in verschiedene Gruppen einordnen wollen, geben Sie hier
einen maximal 8 Zeichen langen Gruppennamen für diesen Baustein an.
Bei Verwendung einer Online-Hilfe sind FAMILY und NAME Teilschlüssel zur
Suche des Hilfetexts dieses Bausteins in der Hilfedatei.
• AUTHOR
Dieses Attribut enthält im Normalfall den Namen oder die Abteilung des Bau-
steinerstellers. Bei PCS 7-konformen Bausteinen wird es noch für zwei weitere
Punkte genutzt:
- Falls Sie Ihre Bausteine zu einer Bibliothek zusammenfassen wollen,
geben Sie hier einen maximal 8 Zeichen langen gemeinsamen Namen für
alle Bausteine dieser Bibliothek an.
- Bei Verwendung einer Online-Hilfe wird über diesen Namen die passende
Hilfedatei gesucht.
• KNOW_HOW_PROTECT
Mit Hilfe dieses Attributs können Sie den Algorithmus und die Attribute des
Bausteins gegen Einsichtnahme und Änderung schützen. Ist es gesetzt,
werden die Attribute des Bausteins im SIMATIC Manager in den Objekt-
eigenschaften des Bausteins nur angezeigt, können aber nicht geändert
werden. Der Baustein selbst lässt sich außerhalb Ihres Projekts ohne die
entsprechende Quelle nur noch per AWL-Editor und nicht mehr per SCL
öffnen. Es werden dabei jedoch nur die Bausteinparameter angezeigt. Im
eigenen Projekt wird der SCL-Compiler gestartet.
• Liste der Systemattribute für Bausteine
Mit Hilfe der Systemattribute bereiten sie einen Baustein für die Verbindung mit
der OS vor. So definiert z.B: S7_m_c, ob der Baustein für eine OS relevant ist,
d.h. ob dafür in der OS notwendige interne Datenstrukturen angelegt werden.
Zudem können Sie mit den Systemattributen den Einbau des Bausteins in
einen CFC-Plan steuern. So wird z.B. mit S7_tasklist festgelegt, in welche OBs
der Baustein automatisch eingebaut werden soll.
Hinweis
Eine vollständige Liste der Systemattribute erhalten Sie über die Kontext-Hilfe
und/oder über das Hilfethema "Attribute für Bausteine und Parameter".
1.2.4 Deklarationsteil
1.2.4.1 Bausteinparameter
Die Bausteinparameter definieren die Schnittstelle des Bausteins zu anderen
Bausteinen sowie zu den Bedien- und Beobachtungs-Werkzeugen (CFC,
WinCC ...).
Parametertypen
Es gibt die folgenden Parametertypen:
• Eingangsparameter
Die Festlegung als Eingangsparameter ist für PCS 7-konforme Bausteine
erforderlich, wenn Sie
- Parameterwerte von einem anderen Baustein holen wollen oder
- Parameter von der OS aus bedienen wollen oder
- die Darstellung eines Bildbausteins auf der OS per Parameter
beeinflussbar machen wollen (z.B. Grenzen für Darstellbereiche) oder
- Parameter für Testzwecke vom CFC aus bedienbar machen wollen oder
- Parameter zur Erzeugung von Meldungen (Message Event-ID des
ALARM_8P-Bausteins)
• Ausgangsparameter
Die Festlegung als Ausgangsparameter ist für PCS 7-konforme Bausteine
erforderlich, wenn Sie
- Parameterwerte an einen anderen Baustein weitergeben wollen oder
- Parameter von der OS aus beobachten wollen oder
- Parameter für Testzwecke vom CFC aus beobachten wollen
• Durchgangsparameter
Durchgangsparameter können vom Bausteinalgorithmus sowohl gelesen als
auch zurückgeschrieben werden. Die Festlegung als Durchgangsparameter ist
für PCS 7-konforme Bausteine erforderlich, wenn Sie im Baustein eine stoß-
freie Umschaltung zwischen Eingangswerten vom Programm (AS) und Bedien-
werten (OS) benötigen. Für die Umsetzung dieser Funktionalität benötigen Sie
3 Parameter:
- einen Eingangsparameter zum Umschalten
- einen Eingangsparameter für den verschalteten Wert
- einen Durchgangsparameter für den bedienten Wert. Dieser Parameter
muss ein Durchgangsparameter sein, da der verschaltete Wert immer auf
den bedienten Wert zurückgeschrieben werden muss. Auf diese Weise ist
gewährleistet, dass bei der Umschaltung vom verschalteten auf den
bedienten Wert diese Umschaltung stoßfrei erfolgt.
Bild 1-6: Objekteigenschaften von Parametern, die nicht vom Datentyp BOOL sind
//**************************************************************************************
// Deklarationsteil: Bausteinparameter
//**************************************************************************************
VAR_INPUT
SAMPLE_T {S7_sampletime:= ’true’; // Param. der Baustein-Abtastzeit (Zyklus der Task)
S7_visible:=’false’; // Parameter ist unsichtbar
S7_link:= ’false’ // Parameter nicht verschaltbar
} :REAL := 1; // sample time [s] (Vorbesetzung 1 Sek)
M_SUP_AL {S7_visible:='false';
S7_link:='false';
S7_m_c:='true';
S7_string_0:= 'Suppress LL=No'; // Bedientext für Wert (M_SUP_AL)= 0
S7_string_1:= 'Suppress LL=Yes' // Bedientext für Wert (M_SUP_AL)= 1
} :BOOL // suppress alarm low
M_SUP_AH {S7_visible:='false';
S7_link:='false';
S7_m_c:='true';
S7_string_0:= 'Suppress HH=No';
S7_string_1:= 'Suppress HH=Yes'
} :BOOL; // suppress alarm high
SP_OP_ON {S7_visible:='false';
S7_dynamic:='true' // CFC in Test/IBS: Anzeige aktueller Wert in AS)
} :BOOL := 1; // Enable 1=Operator for Setpoint Input
SPBUMPON {S7_visible:='false';
S7_link:='false';
S7_m_c:='true';
S7_string_0:='SP bumpless=Off';
S7_string_1:='SP bumpless=On'
}
:BOOL := 1; // Enable 1=Bumpless for Setpoint On
SP_EXTON {S7_visible:='false';
S7_dynamic:='true' // CFC in Test/IBS: Anzeige aktueller Wert in AS)
}
:BOOL := 1; // 1: Select SP_EXT
SP_EXT {S7_dynamic:='true'}
SP_LLM {S7_visible:='false';
S7_link:='false';
S7_m_c:='true';
S7_shortcut:='SP low limit';
S7_unit:=''}
:REAL := 0; // Setpoint Low Limit
GAIN {S7_link:=’false’;
S7_edit:=’para’; // Parametrierung im Import-Export-Assistenten (IEA)
S7_m_c:=’true’;
S7_shortcut:=’Gain’;
S7_unit:=’’} :REAL := 1; // Proportional Gain
EV_ID {S7_visible:=’false’;
S7_link:=’false’;
S7_param :=’false’; // Parameter im CFC nicht parametrierbar
S7_server:=’alarm_archiv’; // Vergabe der Meldenummer durch Server
S7_a_type:=’alarm_8p’ // Baustein meldet mit ALARM_8P
} :DWORD := 0; // Message ID
RUNUPCYC {S7_visible:='false';
S7_link:='false'} :INT := 3; // Number of Run Up Cycles
SUPPTIME :REAL := 0; // sample delay
SUPP_IN :REAL := 0; // Input value for sample delay
END_VAR
VAR_OUTPUT
LMN {S7_shortcut:='pressure'; // Bezeichnung des Parameters auf OS
S7_unit := 'mbar'; // Einheit des Parameters
S7_m_c := 'true' // beobachtbar
} :REAL; // manipulated value
QSP_HLM {S7_visible:='false';
S7_dynamic:='true'} : BOOL := 0; // 1=Setpoint Output High Limit Active
QSP_LLM {S7_visible:='false';
S7_dynamic:='true'} : BOOL := 0; // 1=Setpoint Output Low Limit Active
Q_SP_OP {S7_visible:='false';
S7_dynamic:='true';
S7_m_c:='true'} : BOOL := 0; // Status: 1=Operator May Enter Setpoint
QOP_ERR {S7_visible:='false';
S7_dynamic:='true'} : BOOL := 0; // 1=Operator Error
QMSG_ERR {S7_visible:='false';
S7_dynamic:='true'} : BOOL := 0; // ALARM_8P: Error Output
MSG_STAT {S7_visible:='false';
S7_dynamic:='true'} : WORD := 0; // Message: STATUS Output
MSG_ACK {S7_visible:='false';
S7_dynamic:='true'} : WORD := 0; // Message: ACK_STATE-output
END_VAR
VAR_IN_OUT
PV_IN {S7_dynamic:=’true’;
S7_m_c:=’true’;
S7_unit:=’%’} : REAL := 0; // Process Value (to AUX_PR04 of Message)
SP_OP {S7_visible:=’false’;
S7_link:=’false’;
S7_m_c:=’true’;
S7_shortcut:=’Setpoint’;
S7_unit:=’’} : REAL := 0; // Operator Input Setpoint
END_VAR
Statische Variablen
Statische Variablen behalten im Gegensatz zu temporären Variablen ihren Wert
über mehrere Aufrufe des Bausteins hinweg, solange, bis Sie ihn im
Bausteinalgorithmus ändern.
Für PCS 7-konforme Bausteine sind diese Variablen vor allem dann wichtig, wenn
Sie in Ihrem Baustein bereits vorhandene eigene oder Standard-Bausteine auf-
rufen wollen. In diesem Fall müssen Sie einen Multiinstanz-Baustein
implementieren. Dazu definieren Sie innerhalb der statischen Variablen eine
Instanz des aufgerufenen Bausteins.
Die aufgerufenen Bausteine müssen zum fehlerfreien Übersetzen des aufrufenden
Bausteins im Bausteinordner des S7-Programms vorhanden sein.
Falls Sie Parameter des aufgerufenen Bausteins nach außen sichtbar und
verschaltbar machen wollen, müssen Sie diese im Bausteinalgorithmus von bzw. in
Parameter Ihres Bausteins kopieren. Die Parameter des aufgerufenen Bausteins
selbst sind nach außen nicht sichtbar.
Multiinstanzen
Beispiele zu Multiinstanzanwendungen können Sie dem Kapitel zu den CFC-
Bausteintypen bzw. dem entsprechenden SCL-Code im Beispielprojekt
entnehmen.
Hinweis
Aufgerufene SFBs und SFCs, wie z.B. SFC6 (RD_SINFO) oder SFB0 (CTU)
werden beim Compilieren des aufrufenden Bausteins automatisch in der Standard
Library gesucht und in Ihr S7-Programm eingefügt.
Aufgerufene FBs werden beim Einfügen des aufrufenden Bausteins in einen CFC-
Plan in den Bausteinordner kopiert, falls Sie sich in der selben Bibliothek befinden
wie der aufrufende Baustein. Ansonsten müssen Sie sie selbst kopieren.
Temporäre Variablen
Temporäre Variablen haben nur während eines Bausteinaufrufs Gültigkeit, d.h. sie
müssen bei jedem Bausteinaufruf neu berechnet werden.
Für PCS 7-konforme Bausteine müssen Sie hierbei keine Besonderheiten
beachten.
Ausschnitt des Beispiel-Bausteins:
//**************************************************************************************
// Deklarationsteil: temporäre Variablen
//**************************************************************************************
VAR_TEMP
// Startinfo: Struktur mit Info für den OB, der den Baustein gerade aufgerufen hat
TOP_SI: STRUCT
EV_CLASS :BYTE;
EV_NUM :BYTE;
PRIORITY :BYTE;
NUM :BYTE;
TYP2_3 :BYTE;
TYP1 :BYTE;
ZI1 :WORD;
ZI2_3 :DWORD;
END_STRUCT;
1.2.5 Codeteil
Der Codeteil enthält den eigentlichen Algorithmus des Bausteins. Für PCS 7-
konforme Bausteine bedeutet dies, dass Sie hier neben den reinen
technologischen Funktionen des Bausteins noch die Eigenschaften realisieren
können, um z.B. asynchron auftretende Ereignisse und Bausteinzustände an die
OS zu melden und dort über einen Bildbaustein oder eine WinCC-Meldeliste
anzuzeigen.
1.3 Erstlauf
Beim ersten Aufruf Ihres Bausteins müssen Sie im Regelfall verschiedene
Parameter initialisieren. Zudem kann es je nach technologischer Funktion Ihres
Bausteins weitere Tätigkeiten geben, die Ihr Baustein nur einmalig durchführen
muss. Falls dies bei Ihrem Baustein so ist, müssen Sie einen Erstlaufteil
implementieren.
Dazu definieren Sie einen Variable vom Datentyp BOOL (z.B. sbRESTART). Sie
können die Variable als statische Variable realisieren.
Da nicht gewährleistet werden kann, dass Ihr Baustein nur bei Neustart das erste
Mal durchlaufen wird (z.B. beim Neuladen des Bausteins im Betriebszustand RUN
der CPU), müssen Sie den Erstlaufteil typischerweise in den zyklischen Teil Ihres
Bausteins integrieren. Dadurch können Sie die Bearbeitung des Erstlaufs, falls
notwendig, auch auf mehrere Aufrufzyklen des Bausteins ausdehnen.
//**************************************************************************************
// Abhängigkeiten vom aufrufenden OB
//**************************************************************************************
IF sbRESTART THEN
// Erstlauf
TOP_SI.NUM := 100; // Erstlauf als Neustart ausführen
sbRESTART := FALSE; // Rücksetzen Erstlauf
END_IF;
// Aus welchem OB wurde der Baustein aufgerufen ?
CASE WORD_TO_INT(BYTE_TO_WORD(TOP_SI.NUM)) OF
//************************************************************************************
// Behandlung von Fehler-OBs
//************************************************************************************
// OB80: Zeitfehler
80:
QH_ALM := 0; // Fehlerausgänge zurücksetzen
QL_ALM := 0;
//************************************************************************************
// Anlauf
//************************************************************************************
// OB100: Neustart
100:
QH_ALM := 0; // Fehlerausgänge zurücksetzen
QL_ALM := 0;
siRUNUPCNT := RUNUPCYC; // RUNUPCYC-Wert abspeichern
ELSE
....
1.4 Zeitabhängigkeit
Falls Ihr Baustein in einer äquidistanten Zeitalarmebene bearbeitet wird, und er zur
Durchführung zeitabhängiger Tätigkeiten die Länge des Zeitintervalls auswerten
muss (z.B. Reglerbausteine), definieren sie einen Eingangsparameter (z.B.
SAMPLE_T) vom Datentyp REAL, an dem die Länge des Zeitintervalls angegeben
werden kann.
Diesen Parameter müssen Sie je nach Weckalarm-OB, in dem Ihr Baustein auf-
gerufen wird, umparametrieren. Damit ist gewährleistet, dass Ihr Bausteinalgo-
rithmus immer mit der richtigen Zeit arbeitet.
Wenn Sie diesen Parameter mit dem Systemattribut S7_sampletime versehen
und dieses auf 'true' setzen, wird er vom CFC automatisch auf den für den auf-
rufenden OB passenden Wert gesetzt. Eine eventuelle Untersetzung wird dabei
ebenfalls berücksichtigt. Sie sollten den Parameter dann auch mit den System-
attributen S7_visible und S7_link versehen und diese auf 'false' setzen. Damit
wird der Parameter im CFC unsichtbar bzw. nicht verschaltbar und damit ver-
hindert, dass sein Wert vom Anwender versehentlich geändert wird.
Die automatische Belegung des Parameters durch den CFC funktioniert jedoch nur
dann, wenn beim Übersetzen des Programms das Optionskästchen "Update
sampling time" aktiviert ist.
/***************************************************************************************
// Deklarationsteil: Bausteinparameter
//**************************************************************************************
VAR_INPUT
//**************************************************************************************
// Deklarationsteil: statische Variablen
//**************************************************************************************
VAR
....
sSUPP_IN :REAL := 0; // Altwert des Delay-Beispieleingangs
ACT_TIME :REAL := 0; // Zeitzähler
....
END_VAR
VAR_OUTPUT
....
SUPP_OUT :REAL := 0; // Output value for sample delay
....
END_VAR
//**********************************************************************************
// Technologischer Teil
//**********************************************************************************
Tabelle 1-4: Zuordnung der Elemente der Startinfo TOP_SI zu den temporären Variablen
des OB80
Hinweis
• Jeder OB enthält in seinen temporären Variablen noch Datum und Uhrzeit des
Aufrufs. Diese sind jedoch nicht in der mit dem SFC6 gelesenen Startinfo
enthalten.
• PCS7-konforme Bausteine werden nicht in den Wiederanlauf (OB 101)
eingebaut.
Der folgende Ausschnitt des Beispiel-Bausteins zeigt die jeweilige Behandlung des
OBs:
//**************************************************************************************
// Codeteil
//**************************************************************************************
CASE WORD_TO_INT(BYTE_TO_WORD(TOP_SI.NUM)) OF
//************************************************************************************
// Behandlung von Fehler-OBs
//************************************************************************************
// OB80: Zeitfehler
80:
QH_ALM := 0; // Fehlerausgänge zurücksetzen
QL_ALM := 0;
//************************************************************************************
// Anlauf
//************************************************************************************
// OB100: Neustart
100:
QH_ALM := 0; // Fehlerausgänge zurücksetzen
QL_ALM := 0;
siRUNUPCNT := RUNUPCYC; // RUNUPCYC-Wert abspeichern
ELSE
Bedienungen
Falls Sie einen Parameterwert nur von der OS aus bedienen wollen, benötigen Sie
dazu einen Durchgangs- oder Eingangsparameter für den bedienten Wert (mit dem
Systemattribut S7_m_c ).
Falls Sie dagegen einen Parameterwert wahlweise von einem anderen Baustein
holen oder von der OS bedienen wollen und der Umschaltvorgang vom
verschalteten auf den bedienten Wert stoßfrei erfolgen soll, benötigen Sie dazu
insgesamt drei Parameter:
• einen Eingangsparameter zum Umschalten zwischen Bedienung und
Verschaltung.
• einen Eingangsparameter für den verschalteten Wert
• einen Durchgangsparameter für den bedienten Wert (mit dem Systemattribut
S7_m_c ). Dieser Parameter muss ein Durchgangsparameter sein, weil der
verschaltete Wert für das stoßfreie Umschalten vom Bausteinalgorithmus auf
den bedienten Wert zurückgeschrieben werden muss, solange der
verschaltete Wert angewählt ist.
Alle Bedienfunktionen sollten über die Bedienbausteine der Bibliothek
"PCS 7 Library Technological Blocks" und deren korrespondierende
Bedienmethode auf der OS abgewickelt werden. Damit sind alle notwendigen
Verriegelungen und die (wahlweise stoßfreie) Umschaltung zwischen bedientem
Wert und verschaltetem Wert vorhanden (z. B. für Hand- / Automatikumschaltung).
Die Bedienbausteine können Sie mittels der Multiinstanztechnik in Ihren Baustein
einbauen.
Bei PCS 7 wird u.a. der OP_A_LIM (operation analog limited) eingesetzt.
Mit dem Baustein OP_A_LIM haben Sie ein begrenzendes Bedienverhalten
gewählt. Alternativ können Sie den Baustein OP_A_RJC einsetzen, Dieser weist
bei Grenzwertverletzung die Bedieneingabe ab. Wenn Sie keine Grenzwertprüfung
benötigen, setzen Sie den Baustein OP_A ein.
Hinweis
AS-Baustein und Bildbaustein laufen asynchron zueinander, d.h. bei einer
Bedienung durch den Bildbaustein wird der Bedienwert in den Instanz-DB des AS-
Bausteins geschrieben und zu einem späteren Zeitpunkt vom AS-Baustein
ausgewertet. Da sich zu diesem Zeitpunkt bereits die maßgeblichen Grenzen
geändert haben können, sollten Sie den Bedienwert sowohl auf der AS als auch
auf der OS auf Fehler prüfen.
Für binäre Bedieneingaben stehen die Bausteine OP_D (FB 48), OP_D3 (FB 49)
und OP_TRIG (FB 50) der PCS 7 Library "Technological Blocks" zur Verfügung
(weitere Informationen: siehe Online-Hilfe).
Der folgende Ausschnitt zeigt die Definition einer Bedieneingabe:
//**********************************************************************************
// Bedieneingabe Sollwert SP_OP (Real-Wert) oder verschalteter Sollwert SP_EXT
//**********************************************************************************
OK := OK AND ENO; //Enable Out des OP_A_LIM in OK-Flag des Bausteins übernehmen
Meldungen
Wenn Ihr Baustein Meldungen und/oder Ereignisse an die OS senden soll, können
Sie in den statischen Variablen eine Multiinstanz eines Alarm-Bausteins definieren.
Das Meldungs- und Quittierverhalten sowie die Übergabe von Begleitwerten wird durch
die Eigenschaften des eingebauten Alarm-Bausteins bestimmt.
Fertige Alarm-Bausteine sind als SFBs in der "Standard Library" enthalten.
Das sind z.B.:
Einträge im Bausteinkopf
Damit der Baustein von der OS aus bedient und/oder beobachtet werden kann,
setzen Sie zunächst in der Liste der Systemattribute im Bausteinkopf das
Systemattribut "S7_m_c" auf 'true'. Das gilt auch für das Melden. Damit der PCS 7-
Meldedialog aufgerufen wird, tragen Sie im Bausteinkopf das Attribut S7_alarm_ui
:= '1' ein (bei Wert '0' erhalten Sie den STEP 7-konformen Dialog).
Einträge im Deklarationsteil
Damit die Parameter Ihres Bausteins von der OS aus bedient und beobachtet
werden können, setzen Sie für jeden einzelnen Parameter Ihres Bausteins, den
Sie bedienen und beobachten wollen das Systemattribut "S7_m_c" auf 'true'.
Wenn Ihr Baustein Meldungen und/oder Ereignisse an die OS senden soll, defi-
nieren Sie einen Eingang vom Datentyp DWORD (hier: EV_ID). Dieser Eingang
nimmt beim Instanz-DB die Meldenummer auf, die automatisch vom System
(Meldeserver) vergeben wird.
Die Meldenummer ist im gesamten S7-Projekt eindeutig, damit es in Projekten mit
mehreren AS und OS nicht zu Kollisionen kommt. Aus dieser Meldenummer
werden beim Datentransfer die für WinCC notwendigen Nummern für die Einzel-
meldungen abgeleitet.
Geben Sie an diesem Eingang das Systemattribut "S7_server" mit dem Wert
'alarm_archiv' und das Systemattribut "S7_a_type" mit dem Wert 'alarm_8p' (bzw.
gemäß dem eingebauten Meldungsbaustein) ein.
Der Eingang soll im CFC nicht sichtbar, nicht verschaltbar und nicht parametrierbar
sein, um die vom System vergebenen Daten nicht versehentlich zu verändern.
Der folgende Ausschnitt des Beispiel-Bausteins zeigt die Verwendung der System-
attribute im Bausteinkopf und für den Eingang EV_ID, der die Meldenummer
aufnehmen soll.
//**************************************************************************************
// Bausteinkopf
//**************************************************************************************
FUNCTION_BLOCK "CONTROL"
TITLE= ’CONTROL’
//**************************************************************************************
// Deklarationsteil: Bausteinparameter
//**************************************************************************************
VAR_INPUT
....
// Parameter EVENT ID für Meldenummer
EV_ID {S7_visible:='false'; // Parameter im CFC nicht sichtbar
S7_link:='false'; // Parameter im CFC nicht verschaltbar
S7_param :='false'; // Parameter im CFC nicht parametrierbar
S7_server:='alarm_archiv'; // Vergabe der Meldenummer durch Server
S7_a_type:='alarm_8p' // Baustein meldet mit ALARM_8P
} :DWORD := 0; // Message ID
...
END_VAR
Die nicht im Baustein benötigten Eingänge des ALARM-Bausteins können auf das
Baustein-Interface gelegt werden, um dem späteren Anwender weitere Möglich-
keiten für Meldungen zu geben. Diese Meldungen werden ohne weitere Vorkeh-
rungen wie Leittechnikmeldungen behandelt und können nur vom Meldesystem
der OS gesperrt werden. Das gilt auch für die nicht verwendeten Begleitwerte.
Diese können Sie dann in den Meldungen verwenden wie in Abschnitt 1.7
beschrieben
//**************************************************************************************
// Deklarationsteil: Bausteinparameter
//**************************************************************************************
....
// freibelegbare Meldebegleitwerte des ALARM_8P
AUX_PR05 {S7_visible := ’false’} : ANY; // auxiliary value 5
AUX_PR06 {S7_visible := ’false’} : ANY; // auxiliary value 6
AUX_PR07 {S7_visible := ’false’} : ANY; // auxiliary value 7
AUX_PR08 {S7_visible := ’false’} : ANY; // auxiliary value 8
AUX_PR09 {S7_visible := ’false’} : ANY; // auxiliary value 9
AUX_PR10 {S7_visible := ’false’} : ANY; // auxiliary value 10
....
//**************************************************************************************
// Deklarationsteil: statische Variablen
//**************************************************************************************
....
//**************************************************************************************
// Deklarationsteil Multiinstanzen
//**************************************************************************************
OP_A_LIM_1: OP_A_LIM; // Bedienbaustein 1
FOR DUMMY := 1 TO 16
DO
sbyBA_NA[DUMMY] := 0; //array löschen als Vorbesetzung
END_FOR;
Falls Sie die Belastung des AS im Anlauf durch das gleichzeitige Generieren mehr-
erer Meldungen (von verschiedenen Bausteinen) verringern wollen, definieren Sie
dafür einen Eingangsparameter RUNUPCYC vom Datentyp INT. An diesem Para-
meter können Sie die Anzahl der Anlaufzyklen angeben, während derer keine
Meldung generiert werden soll. Sie müssen dann im Bausteinalgorithmus die
Anzahl der Aufrufe zählen und erst nach Ablauf der parametrierten Zyklen frei-
geben. Der folgende Ausschnitt des Beispiel-Bausteins zeigt dieses Verfahren.
//*************************************************************************************
// Deklarationsteil: Bausteinparameter
//*************************************************************************************
VAR_INPUT
...
H_ALM {S7_m_c := ’true’;
S7_visible:=’false’;
S7_link := ’false’
} :REAL :=100; // upper alarm limit (Vorbesetzung 100)
L_ALM {S7_m_c := 'true'; // Parameter ist B&B-fähig
S7_visible:='false'; // Parameter ist unsichtbar
S7_link := 'false' // und nicht verschaltbar
} :REAL := 0; // lower alarm limit (Vorbesetzung 0)
...
RUNUPCYC {S7_visible:='false';
S7_link:='false'} :INT := 3; // Number of Run Up Cycles
END_VAR
//************************************************************************************
// Deklarationsteil: statische Variablen
//************************************************************************************
VAR
...
siRUNUPCNT :INT := 0; // Zähler für RUNUPCYC-Bearbeitung
...
END_VAR
//************************************************************************************
// Anlauf
//************************************************************************************
// OB100: Neustart
100:
...
siRUNUPCNT := RUNUPCYC; // RUNUPCYC-Wert abspeichern
...
//**********************************************************************************
// Technologischer Teil
//**********************************************************************************
IF siRUNUPCNT = 0 // RUNUPCYC-Zyklus bereits abgelaufen ?
THEN
IF (LMN > H_ALM) THEN // Wenn die Stellgröße die obere Alarmgrenze verletzt
QH_ALM := 1; // Fehlerausgang setzen
QL_ALM := 0; // Fehlerausgang rücksetzen
ELSIF (LMN < L_ALM) THEN // Wenn die Stellgröße die untere Alarmgrenze verletzt
QL_ALM := 1; // Fehlerausgang setzen,
QH_ALM := 0; // Fehlerausgang rücksetzen
ELSE
QH_ALM := 0; // Fehlerausgänge rücksetzen
QL_ALM := 0;
END_IF;
ELSE
siRUNUPCNT := siRUNUPCNT - 1;
END_IF;
END_CASE;
//**************************************************************************************
// Deklarationsteil: Bausteinparameter
//**************************************************************************************
VAR_INPUT
.....
// Unterdrückung des ALARM HIGH
M_SUP_AL {S7_visible:='false';
S7_link:='false';
S7_m_c:='true';
S7_string_0:= 'Suppress LL=No'; // Bedientext für Wert (M_SUP_AL)= 0
S7_string_1:= 'Suppress LL=Yes' // Bedientext für Wert (M_SUP_AL)= 1
} :BOOL // suppress alarm low
//*************************************************************************************
// Melden mit ALARM_8P
//*************************************************************************************
.....
ALARM_8P_1(EN_R := TRUE, // Aktualisierung des Ausgangs ACK_STATE
ID := 16#EEEE, // Datenkanal für Meldungen (immer 16#EEEE)
EV_ID:= EV_ID, // Meldungsnummer > 0
SIG_1:= M_SUP_AH AND QH_ALM, // zu überw. Signal 1 -> Meldung Alarm oben
SIG_2:= M_SUP_AL AND QL_ALM, // zu überw. Signal 2 -> Meldung Alarm unten
SIG_3:= 0, // zu überw. Signal 3 -> keine Meldung
SIG_4:= 0, // zu überwachendes Signal 4
.....
.....
Nach der Programmierung müssen Sie die Quelle mit dem SCL-Compiler
übersetzen. Wählen Sie "Datei > Übersetzen" oder das Symbol für Übersetzen in
der Funktionsleiste. Nach fehlerfreier Übersetzung ist der Baustein FB 501 im
Bausteinordner des S7-Programms enthalten.
Weitere Informationen erhalten Sie im Handbuch "S7-SCL für S7-300 und S7-400".
1.7 Meldungsprojektierung
Allgemeines
Für einen Baustein, der Meldungen an die OS schicken soll, müssen Sie in den
statischen Variablen die Multiinstanz eines Alarm-Bausteins definieren.
Sie können mit dem ALARM_8 / ALARM_8P-Baustein bis zu 8 Signale
überwachen, die Sie als Parameter am Alarm-Baustein angeben. Der Baustein
merkt sich bei jedem Aufruf den aktuellen Zustand der Signale und sendet beim
nächsten Aufruf eine Meldung an die OS, falls sich eines der Signale geändert hat.
Zuerst müssen Sie die Texte eingeben, die für alle Meldungen dieses Bausteins
gelten. Die einzelnen Texte entsprechen dabei den Anwendertextblöcken im
AlarmLogging von WinCC.
Origin:
Hier können Sie die Herkunft der Meldung angeben.
Geben Sie die Herkunft als Schlüsselwort $$AKZ$$ ein, wird beim Transferieren
der Daten durch die AS-OS-Verbindungsprojektierung der Pfad des Hierarchie-
ordners, der Planname und der Bausteinname ermittelt und in den OS-Meldetexten
abgelegt.
Hinweis: Der TH-Pfad wird nur eingetragen, wenn die entsprechenden
Hierarchieordner namensbildend sind (Eigenschaften THO bzw., Einstellungen der
TH).
OS area:
Hier können Sie die Bereichszuordnung der Meldung angeben.
Geben Sie den Bereich als Schlüsselwort $$AREA$$ ein oder tragen Sie nichts
ein, wird beim Transferieren der Daten durch die AS-OS-Verbindungsprojektierung
das entsprechende Attribut des Hierarchie-Ordners ausgewertet und in den OS-
Meldetexten abgelegt.
Batch ID:
Hier können Sie eine Batch-Kennung für die Meldung angeben.
Geben Sie die Batch-Kennung ein, wird beim Transferieren der Daten durch die
AS-OS-Verbindungsprojektierung das entsprechende Attribut ausgewertet und in
der Meldeliste von WinCC in der Spalte "Charge Name" abgelegt. Es handelt sich
hierbei aber nicht um die Batch-ID sondern um den Batch-Namen. Falls Ihr Bau-
stein für das S7-Optionspaket BATCH flexible geeignet sein soll, müssen Sie hier
@1%s@ eintragen. Dadurch wird die Meldung mit der BATCH-Chargenbezeich-
nung als ersten Meldebegleitwert versehen (vgl. Kapitel 1.8). Falls Sie BATCH
flexible nicht verwenden, müssen Sie hier nichts angeben.
Meldeklassen
Anschließend legen Sie für jede Meldung die Meldeklasse fest. Sobald Sie in der
jeweiligen Meldungszeile die Spalte "Message class" anklicken, wird diese zum
Kombinationsfeld und Sie können die Meldeklasse auswählen. Nicht belegte
Meldungen müssen die Meldeklasse "< no message >" erhalten. Genaueres über
die Behandlung von Meldungen können Sie der Dokumentation zu WinCC
entnehmen.
Tragen Sie in der Spalte "Event text" eine Beschreibung der Fehlerursache ein
(maximal 40 Zeichen inklusive möglicher Begleitwerte) und in der Spalte "Individual
acknowledgement", ob die Meldung einzeln quittiert werden muss (falls das Aus-
wahlkästchen angewählt ist) oder ob sie per Sammelquittierung quittiert werden
kann.
In der Spalte "Locked" (grünes Schlüsselsymbol) definieren Sie, ob der Meldetext
vom Anwender des Bausteins geändert werden darf (Auswahlkästchen nicht
angewählt) oder gesperrt ist (Auswahlkästchen angewählt).
Sprachen
Falls Sie Ihre Meldungen in verschieden Sprachen (je nach Sprachauswahl im
ALARM Logging von Win CC) ausgeben wollen, müssen Sie sie für jede
gewünschte Sprache projektieren. Dazu wählen Sie im SIMATIC Manager den
Dialog "Options >Translating Text > User texts" aus. Tragen Sie in der
angebotenen Tabelle die Texte in den jeweiligen Fremdsprachenspalten ein.
Falls Sie in einem solchen Baustein Meldungen generieren wollen, müssen Sie
dabei die Eingänge BA_NA, STEP_NO und BA_ID (in dieser Reihenfolge) als
Meldebegleitwerte verwenden.
Die Begleitwerte sind wie folgt belegt:
Begleitwert Bedeutung
1 BATCH-Chargenbezeichnung BA_NA
2 BATCH-Schrittnummer STEP_NO
3 BATCH: laufende Chargennummer BA_ID
4 bis 7 Bausteinspezifisch belegt oder frei für Anwender.
Vorgehensweise:
• Öffnen Sie einen neuen CFC-Plan und platzieren Sie darin den Beispiel-
Baustein CONTROL.
• Aus der CFC Library\ELEMENTA ziehen Sie mit Drag&Drop einen Multi-
plizierer MUL_R (FC63) in den Plan.
• Verschalten Sie den Ausgang "OUT" des MUL_R mit dem Istwert (Parameter
"PV_IN") des Beispiel-Bausteins.
• Öffnen Sie im Plan die Sicht der Plananschlüsse "Chart Inputs/Outputs" und
selektieren Sie im Fenster "Interface" das Symbol "IN".
• Verschalten Sie die Eingänge "IN1" und "IN2" des MUL_R mit den
Plananschlüssen: Mit Drag&Drop ziehen Sie den Bausteinanschluss auf den
Plananschluss (rechtes Fenster).
• Verschalten Sie alle Ein- und Ausgänge des Beispiel-Bausteins (außer dem
bereits verschalteten Istwert) mit den Plananschlüssen des CFC-Plans.
• Compilieren Sie über den Dialog "Chart > Compile > Chart as Block Type" den
CFC-Plan als Baustein.
- Im Register: "General" tragen Sie die FB-Nummer ein (hier 601). Tragen
Sie danach in den entsprechenden Feldern die weiteren Eigenschaften
ein: Family, Author, Version. Im Feld Name (header) ist bereits der Name
des CFC-Plans vorbesetzt.
- Im Register: "Attributes" geben Sie die gewünschten Baustein-Attribute
und Systemattribute an. Das Systemattribut "S7_tasklist" müssen Sie hier
nicht angegeben (siehe nachfolgende Einbauregel).
- Starten Sie die Übersetzung mit "OK".
Einbauregel:
Der CFC-Bausteintyp wird in jeden OB eingebaut, der in einer Taskliste eines
unterlagerten Bausteins enthalten ist, d.h. seine Taskliste ist die
Vereinigungsmenge der Tasklisten der unterlagerten Bausteine. Die unterlagerten
Bausteine selbst werden jedoch nur in den OBs aufgerufen, die in ihrer eigenen
Taskliste enthalten sind. Im hier angegeben Beispiel heißt dies folgendes:
Der Beispiel-Bausteins CONTROL hat die Taskliste "S7_tasklist = 'OB80,OB100' ".
Der Multiplizierer MUL_R hat keine Taskliste.
Der CFC-Bausteintyp hat daher die Taskliste "S7_tasklist = 'OB80,OB100' ". Im
OB80 und OB100 wird aber nur der CONTROL aufgerufen, nicht der MUL_R.
Nummernbereich
Um Nummernkonflikte mit den von Siemens gelieferten leittechnischen PCS 7-
Bausteinen zu vermeiden, sollten Sie die Nummerierung Ihrer Bausteine ab der
Nummer 501 beginnen. Bitte berücksichtigen Sie bei der Festlegung Ihrer
Bausteinnummern auch die Leistungsdaten der von Ihrer Bibliothek unterstützten
CPU-Typen.
Namen
Bei der Benennung Ihrer Bausteinparameter sollten Sie folgende Regel beachten:
Binäre Ausgänge beginnen mit Q, z.B. QH_ALM oder Q_L_ALM
//**************************************************************************************
// Bausteinkopf
//**************************************************************************************
FUNCTION_BLOCK "CONTROL"
TITLE = 'CONTROL'
{ // Liste der Systemattribute
S7_tasklist:= 'OB80,OB100'; // Baustein wird bei Zeitfehler u. Neustart aufgerufen
S7_m_c:= 'true'; // Bausteins ist bedien- und beobachtbar
S7_alarm_ui:= '1'; // Einstellung PCS7-Meldedialog ('0'=Standard-Meldedialog)
}
AUTHOR: ABC
NAME: CONTROL
VERSION: '0.01'
FAMILY: XYZ
KNOW_HOW_PROTECT
//**************************************************************************************
// Deklarationsteil: Bausteinparameter
//**************************************************************************************
VAR_INPUT
SAMPLE_T {S7_sampletime:= 'true'; // Param. der Baustein-Abtastzeit (Zyklus der Task)
S7_visible:='false'; // Parameter ist unsichtbar
S7_link:= 'false' // Parameter nicht verschaltbar
} :REAL := 1; // sample time [s] (Vorbesetzung 1 Sek)
M_SUP_AL {S7_visible:='false';
S7_link:='false';
S7_m_c:='true';
S7_string_0:= 'Suppress LL=No'; // Bedientext für Wert (M_SUP_AL)= 0
S7_string_1:= 'Suppress LL=Yes' // Bedientext für Wert (M_SUP_AL)= 1
} :BOOL // suppress alarm low
M_SUP_AH {S7_visible:='false';
S7_link:='false';
S7_m_c:='true';
S7_string_0:= 'Suppress HH=No';
S7_string_1:= 'Suppress HH=Yes'
} :BOOL; // suppress alarm high
SP_OP_ON {S7_visible:='false';
S7_dynamic:='true' // CFC in Test/IBS: Anzeige aktueller Wert in AS)
}
:BOOL := 1; // Enable 1=Operator for Setpoint Input
SPBUMPON {S7_visible:=’false’;
S7_link:=’false’;
S7_m_c:=’true’;
S7_string_0:=’SP bumpless=Off’;
S7_string_1:=’SP bumpless=On’
}
:BOOL := 1; // Enable 1=Bumpless for Setpoint On
SP_EXTON {S7_visible:=’false’;
S7_dynamic:=’true’ // CFC in Test/IBS: Anzeige aktueller Wert in AS)
}
:BOOL := 1; // 1: Select SP_EXT
SP_EXT {S7_dynamic:=’true’}
SP_LLM {S7_visible:=’false’;
S7_link:=’false’;
S7_m_c:=’true’;
S7_shortcut:=’SP low limit’;
S7_unit:=’’}
:REAL := 0; // Setpoint Low Limit
GAIN {S7_link:=’false’;
S7_edit:=’para’; // Parametrierung im Import-Export-Assistenten (IEA)
S7_m_c:=’true’;
S7_shortcut:=’Gain’;
S7_unit:=’’}
:REAL := 1; // Proportional Gain
EV_ID {S7_visible:=’false’;
S7_link:=’false’;
S7_param :=’false’; // Parameter im CFC nicht parametrierbar
S7_server:=’alarm_archiv’; // Vergabe der Meldenummer durch Server
S7_a_type:=’alarm_8p’ // Baustein meldet mit ALARM_8P
} :DWORD := 0; // Message ID
RUNUPCYC {S7_visible:='false';
S7_link:='false'} :INT := 3; // Number of Run Up Cycles
SUPPTIME :REAL := 0; // sample delay
SUPP_IN :REAL := 0; // Input value for sample delay
END_VAR
VAR_OUTPUT
LMN {S7_shortcut:=’pressure’; // Bezeichnung des Parameters auf OS
S7_unit := ’mbar’; // Einheit des Parameters
S7_m_c := ’true’ // beobachtbar
} :REAL; // manipulated value
QSP_HLM {S7_visible:=’false’;
S7_dynamic:=’true’} : BOOL := 0; // 1=Setpoint Output High Limit Active
QSP_LLM {S7_visible:=’false’;
S7_dynamic:=’true’} : BOOL := 0; // 1=Setpoint Output Low Limit Active
Q_SP_OP {S7_visible:=’false’;
S7_dynamic:=’true’;
S7_m_c:=’true’} : BOOL := 0; // Status: 1=Operator May Enter Setpoint
QOP_ERR {S7_visible:=’false’;
S7_dynamic:=’true’} : BOOL := 0; // 1=Operator Error
QMSG_ERR {S7_visible:=’false’;
S7_dynamic:=’true’} : BOOL := 0; // ALARM_8P: Error Output
MSG_STAT {S7_visible:=’false’;
S7_dynamic:=’true’} : WORD := 0; // Message: STATUS Output
MSG_ACK {S7_visible:=’false’;
S7_dynamic:=’true’} : WORD := 0; // Message: ACK_STATE-output
END_VAR
VAR_IN_OUT
PV_IN {S7_dynamic:=’true’;
S7_m_c:=’true’;
S7_unit:=’%’} : REAL := 0; // Process Value (to AUX_PR04 of Message)
SP_OP {S7_visible:=’false’;
S7_link:=’false’;
S7_m_c:=’true’;
S7_shortcut:=’Setpoint’;
S7_unit:=’’} : REAL := 0; // Operator Input Setpoint
END_VAR
//**************************************************************************************
// Deklarationsteil: statische Variablen
//**************************************************************************************
VAR
//**************************************************************************************
// Deklarationsteil Multiinstanzen
//**************************************************************************************
OP_A_LIM_1: OP_A_LIM; // Bedienbaustein 1
//**************************************************************************************
// Deklarationsteil: temporäre Variablen
//**************************************************************************************
VAR_TEMP
// Startinfo: Struktur mit Info für den OB, der den Baustein gerade aufgerufen hat
TOP_SI: STRUCT
EV_CLASS :BYTE;
EV_NUM :BYTE;
PRIORITY :BYTE;
NUM :BYTE;
TYP2_3 :BYTE;
TYP1 :BYTE;
ZI1 :WORD;
ZI2_3 :DWORD;
END_STRUCT;
/**************************************************************************************
// Codeteil
//*************************************************************************************
//*************************************************************************************
// Abhängigkeiten vom aufrufenden OB
//*************************************************************************************
IF sbRESTART THEN
// Erstlauf
TOP_SI.NUM := 100; // Erstlauf als Neustart ausführen
sbRESTART := FALSE; // Rücksetzen Erstlauf
END_IF;
CASE WORD_TO_INT(BYTE_TO_WORD(TOP_SI.NUM)) OF
//************************************************************************************
// Behandlung von Fehler-OBs
//************************************************************************************
// OB80: Zeitfehler
80:
QH_ALM := 0; // Fehlerausgänge zurücksetzen
QL_ALM := 0;
//************************************************************************************
// Anlauf
//************************************************************************************
// OB100: Neustart
100:
QH_ALM := 0; // Fehlerausgänge zurücksetzen
QL_ALM := 0;
siRUNUPCNT := RUNUPCYC; // RUNUPCYC-Wert abspeichern
ELSE
//**********************************************************************************
// Bedieneingabe Sollwert SP_OP (Real-Wert) oder verschalteter Sollwert SP_EXT
//**********************************************************************************
//Multiinstanz Aufruf OP_A_LIM (Bedeutung der Parameter siehe Online Hilfe OP_A_LIM)
OP_A_LIM_1(U := SP_OP, U_HL:= SP_HLM, U_LL:= SP_LLM, OP_EN:= SP_OP_ON, BTRACK:= SPBUMPON,
LINK_ON:= SP_EXTON, LINK_U:= SP_EXT);
OK := OK AND ENO; //Enable Out des OP_A_LIM in OK-Flag des Bausteins übernehmen
Q_SP_OP := OP_A_LIM_1.QOP_EN; // 1: Freigabe Bedieneingabe SP
SP_OP := OP_A_LIM_1.U; // Sollwert zurückschreiben
QOP_ERR := OP_A_LIM_1.QOP_ERR; // 1: Bedienfehler
QSP_HLM := OP_A_LIM_1.QVHL; // 1: Begrenzung Obergrenze
QSP_LLM := OP_A_LIM_1.QVLL; // 1: Begrenzung Untergrenze
SP := OP_A_LIM_1.V; // wirksamer Sollwert
//**********************************************************************************
// Technologischer Teil
//**********************************************************************************
IF (SUPP_IN <> sSUPP_IN) THEN
ACT_TIME := SUPPTIME; // Zeitzähler initialisieren
sSUPP_IN := SUPP_IN;
END_IF;
THEN
IF (LMN > H_ALM) THEN // Wenn die Stellgröße die obere Alarmgrenze verletzt
QH_ALM := 1; // Fehlerausgang setzen
QL_ALM := 0; // Fehlerausgang rücksetzen
ELSIF (LMN < L_ALM) THEN // Wenn die Stellgröße die untere Alarmgrenze verletzt
QL_ALM := 1; // Fehlerausgang setzen,
QH_ALM := 0; // Fehlerausgang rücksetzen
ELSE
QH_ALM := 0; // Fehlerausgänge rücksetzen
QL_ALM := 0;
END_IF;
ELSE
siRUNUPCNT := siRUNUPCNT - 1;
END_IF;
END_CASE;
//**************************************************************************************
// Melden mit ALARM_8P
//**************************************************************************************
FOR DUMMY := 1 TO 16
DO
sbyBA_NA[DUMMY] := 0; //array löschen als Vorbesetzung
END_FOR;
2.1 Erstellungsweg
Bei der Erstellung eines Bildbausteins hat sich die folgende Vorgehensweise als
vorteilhaft erwiesen:
• Entwurf des Bildbausteins (Abschnitt 2.1.1)
• Projektierung des Bildbausteins (Abschnitt 2.1.2)
• Test des Bildbausteins (Abschnitt 2.1.3)
Darstellung
Ein Bildbaustein ist die B&B-Schnittstelle zu einem AS-Baustein. Für die Anzeige
eines Bildbausteins gibt es zwei Darstellungsarten:
• Gruppendarstellung: Darstellung der AS-Werte in unterschiedlichen Sichten
mit Anwahlelement für die Kreisbilddarstellung
• Kreisbilddarstellung: Darstellung der Elemente aller Sichten der
Gruppendarstellung
Systemattribute
Welche Ein- und Aus- und Durchgangsparameter eines AS-Bausteins bedient und
beobachtet werden können, wird bei der Erstellung des AS-Bausteins durch die
Systemattribute festgelegt. Einzelheiten zu diesen Systemattributen können Sie im
Kapitel "Aufbau eines AS-Bausteins" im Abschnitt "Deklarationsteil" nachlesen.
Parameter
Die Auswahl der Parameter erfolgt unter den folgenden Gesichtspunkten:
• Welche Daten benötigt das Bedienpersonal um schnell und zweifelsfrei den
aktuellen Zustand zu erfassen?
• Wie sollen diese Werte dargestellt werden?
• Welche Werte soll das Bedienpersonal verändern können?
Welche Berechtigungsstufe ist für die Bedienung erforderlich?
Sind prozessabhängige Bedienverriegelungen erforderlich?
• In welcher Sicht des Bildbausteins sollen die einzelnen Werte dargestellt
werden? Gruppieren Sie dazu die einzelnen Parameter funktionsmäßig.
Platzieren Sie in der Sicht "Standard" die wichtigsten Elemente, vor allem jene,
die sich fortlaufend ändern.
Gestaltung
Nach der Festlegung der Parameter und ihrer Darstellung erfolgt das Gestalten
des Bildbausteins d.h. die Auswahl der Bildelemente, deren Benennung, die
Parametrierung der Bildelemente und deren Position. Verwenden Sie immer
Namen, die einen Bezug zum dargestellten Objekt haben und auch ausge-
sprochen werden können.
Beispiel: In einer Zustandsanzeige soll die Variable "OCCUPIED" dargestellt
werden QHQQHQ6LHGLHVH=XVWDQGVDQ]HLJH2&&83,('
Diese Vorgehensweise erleichtert die Projektdokumentation und die Wartung.
Für die Projektierung des Bildbausteins steht Ihnen das Werkzeug "WinCC
Graphics Designer" zur Verfügung. Ausgehend von den Vorlagen des Faceplate
Designer setzen Sie den Bildentwurf in WinCC-Bilder um. Eine ausführliche
Beschreibung hierzu finden Sie im Abschnitt 2.2 "Bildbausteinerstellung mit dem
Faceplate Designer".
Kompatibilität zu PCS7-Bildbausteinen
Die mit PCS 7 ausgelieferten Bildbausteine (.ocx Standard-Bildbausteine) können
mit dem Faceplate Designer nicht verändert werden. Es besteht aber die
Möglichkeit, neue Bildbausteine über den Faceplate Designer zu erstellen, die
gleichnamig mit den Standard-Bildbausteinen sind (z.B.: MOTOR, VALVE,
MEAS_MON, ...). Auf diese Weise werden die Standard-Bildbausteine
überschrieben.
Die vorher im Prozessbild verwendeten "alten“ .ocx-Bildbausteine
(Symboldarstellung) müssen gegen die "neuen“ Bausteinsymbole ausgetauscht
werden, da sonst der richtige Bildbaustein nicht aufgerufen wird. Bereits
eingebaute ocx-Bildbausteine werden nicht durch die "neuen“ überschrieben.
Die neu erstellten Bildbausteine können bei der Projektierung und im Runtime
genauso behandelt werden wie Standard-Bildbausteine.
Wurden irrtümlich Standard-Bildbausteine im Projekt überschrieben, so können Sie
durch den Start des Split Screen Wizard die Standard-Bildbausteine aus der
Bibliothek wieder ins Projekt kopieren.
Weitere Informationen
Weitere Informationen über die Komponenten und die Funktionalität des Faceplate
Designers erhalten Sie über die WinCC-Online-Hilfe Å WinCC Options Å
Faceplate Designer.
Für die Erstellung von Bildbausteinen stehen Ihnen unter WinCC folgende
Vorlagen zur Verfügung:
• Bausteinsymbole (fertige Symbole für Prozessbilder)
• Vorlagenbilder
• Objekt-Baukasten mit Objekten für die Bildbaustein-Erstellung
• Globale Skripte
Eine Auflistung aller Dateien finden Sie in der Online-Hilfe "WinCC Options >
Faceplate Designer > Komponenten des Faceplate Designers > Dateiliste
Faceplate Designer".
2.2.1.1 Bausteinsymbole
Hinweis
Für Änderungen ist das Bild unter dem Namen "@PCS7Typicals.PDL“ zu
speichern.
Nach diesem Namen sucht die Suchmaschine aus der TH zuerst. Nur wenn
dieses nicht gefunden wird, werden die Vorlagen aus "@@PCS7Typicals.PDL“
verwendet.
2.2.1.2 Vorlagenbilder
Die Bilder und Bitmaps befinden sich im Verzeichnis
"WinCC\options\pdl\FaceplateDesigner".
2.2.1.3 Objekt-Baukasten
Eine Reihe fertig vorbereiteter Objekte (Anwenderobjekte) zur Erstellung eines
Bildbausteins, sind im WinCC-Bild "@PCS7Elements.PDL" enthalten, z.B. EA-
Felder, Texte, usw.
Das Bild ist im Pfad "Siemens\WinCC\Options\PDL\FaceplateDesigner" abgelegt
und wird beim Durchlauf des Split Screen Wizard in den Ordner "GraCS" des
Projektverzeichnisses kopiert.
2.2.2 Projektierungsschritte
Vorgehensweise
Die folgenden Kapitel beschreiben am Beispiel des Bausteintyps MEAS_MON
Schritt für Schritt den Weg zum fertigen Bildbaustein.
Die Bildbaustein-Erstellung geschieht in vier aufeinanderfolgenden Schritten:
1. Gruppenbildrahmen an Bildbausteintyp anpassen (Abschnitt 2.2.2.1)
2. Sichtenliste an Bildbausteintyp anpassen (Abschnitt 2.2.2.2)
3. Typ-/ und sichtspezifische Bilder bearbeiten (Abschnitt 2.2.2.3)
4. Kreisbildrahmen an Bildbausteintyp anpassen (Abschnitt 2.2.2.4)
Standard
Wartung
Meldungen
Parameter
Grenzen
Trend
Batch
StandardS
Für die Anpassung an den Bausteintyp MEAS_MON gehen Sie wie folgt vor:
• Öffnen Sie im WinCC Graphic Designer das Bild
"@PG_%Type%_VIEWLIST.PDL".
• Entfernen Sie die nicht benötigten Sichten. Das sind beim MEAS_MON
"Wartung", "Parameter" und "StandardS" (Markieren und löschen).
• Platzieren Sie die Einträge lückenlos in der gewünschten Reihenfolge:
Markieren Sie dazu die Einträge in der Liste und verschieben Sie diese mit
Hilfe der Pfeiltasten.
• Anpassen von Rahmen und Bildgröße:
- Öffnen Sie für die Bildgröße den Eigenschaftendialog des Bild-Objekts
"@PG_%Type%_VIEWLIST". Unter Eigenschaften/Bild-Objekt/Geometrie
können Sie die erforderlichen Änderungen der Statik vornehmen (z.B.:
Bildbreite 90, Bildhöhe 100).
- Öffnen Sie nun den Eigenschaftendialog des Objekts "Comboframe". Unter
Eigenschaften/Rechteck/Geometrie können Sie nun den Rahmen
anpassen (wie Bildgröße).
Danach sieht das Bild wie folgt aus:
Standard
Meldungen
Grenzen
Trend
Batch
Für die Anpassung an den Bausteintyp MEAS_MON gehen Sie wie folgt vor:
• Öffnen Sie im WinCC Graphics Designer das Bild
"@PG_%Type%_%View%.PDL"
• Speichern Sie dieses Bild für die Standardsicht unter
"@PG_MEAS_MON_STANDARD.PDL".
• Öffnen Sie im WinCC Graphic Designer das Bild
"@PG_%Type%_%View%.PDL"
• Speichern Sie dieses Bild für die Grenzensicht unter
"@PG_MEAS_MON_LIMITS.PDL".
if (value)
dToolbarButtons = 62000;
else
dToolbarButtons = 61952;
SetPropDouble(lpszPictureName, "AlarmList",
"ToolbarButtons", dToolbarButtons);
Tipp: Kopieren Sie dazu diesen Text aus dieser Dokumentation.
• Öffnen Sie das Bild "@PG_%Type%_VIEWLIST.PDL“ und vergrößern Sie es
so weit, dass eine neue Sicht als Text unten angefügt werden kann.
• Kopieren Sie ein Textfeld, z.B. "Standard“, fügen Sie es ein und geben der
Sicht einen neuen Namen.
Der Objektname muss mit dem neuen Sichtnamen übereinstimmen, hier
"Alarm".
• Ändern Sie den zugehörigen Anzeigetext für die Viewlist; er kann vom Bild-
namen abweichen und kann mehrsprachig eingegeben werden (siehe
Graphics-Designer > Menu Ansicht > Sprache).
• Öffnen Sie das Kreisbild "@PL_%Type%.PDL" und vergrößern Sie die
vorhandene Check-Box um ein zusätzliches Feld:
In den Eigenschaften "@Views“ der Check-Box selektieren Sie "Geometrie"
und erhöhen die "Anzahl Felder" um 1 (z.B. von 8 auf 9).
• Dieses neue Feld ist nach der neuen Sicht zu benennen:
Eigenschaften > Schrift > Index: die Nr. des hinzugefügten Feldes eingeben
(hier: 9) und im Feld "Text“ den Namen eintragen (hier: "Alarm").
• Damit das Feld später im Runtime sichtbar ist:
In den Eigenschaften "@Views“ > Ausgabe/Eingabe und Doppelklick auf
"Selektierte Felder". Wählen Sie in der Liste den Index "9" und schließen sie
mit "OK". Hinweis: Mehrfachauswahl bei gedrückter CTRL-Taste.
• Für die neue Sicht im Kreisbildrahmen ein Bildfenster einbringen:
Kopieren Sie aus einer vorhandenen Sicht (z.B. STANDARD) das Objekt
"Bildfenster“ und geben Sie ihm einen neuen Namen (hier: "Alarm").
• Ausgehend von den Objekten "@Level5" und "@Level6" eine Kette von
Direktverbindungen für die einzelnen Berechtigungsstufen aufbauen:
Beispiel: Wenn Sie mehrere EA-Felder mit Berechtigungsstufe 6 schützen
möchten, dann müssen Sie das Property "Bedienfreigabe" des Objekts
"@Level6" per Direktverbindung mit dem Property "Bedienfreigabe" des ersten
EA-Feldes verbinden:
- Markieren Sie das erste EA-Feld und öffnen Sie den Objekteigenschaften-
dialog. Über die Registerkarte "Ereignis" können Sie nun die Direktver-
bindung zum Objekt "@Level6" projektieren.
- Das zweite EA-Feld müssen Sie nun per Direktverbindung auf das erste
verbinden usw.
Bei der Projektierung ist zu beachten, dass neu hinzugefügte Bedienelemente
grundsätzlich am Ende der Berechtigungskette eingefügt werden.
Es wird empfohlen, die Reihenfolge der Berechtigungskette zu dokumentieren.
Der Wechsel der Hintergrundfarbe für die Bedienberechtigung kann auf die
gleiche Weise verkettet werden.
• Speichern Sie das Bild unter dem entsprechenden Typnamen, hier:
"@PG_MEAS_MON_STANDARD.PDL“.
2.2.4 Sprachumschaltung
Voraussetzungen
Sie benötigen:
• den in WINDOWS-NT integrierten ASCII-Editor "Notepad" o.ä. zur Erstellung
einer Registrierungsdatei.
• ein Erstellungswerkzeug für die Hilfethemen (z.B. "RoboHelp").
Die Hilfe kann aus zwei Dateien bestehen, einer HLP-Datei (Hilfethemen) und
einer CNT-Datei (Inhaltsverzeichnis).
Die CNT-Datei ist dann sinnvoll, wenn die Baustein-Hilfe nicht ausschließlich als
Kontext-Hilfe (F1 auf den selektierten Baustein) verwendet werden soll. Bei einer
Bibliothek mit mehreren Bausteinen können die einzelnen Hilfethemen in einem
Inhaltsverzeichnis (Contents) aufgeführt werden. Damit besteht die Möglichkeit,
auch zu den Hilfethemen der anderen Bausteine zu wechseln, ohne dass der
betreffende Baustein vorhanden sein muss.
Diese CNT-Datei kann auch in der CNT-Datei eines anderen Hilfeprojektes mit
einer INCLUDE-Anweisung aufgenommen werden. (z.B. ":include Mylib__a.cnt").
Die eingebundene CNT-Datei wird dann im Inhaltsverzeichnis des anderen
Hilfeprojekts mit aufgeführt, wenn beide im gleichen Ordner der Installation
vorhanden sind.
Falls Sie Ihre Online-Hilfe in mehreren Sprachen anbieten wollen, müssen Sie für
jede gewünschte Sprache eine eigene Hilfedatei erstellen. Bei PCS 7 besteht der
Name aus 8 Zeichen, von denen das letzte Zeichen für die Sprachkennung
verwendet wird:
a deutsch
b englisch
c französisch
d spanisch werden z. Zt von PCS7
e italienisch nicht unterstützt
Mittels der Registrierung (vgl. Kapitel 3.2) wird von PCS 7 dann die zur jeweiligen
über den Dialog "Options > Customize > Language" eingestellten
Landessprache passende Hilfedatei aufgerufen.
Zuletzt müssen Sie die Hilfedatei (falls vorhanden auch die zugehörige CNT-Datei)
in das Unterverzeichnis des STEP7-Verzeichnisses kopieren, in dem Ihre
Bibliothek bzw. das Projekt mit Ihren Bausteinen installiert wird.
[HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\STEP7\2.0\Applications\s7libs\mylib\ABC]
"Version"="0.1"
"VersionDate"="03.05.2000"
"HelpFileGerman"="S7libs\\mylib\\MYLIB__a.hlp"
"HelpFileEnglish"="S7libs\\mylib\\MYLIB__b.hlp"
"HelpFileFrench"="S7libs\\mylib\\MYLIB__c.hlp"
[HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\STEP7\2.0\Applications\s7libs\mylib\ABC\XYZ]
"CONTROL"=dword:00000010
"CONTROL2"=dword:00000011
"CONTROL3"=dword:00000012
Hinweis
Beachten Sie bitte, dass es durch fehlerhafte Einträge in der Registry zu
Störungen im Programmablauf kommen kann oder die gewünschte Funktion nicht
ausgeführt wird.
Verwenden Sie daher die Schlüssel so wie in dem hier aufgeführten Beispiel.
Dabei steht der Bibliotheksname für einen von Ihnen frei gewählten Namen für Ihre
Bibliothek (hier: mylib). Er entspricht dem Namen des STEP7-Unterverzeichnisses,
in dem Ihre Hilfedatei abgelegt ist. Unter diesem Namen wird Ihre Bibliothek im
CFC-Editor angezeigt. Author steht für den von Ihnen beim Attribut AUTHOR im
Bausteinkopf angegebenen Namen (hier: ABC).
Version
Enthält die Versionsnummer der gesamten Bibliothek. Dieser Eintrag ist optional.
VersionDate
Enthält das Erstellungsdatum der gesamten Bibliothek. Dieser Eintrag ist optional.
Hinweis
Die Sprachen Italienisch und Spanisch werden bisher nicht von PCS 7 unterstützt.
Voraussetzungen
Zur Erstellung einer lieferfähigen Bibliothek inkl. dem dazu gehörigen Setup
benötigen Sie ein Programm zur Erstellung von Installationsprogrammen, z.B.
"InstallShield".
AKZ
Anlagenkennzeichen: Wird gebildet aus den Namen der THO, die die Eigenschaft
"namensbildend" haben und aus dem Namen des CFC-Plans und des Bausteins
im CFC
AS-Baustein
Objekt einer Bibliothek oder einer Bausteinstruktur, das einen Teil des S7-An-
wenderprogramms enthält. Als AS-Bausteine werden die Bausteine bezeichnet, die
in der CPU eines AS ablaufen.
Asynchrone OBs
Asynchrone OBs (Organisationsbausteine) werden vom Betriebssystem der CPU
beim Auftreten asynchroner Ereignisse (z.B. Fehler) aufgerufen.
AUTHOR
Í Baustein-Attribut:
Enthält bei Verwendung einer Bausteinbibliothek den Bibliotheksnamen. Wird zur
Identifikation der zur Bibliothek passenden Hilfedatei verwendet.
AWL
Anweisungsliste: Die Anweisungsliste ist eine maschinennahe, textuelle
Programmiersprache gemäß IEC 1131-3.
BATCH flexible
Programmpaket für die Erstellung komplexer Rezeptsteuerungen für den gesamten
Bereich von kleinen bis hin zu großen Anwendungen.
Baustein-Attribut
Mit Hilfe der Baustein-Attribute (Í FUNCTION_BLOCK, Í TITLE, Í Liste der
Systemattribute, Í AUTHOR, Í NAME, Í VERSION, Í FAMILY, Í
KNOW_HOW_PROTECT) des Bausteins können Sie die Objekteigenschaften
Ihres Bausteins beeinflussen
Bausteinkopf
1. Abschnitt des Í AS-Bausteins mit Verwaltungsinformationen (Í Baustein-
Attribute).
2. Oberer Teil des Bausteins in der grafischen Darstellung des CFC, der u.a. die
Namen (Bausteintyp, Bausteinname), Kommentar und die Task-Zuordnung
(Ablaufeigenschaft) enthält.
Bausteinsymbol
Symbolische Darstellung der wichtigsten Informationen eines Í AS-Bausteins.
Über das Bausteinsymbol kann der zugehörige Í Bildbaustein aufgerufen werden.
Bedienen
Vorgang, bei dem der Anlagenfahrer Wert- bzw. Zustandsveränderungen bei
einem Baustein veranlasst. In der Regel wird dies durch Eingaben an der OS
eingeleitet, überprüft und an den Baustein im AS weitergeleitet. Dort erfolgt eine
letzte Überprüfung vor der Zuweisung an den Baustein, weil sich in der Zeit
zwischen dem OS-Senden und dem AS-Empfang die Prozessbedingungen
verändern könnten.
Bedienberechtigung
Berechtigung des aktuellen Anlagenfahres zum Í Bedienen des Í AS-
Bausteinparameters
Beobachten
Teil der Aufgaben einer OS, die die Visualisierung der Prozessparameter und
Zustände in verschiedenen Formen (numerisch, grafisch) ermöglicht.
Bibliothek
Softwarepaket mit nach gemeinsamen Merkmalen zusammengefassten Í AS-
und/oder Í Bildbausteinen.
Bildbaustein
Grafische Darstellung aller Elemente eines AS-Bausteins, die zum Bedienen und
Beobachten auf einer OS vorgesehen sind.
CFC
Continuous Function Chart. Synonym für:
1. Funktionsplan, auf dem Bausteine platziert, verschaltet und parametriert
werden können. Ein CFC-Plan besteht aus 1 bis 26 Teilplänen mit jeweils 6
Blättern.
2. Editor zur technologieorientierten, grafischen Projektierung der Automati-
sierungsaufgabe. Mit dem CFC-Editor wird aus vorgefertigten Bausteinen eine
Gesamt-Softwarestruktur (CFC-Plan) erstellt.
CNT-Datei
Optionaler Bestandteil einer Online-Hilfe. Die CNT-Datei enthält das Inhalts-
verzeichnis der Online-Hilfe
Codeteil
Bestandteil eines Bausteins, der den Algorithmus des Bausteins enthält.
Deklarationsteil
Bestandteil eines Bausteins, der die Schnittstelle des Bausteins sowie seine intern
verwendeten Daten definiert.
Erstlauf
Aus Bausteinsicht der Vorgang, bei dem der Baustein nach seiner Instanziierung
zum ersten Mal bearbeitet wird. Anschließend befindet sich der Baustein in einem
definierten Zustand bezüglich der Parameter bzw. Betriebsarten.
FAMILY
Í Baustein-Attribut:
Enthält bei Verwendung einer Bausteinbibliothek einen gemeinsamen Namen für
eine Teilmenge der Bausteine. FAMILY und Í NAME sind Teilschlüssel zur Suche
des Hilfetextes eines Bausteins in der Online-Hilfe.
Funktion (FC)
In IEC 1131–3 festgelegt als Software-Einheit, die beim Ausführen ein einziges Er-
gebnis liefert (es kann auch ein strukturierter Datentyp sein) und keine speichernde
Datenablage (Gedächtnis) hat. Der wesentliche Unterschied zu dem FB ist die
fehlende Datenablage.
FUNCTION_BLOCK
Í Baustein-Attribut:
Enthält den symbolischen Namen des Bausteins. Wird für die Anzeige des
Namens im SIMATIC Manager und im CFC-Plan verwendet.
Funktionsbaustein (FB)
Ein Funktionsbaustein ist gemäß IEC 1131-3 ein Codebaustein mit statischen
Daten. Mit dem FB bietet können im Anwenderprogramm Parameter übergeben
werden. Dadurch eignen sich Funktionsbausteine zur Programmierung von häufig
wiederkehrenden komplexen Funktionen, z.B. Regelungen, Betriebsartenanwahl.
Da ein FB über ein Gedächtnis (Instanz-Datenbaustein) verfügt, kann auf dessen
Parameter (z.B. Ausgänge) zu jeder Zeit an jeder beliebigen Stelle im
Anwenderprogramm zugegriffen werden.
Global Script
Global Script ist innerhalb von Í WinCC der Oberbegriff für vom Anwender
erzeugte C-Funktionen, die projektweit oder auch projektübergreifend verwendet
werden können.
Graphics Designer
Grafischer Editor in Í WinCC zur Erstellung von Bildbausteinen.
KNOW_HOW_PROTECT
Í Baustein-Attribut:
Das gesetzte Attribut schützt den Algorithmus des Bausteins gegen Einsichtnahme
und Änderung, wenn die Quelle nicht im gleichen Programm vorhanden ist.
Meldeliste
Aus dem Runtimesystem von Í WinCC heraus besteht die Möglichkeit, Listen mit
Meldungen anzeigen zu lassen und zu bearbeiten. Die in den Listen angezeigten
Meldungen beziehen sich ausschließlich auf das aktuelle Projekt.
Multiinstanzbaustein
Baustein, der sich aus mehreren Bausteinen zusammensetzt. Seine Instanz
(Datenablage) beinhaltet die Instanzen (Datenablagen) der in ihm zusammen-
gefassten (aufgerufenen) FBs.
NAME
Í Baustein-Attribut:
Enthält den symbolischen Namen des Bausteins; identisch mit Í
FUNCTION_BLOCK. NAME und Í FAMILY sind Teilschlüssel zur Suche des
Hilfetextes eines Bausteins in der Online-Hilfe.
OK-Flag
Das OK Flag ist eine systeminterne Variable. Tritt während der Ausführung einer
Operation ein Fehler auf z.B. Überlauf bei arithmetischen Operationen, so wird das
OK-Flag vom System beeinflusst und an den Bausteinausgang ENO
durchgereicht.
Prototypbild
Prototypbilder werden von Í WinCC dazu verwendet, bereits projektierte Bild-
komponenten wieder zu verwenden. Die Technik der Prototypbilder arbeitet mit
sogenannten Templatebildern, die mehrfach in ein oder mehrere Vaterbilder ein-
gebunden werden. Ein Templatebild ist nur eine Schablone, die erst in einem
echten Objekt zum Leben erweckt wird. Ein Objekt auf Basis einer Schablone
(=Prototypbild) entsteht durch eine sogenannte Instanzierung. Es können mehrere
Instanzen (d.h. echte Objekte) zu einer Schablone erstellt werden.
Registrierungsdatei
Eine ASCII-Datei (.reg) die alle Informationen enthält wie Pfad, Einsprungadressen
für Online-Hilfe etc., um z.B. einen Baustein in der WINDOWS NT-Registrierung
einzutragen. Über diese registrierten Informationen kann im CFC oder SIMATIC
Manager für einen selektierten Baustein die Online-Hilfe in der gewünschten
Landessprache aufgerufen werden.
SCL
Höhere Programmiersprache zur Formulierung technologischer Problemlösungen
in der SIMATIC S7 (PASCAL-ähnlich), entsprechend der in IEC 1131–3 festgeleg-
ten Sprache ST (structured text).
Sicht
Darstellungsart eines Bildbausteins, in der bestimmte Werte eines AS-Bausteins
angezeigt werden (z.B. Trendsicht, Meldesicht, Standardsicht usw.).
Standardsicht
Í Sicht eines Í Bildbausteins, bei der die wichtigsten Werte des zugehörigen Í
AS-Bausteins visualisiert werden.
Startinfo
Die Startinformation ist Bestandteil eines Organisationsbausteins (OB). Sie infor-
miert den S7-Anwender detailliert über das Ereignis, das den Aufruf des OB aus-
gelöst hat.
TITLE
Í Baustein-Attribut:
Diese Information wird unter PCS 7 nicht ausgewertet, sie wird jedoch im
SIMATIC Manager in den Objekteigenschaften des Bausteins im Kommentarfeld
angezeigt.
Trendsicht
Í Sicht eines Í Bildbausteins, bei der der zeitliche Verlauf der wichtigsten Werte
des zugehörigen Í AS-Bausteins visualisiert wird.
UDT
Í Anwenderdefinierte Datentypen
VERSION
Í Baustein-Attribut:
Enthält die Versionsnummer des Bausteins
WinCC
Windows Control Center: Ein Software-Paket zur technologieorientierten
grafischen Entwicklung von Í Bildbausteinen sowie zur Bedienung und
Beobachtung des AS.
A F
Advanced Process Control ............................ 2-1 Faceplate Designer ........................................2-4
ALARM_8..................................................... 1-33
ALARM_8P .................................................. 1-35
AS-Baustein G
Anwender-Schnittstelle .............................. 1-5 Globale Skripte...............................................2-5
Aufbau ....................................................... 1-2 Gruppenbildrahmen........................................2-7
asynchronen Ereignis .................................. 1-23
Ausgangsparameter..................................... 1-11
H
B Herkunft der Meldung ...................................1-34
Hilfedatei ........................................................3-1
Basic Process Control.................................... 2-1 Hilfethema ......................................................3-1
BATCH flexible............................................. 1-36 HLP-Datei.......................................................3-2
Batch-Kennung ............................................ 1-34
Bausteinkopf .................................................. 1-6
Bausteinparameter....................................... 1-11 I
Bausteinsymbol.............................................. 2-5
Bedienberechtigung ..................................... 2-12 INCLUDE-Anweisung .....................................3-2
Bedienungen................................................ 1-26 Installationsskript............................................4-2
Begleitwerte ................................................. 1-35 InstallShield ....................................................4-1
Bereichszuordnung ...................................... 1-34
Bibliothek ....................................................... 4-1 K
Bildbaustein
Entwurf....................................................... 2-1 Kommentare.................................................1-12
Projektierung.............................................. 2-2 Kompatibilität zu PCS7...................................2-4
Test............................................................ 2-3 Kreisbildrahmen ...........................................2-10
Bildgröße
ändern........................................................ 2-9
Blockbild CONTROL ...................................... 1-2
L
Landessprache...............................................1-5
C Lokale Variablen...........................................1-18
CFC-Bausteintypen...................................... 1-37
CNT-Datei ...................................................... 3-2
M
Codeteil........................................................ 1-19 MAP-ID...........................................................3-1
CONTROL2 ................................................. 1-37 Meldebegleitwerte ........................................1-36
Meldeklasse .................................................1-34
D Meldungen....................................................1-28
Meldungsprojektierung .................................1-33
Deklarationsteil ............................................ 1-11 Multiinstanz ..................................................1-18
Durchgangsparameter ................................. 1-11
Dynamisierung ............................................. 2-14
N
E Namenskonventionen...................................1-38
Nummernbereich..........................................1-38
Eingangsparameter...................................... 1-11
Erstlauf......................................................... 1-20
O
Objekt-Baukasten...........................................2-5
R V
Registrierungsdatei ........................................ 3-3 Vorlagen .........................................................2-4
Vorlagenbilder ................................................2-5
S
W
S7-Bibliothek.................................................. 4-1
SAMPLE_T .................................................. 1-21 Weckalarm-OB .............................................1-23
SCL-Compiler WinCC Graphics Designer .............................2-2
Voreinstellungen ........................................ 1-3
Setup ............................................................. 4-2 Z
Sichtenliste .................................................... 2-7
Split Screen Wizard ....................................... 2-5 Zeitabhängigkeit ...........................................1-21
Sprachen ..................................................... 1-35