# Steuerungskonfigurationen importieren möglich? codesys 2.3



## KingHelmer (25 April 2013)

Hallöchen!

Ich habe eine Standard-Software programmiert.
Es gibt drei SPS-Ausbaustufen, die jeweils größer werdende Konfigurationen besitzen.

Dadurch, dass ich aber eine Standard-Software haben will, möchte ich nur unbenutzte Teile (Bausteine) vom Übersetzen ausschließen.
Dadurch muss ich bei Aktualisierungen nicht 3 verschiedene Programme ändern, sondern nur eines.
Der Vorteil dürfte jedem klar geworden sein.

Was nun aber natürlich ein Problem darstellt, ist die Steuerungskonfiguration und meine Globalen Variablen.

1. Steuerungskonfiguration:

- Kann ich irgendwie verschiedene Steuerungskonfigurationen exportieren und importieren, je nach Projekt. Ich müsste dann nur die Steuerung entsprechend einfügen und nicht gleich alles ändern.

2. GLobale Variablen:

- Dadurch, dass bei verschiedenen Konfigurationen auch verschiedene Sonderklemmen dazukommen oder wegfallen, ändern sich alle Digitalen Aus- und Eingänge der Steuerungskonfiguration. 
Meine Glob. Variablen sind so aufgebaut, dass ich dem 1. Kontakt der ersten DI Klemme die Variable DI1_1 zuordne und so weiter.
Genauso für DOs und AIs/AOs.


```
Bsp: DI1_1 AT %IX3.0 : BOOL;
```

Das Problem könnte ich durch einfaches Copy/Paste in der Variablenliste oder durch Auschließen vom Übersetzen lösen, indem ich drei Listen einbaue, wobei nur eine "genutzt" wird.

Vieleicht kann mir aber jemand mit der Steuerungskonfiguration weiterhelfen?

Vielen Dank schonmal im Voraus, 

Florian Helmer


----------



## MarkusP (25 April 2013)

Hi,

ich deklariere in meinen Programmen EA's nie direkt, sondern ausschließlich als %I* und %Q* in Funktionsbausteinen.
Nach dem instanzieren und übersetzen wird das Mapping vom PLC-Control erstellt.
Die Hardware wird automatisiert komplett über den TSM erstellt und dann verknüpft.
Gibt es die zugehörige Hardware nicht, fehlt die zugehörige Verknüpfung.
Diese Vorgangsweise könnte für Dich auch passen.

LG


----------



## tomrey (26 April 2013)

Hi MarkusP,
bitte nochmal für dummies. Was bedeutet:


> Nach dem instanzieren und übersetzen wird das Mapping vom PLC-Control erstellt.
> Die Hardware wird automatisiert komplett über den TSM erstellt und dann verknüpft.


Das Thema interessiert mich nämlich auch...
Gruß


----------



## MarkusP (26 April 2013)

Hallo tomrey,

normalerweise erstellt man die Variablen in einer Variablenliste.
Die Deklaration über %I* und %Q* unterstützen auch nicht alle Hersteller, bzw. macht es nicht immer Sinn.
Bei Beckhoff hingegen, macht es schon Sinn, d.h. Du deklarierst deine Ein- und Ausgänge adressunabhängig in einem Funktionsbaustein.
Danach brauchst Du Deine FB-Eingänge und FB-Ausgänge *nicht *beschalten, sondern machst dies über den Systemmanager.
Das genügt dann schon, damit die FB-Eingänge und FB-Ausgänge direkt von der Hardware beschrieben bzw. gelesen werden.
Sollte es einmal einen Eingang nicht geben, so kannst Du dann immer noch den FB-Eingang mit Variablen oder TRUE oder FALSE
belegen. So haben wir z.B. für eine Pumpe ein Standard-FB mit zig Ein- und Ausgängen gemacht, der nach Bedarf im TSM beschalten wird,
so übergeben wir z.B. komplette Profibusslaves mit zig Bytes Nutzdaten direkt im Systemmanager.

Der Systemmanager kann über die Automatisierungsschnittstelle gesteuert werden, wir erstellen so zu 90% die Hardware
aus dem E-Plan und verknüpfen bis zu 95% der Hardware vollautomatisch. Man muß sich ein gutes System überlegen, aber dann macht das richtig Sinn.

Was micht immer wieder wundert ist, daß fast niemand diese Art der Deklaration bei Beckhoff verwendet.
Bei Anlagen mit 10000 E/A-Punkten habe ich, wenn überhaupt, 10 Variablen bei den globalen Variablen deklariert,
der Rest erfolgt über die FB's. Händisch zu verknüpfen wäre dort fast unmöglich, von der Fehlerquote ganz zu
schweigen.

Grüße


----------



## tomrey (26 April 2013)

Vielen Dank für deine Mühe!
Kann es sein, dass das Ganze Beckhoff-spezifisch ist und es das bei (meiner) Wago gar nicht gibt?
Ich definiere Variablen für alle Adressen in der Codesys Steuerungskonfiguration (sind dann "Systemvariablen") und sortiere sie fallweise bei der Instanzierung von FB's zu. Wenn eine Instanz bestimmte In/Out-Variablen nicht braucht, lasse ich sie einfach weg.
Ist das sinngemäß das Gleiche?
Grüße


----------



## tomrey (26 April 2013)

KingHelmer schrieb:


> Hallöchen!
> 
> 
> - Kann ich irgendwie verschiedene Steuerungskonfigurationen exportieren und importieren, je nach Projekt. Ich müsste dann nur die Steuerung entsprechend einfügen und nicht gleich alles ändern.


Hi,
das geht doch über die normale Export-Funktion, wenn du dort die Steuerungskonfiguration selektierst..?
Gruß


----------



## MarkusP (26 April 2013)

Wie schon gesagt, die Deklaration über %I* und %Q* unterstützen auch nicht alle Hersteller, bzw. macht es nicht immer Sinn.
Das dürfte in dem Fall dann leider auch bei WAGO zutreffen...
Bei TwinCAT (Beckhoff) gibt es die Codesys Steuerungskonfiguration in der Form nicht, diese TwinCAT_Configuration erstellt
dann der TwinCAT Systemmanager.

Schönen Abend


----------

