Zurück

Seite 2           STEP5 mit UPSPS4  -  Beispiel einer Anweisungsliste (AWL)

Weiter

 

 

 


Startseite

UPSPS4

 

Logikplan

Programmtest

Grundmodell

Ampel

Pneumatik

Spindeltrieb

Aufzug

Referenzen

Die AWL eines Taktgenerators 

Die Anweisungslisten sind Grundlage der Programmerstellung. Sie werden als normaler Text mit einem Pascal-kompatiblen Editor geschrieben. Entsprechende Texte können jedoch auch mit jedem anderen Editor erstellt und von UPSPS4 gelesen werden, soweit sie als reiner ASCII-Text gespeichert worden sind.
Setzt man den Cursor in die erste Textzeile einer Anweisungsfolge und drückt die Funktionstaste [F3], so wird diese automatisch in einen Logikplan übersetzt und der Logikplaneditor aufgerufen. Dort ist eine weitere Bearbeitung des Programmes möglich. Verläßt man mit [F3] den Logikplaneditor, so werden die dort gemachten Änderungen in die AWL eingebaut. Der gesamte übersetzte Text des Logikplans wird als Block farblich gekennzeichnet und als Netzwerk deklariert, das automatisch numeriert wird.
Statt der Operandenbezeichnungen, wie etwa E 2.0 oder M 63.6 können Symbole definiert und verwendet werden, wie z.B. EIN (für E 2.0), AUS1 (für A 5.0) oder AUS2 (für A 5.1) usw. Zwischen der Operanden- und Symboldarstellung kann mit der Funktionstaste [F7] hin- und hergeschaltet werden.
Kommentarblöcke und einzelne Kommentarzeilen bewirken Überschaubarkeit und Wartungsfreundlichkeit des Programmes.
Strukturelle Programmierung wird ebenso zur Verfügung gestellt wie eine Compileranweisung, die den Programmtest dem Aufbau des verwendeten Automatisierungsgerätes anpaßt.
Bildschirmmodelle können von selbstgeschriebenen Programmen angesteuert werden. Die "Verdrahtungsanweisungen" für die Verbindung zwischen SPS und Modell werden am Ende eines Programmtextes als Belegungsliste angefügt, so daß sie dauerhaft zur Verfügung stehen.
Der fertige Programmtext wird nach Tastendruck compiliert, d.h. in die Maschinensprache der SPS übersetzt. Anschließend kann er auf verschiedene Art und Weise getestet werden.
Ist der Text am Personalcomputer ausgetestet, kann er problemlos zur SPS übertragen werden. Ebenso ist es möglich, ein in der SPS vorhandenes Programm in den Editor zu laden, dort zu bearbeiten, zu speichern und wieder zurück zur SPS zu transferieren.

Hier nun ein Beispieltext mit vielen erläuternden Kommentaren:
(Den entsprechenden Funktions- oder Logikplan sehen Sie auf der nächsten Seite)

{--------------------------------------------------------------------
                             TAKT.UP4                               
 --------------------------------------------------------------------
  Beispiel einer Takterzeugung für den ersten Umgang mit UPSPS4     
  (c)  U. Perwaß            V 1.0              vom  1.11.1996
 --------------------------------------------------------------------
Hinweis: Mit der Funktionstaste [F1] erreichen Sie die Hilfefunktion.
         Unter "Editieren in AWL" bzw. "Editieren in LOP" erfahren Sie
         dort alles über die Struktur eines Programmtextes.
         Die Hilfefunktion verlassen Sie mit der Taste [ESC].
--------------------------------------------------------------------
                      Compileranweisungen
}--------------------------------------------------------------------
$CPU 102                     'Anzeige der Anweisungszeiten der CPU 102
$PLATZ 0:0AE6,1:1AA0,2-4:2DE,5-7:5DA
'Beispielhafte Deklaration der Testplatzbelegung für den Programmtest:
'Platz 0  : analoger Eingang des Kanaltyps 6
'Platz 1  : analoger Ausgang des Kanaltyps 1
'Platz 2-4: digitaler Eingang mit Byte EB 2 auf Platz 0
'Platz 5-7: digitaler Ausgang mit Byte EB 5 auf Platz 5
'Hinter dem Doppelpunkt steht die Bytenummer, die für DE und DA
'zwischen 0..127 frei gewählt werden kann. Dies ist wichtig für die
'SPS der Serie S5-90U. Bei S5-100U müssen Bytenummer und Testplatz-
'nummer übereinstimmen.
{--------------------------------------------------------------------
                         Symboltabelle                              
}--------------------------------------------------------------------
%EIN      =  E   2.0         'Einschalter
%AUS1     =  A   5.0         'Ausgabebit 1
%AUS2     =  A   5.1         'Ausagbebit 2
%AUS3     =  A   5.2         'Ausgabebit 3
%ZEIT1    = DW   0           'Zeitwert
%TIMER    =  T   0           'Timer
%T-IMPULS =  M  10.0         'Timerimpulsbegrenzer
%TAKT-M   =  M  10.1         'Taktmerker
%TAKT-HM  =  M  10.2         'Takthilfsmerker
{--------------------------------------------------------------------
 Organisationsbaustein:     OB  1 
}--------------------------------------------------------------------
          OB      1          'Deklaration des OB 1
          A  DB   3          'Aktivierung des Datenbausteins 3
          SPA PB   1         'absoluter Sprung zum PB 1
          BE                 'Bausteinende des OB 1
{--------------------------------------------------------------------
  Programmbaustein:          PB  1                                  
}--------------------------------------------------------------------
          PB      1          'Deklaration des PB 1
