Navigation:  Anlage > Gemeinsame Eigenschaften von Elementen >

   Script

Vorherige SeiteKapitelübersichtNächste Seite

 

 

In dem Script kann für jedes Element ein kurzes Stück AWL-Code geschrieben werden, um die Eigenschaften zu modifizieren oder außerhalb der SPS befindliche Hardware nach zu bilden. Als Beispiel sei ein Förderband genommen, das nicht laufen kann, wenn der Motorschutzschalter gefallen ist.

 

Im Script würde dann stehen:

U “Q Motor”

// Motorschutzschalter (Eingang)

U “A Motor”

// Ausgang Motor start

= “#bool0”


 

An der Stelle in der Antriebsmaske, an der vorher nur “A Motor” stand, steht jetzt #bool0.

 

Das #bool0 ist ein Bit aus dem jedem Element einzeln zugeordneten Instanzdatenbaustein. Alle statischen Variablen dieses IDB sind nur innerhalb des Elementes bekannt und behalten von einem Simulationsschritt zum nächsten ihren Wert, es sei denn, sie stehen in einem Interface-Panel eines schreibenden Elementes.

 

Die Deklaration der statischen Variablen kann mit dem Button VAR angezeigt und editiert werden:

 

Sie können dort neue Variablen deklarieren (und auch den Namen der vordefinierten #bool0, #int0 und #dint0 ändern). Es sind die Datentypen BOOL, BYTE, INT, WORD, DINT, DWORD und REAL erlaubt. Es sind alle Adressen bis 20.0 erlaubt. Die Adressvergabe wird von TrySim nicht so streng überwacht wie bei Fbs, es können sogar überschneidende Adressen eingegeben werden. Sich überschneidende Adressen können nützlich sein, wenn z.B. auf Words auch bitweise zugegriffen werden soll. Die freie Adressvergabe erfordert allerdings auch mehr Aufmerksamkeit bei der Erstellung.

 

Am linken Rand werden die Werte der Operanden angezeigt. Bitte beachten Sie, dass dort nicht das VerKnüpfungsErgebnis und nicht die Akku-Inhalte dargestellt sind. Durch einen Klick auf die LED oder die Zahl können sie diese ändern.

 

Der Nutzen dieser Scripts zeigt sich besonders bei der Wiederverwendung von Anlagen für das nächste Projekt. Fast alles, was sonst im OB2 und OB3 untergebracht war, ist jetzt direkt im Element und wird mit diesem übernommen. Außerdem ist transparenter geworden, was das Verhalten eines Elementes außerhalb des SPS-Programms zusätzlich beeinflusst.

 

Nützlich ist das Script auch, wenn man gar kein “richtiges” SPS-Programm schreiben möchte, sondern nur zu Demonstrationszwecken eine gesteuerte Simulation benötigt.

 

Auf die statischen Variablen des übergeordneten Elements kann z.B. mit #vater.bool0 zugegriffen werden (nur symbolisch). Dies hat sich als nützlich für die Kommunikation von Elementen untereinander erwiesen, da nun dafür keine absoluten Adressen (z.B. Merker oder Datenbausteine) mehr vergeben werden müssen.

 

Ein Zugriff auf eine freiere Weise (dann vermutlich über z.B. #friend.bool0) ist in Vorbereitung. Ebenso wird mit der Syntax z.B. #element.position_x einfacher Zugriff auf interne Daten möglich sein, auf die bisher nur mit den Peek- und Poke-Elementen zugegriffen werden konnte.

 

Anregungen aus der Praxis zum Script sind uns sehr willkommen.

 

 

März 2009

 

Gemeinsame Eigenschaften