'Setzen Sie den Cursor auf folgende Zeile und drücken Sie [F3]:
'Netzwerk 001 *  Taktgenerator
          UN  %T-IMPULS      'Wenn kein Taktimpuls
          U   %EIN           'und Programm eingeschaltet, dann
          L   %ZEIT1         'lade Zeitwert in den Akku 1 und
          SE  %TIMER         'setze den Timer auf Einschaltverzögerung
          U   %TIMER         'übernehme Timerstatus in den
          =   %T-IMPULS      'Zwischenmerker
          U   %T-IMPULS      'Wenn Timerimpuls
          UN  %TAKT-M        'und nicht Taktmerker, dann
          S   %TAKT-HM       'setze Takthilfsmerker
          U   %T-IMPULS      'Wenn Timerimpuls
          U   %TAKT-M        'und Taktmerker, dann
          R   %TAKT-HM       'setze Takthilfsmerker zurück
          U   %TAKT-HM       'Hier erst wird der Taktmerker gebildet,
          =   %TAKT-M        'der im nächsten Zyklus wirksam wird.
          BLD   255
'*****
'Ausgabe verschiedener Merker nur für Anzeigezwecke beim Testen:
'Netzwerk 002 * Ausgabe des Timerimpulsbegrenzers
          U   %T-IMPULS
          =   %AUS1
          BLD   255
'*****
'Netzwerk 003 * Ausgabe des Taktmerkers
          U   %TAKT-M
          =   %AUS2
          BLD   255
'*****
'Netzwerk 004 * Ausgabe des Takthilfsmerkers
          U   %TAKT-HM
          =   %AUS3
          BLD   255
'*****
          BE                 'Bausteinende des PB 1
{--------------------------------------------------------------------
  Datenbaustein:             DB  3
}--------------------------------------------------------------------
          DB      3, 20      'Deklaration des DB 3 mit 20 Datenwörtern
{Die Anzahl der Datenwörter wird automatisch errechnet, wenn Sie nach
 dem Schreiben der DATA-Zeilen noch einmal die "DB 3,20"-Zeile bear-
 beiten. Dann kann auch der AWL-Zeilenzähler richtig arbeiten.
 Wenn Sie den Cursor in die "DB 3,20"-Zeile setzen und [F4] drücken,
 erhalten Sie den gesamten Datenbaustein in Form einer Tabelle.
 Nachfolgende DATA-Zeilen deklarieren den Inhalt von DB 3.
}Es sind beliebige Zahlenwerte möglich (siehe Hilfetexte):
DATA 10.1T                   'z.B. Deklaration des Timerwertes
'Beliebige Texte können als Zeichenketten eingegeben werden:
DATA "Hallo, hier ist der Datenbaustein 3!"#10#13 'Hier Kommentar
DATA-ENDE            'Ende des Datenbausteins (unbedingt erforderlich)
{--------------------------------------------------------------------
                          Textende                                  
}--------------------------------------------------------------------
'Ab hier werden die Modellbelegungslisten von den einzelnen Modellen
'automatisch an den Programmtext angefügt:
{*M401===================================================
 *M Belegungsliste für Modell UPM401:  > Grundmodell <
 *m =====================================================
 *ma 1= e  2.0: schalter  1
 *ma 2= e  2.1: schalter  2
 *ma 3= e  2.2: schalter  3
 *ma 4= e  2.3: schalter  4
 *ma 5= e  2.4: schalter  5
 *ma 6= e  2.5: schalter  6
 *ma 7= e  2.6: schalter  7
 *ma 8= e  2.7: schalter  8
 *ma 9= e  3.0: schalter  9
 *ma10= e  3.1: schalter 10
 *me 1= a  5.0: lampe  1
 *me 2= a  5.1: lampe  2
 *me 3= a  5.2: lampe  3
 *me 4= a  5.3: lampe  4
 *me 5= a  5.4: lampe  5
 *me 6= a  5.5: lampe  6
}*m401============ Ende der Belegungsliste ==============

  Besucher aller Seiten in diesem Jahr:

Letzte Änderung:  12.02.2010 12:40:40   -  Copyright Ulrich Perwaß 1991/2002.    Alle Rechte vorbehalten

Zurück

Seite 2               STEP5 mit UPSPS4  -  Beispiel einer Anweisungsliste (AWL)

Weiter