# Projekte ohne komplette Hardware kompatibel machen



## Passion4Automation (20 August 2022)

Hallo,

ich habe folgende Frage:
Wenn ich größere Änderungen an einem Projekt durchführe z.B. im Dali oder mit seriellen Schnittstellen, Modbus usw., teste ich gerne erstmal die Tauglichkeit des Codes an einer anderen SPS mit abgespeckttem Hardwareaufbau.

Jetzt das Problem:
Ich muss dann natürlich die ganzen Physikalischen Ein und Ausgänge gegen andere Variablen ersetzen (GVL) weil ich ja das mit einem abgespeckten Hardwareaufbau teste.

Wie krieg ich das am besten hin, dass ich das Projket für die Produktive sowie für die Teststeuerung verwenden kann?
Das einzige was mir einfällt: Code in ST Schreiben und via Bit auf die GVL (Test) oder auf die IOConfig zu schalten, wäre das gängige Praxis?


----------



## Blockmove (20 August 2022)

goifalracer schrieb:


> Wie krieg ich das am besten hin, dass ich das Projket für die Produktive sowie für die Teststeuerung verwenden kann?
> Das einzige was mir einfällt: Code in ST Schreiben und via Bit auf die GVL (Test) oder auf die IOConfig zu schalten, wäre das gängige Praxis?



Wenn du Hardware in der GVL zuweist, dann funktioniert die Vorgehensweise recht problemlos.
Du kannst dir dann noch für die "virtuelle Hardware" Simulationsbausteine schreiben.
Nutz ich bei Anlagen z.B. Ausgang Antrieb ein -> Zeitverzögerung -> Eingang Endlage erreicht.
Funktioniert sicher auch bei Gebäudetechnik


----------



## Passion4Automation (21 August 2022)

Hi Dieter,

Der Ansatz dazu ist mir klar, mir fehlt aber ein kleiner Anhaltspunkt im Detail.
Ich habe meherere POU,s und da werden die Hardwareausgänge direkt symbolisch gemappt. Ich habe also kein extra POU nur für Ein und Ausgänge.

Müsste ich dann in der besagten GVL alle meine Hardwareausgänge den gleichen Namen zuweisen? Ohne das jetzt zu testen würde ich sagen, das gibt Übersetzungsfehler.
Die beiden gelb markierten sind Beispiele, diese würden ja dann nicht mehr da sein, weil auf der Simulationshardware ja die Ein Ausgangskarten nicht vorhanden sind.
Ich hoffe du verstehst was ich meine.
Mir fehlt hier ein Stupser in die richtige Richtung.

Danke.


----------



## Passion4Automation (21 August 2022)

Also wenn ich jetzt eine GVL anlege und versuche meine IO_s darin zu mappen, füge diese im PRG an entsprechender Stelle ein, meckert der Compiler den Präfix der GVL an.?

Wenn ich in der Steuerungskonfig statt Apllication.IO.Test nur Test eintrage, dann wird Fehlerfrei kompiliert.


----------



## holgermaik (23 August 2022)

goifalracer schrieb:


> Wie krieg ich das am besten hin, dass ich das Projket für die Produktive sowie für die Teststeuerung verwenden kann?


garnicht.
Wenn du keine Hardware hast könntest du die Anlaufsperre deaktivieren. Dann läuft allerding der K-Bus für die Karten nicht. (Für reine I/O ok für Kommunikationskarten keine Alternative)

Als Alternative könntest du in deinem Mapping den Präfix "IO_Config_Globals_Mapping" bei allen Variablen entfernen. (die Variablen sind Global und diese GVL wird ohne Pragma {attribute 'qualified_only'} erzeugt.) Anschließend die GVL "IO_Config_Globals_Mapping" exportieren und in eine GVL deiner Wahl die Variablen einfügen und nur die Variablen der vorhandenen Hardware mappen.

Wenn du deinen Präfix behalten möchtest musst du leider alle Variablen im Projekt auf deine Test GVL umbenennen.


----------



## Passion4Automation (25 August 2022)

Also wenn ich die GVL so anlege wie in den Screenshots und es so mache wie Dieter es beschreibt, sollte ich eigentlich alles, bis auf Dali und den Modbus RTU auf einer anderen Steuerung (Nur Controller vorhanden) simulieren können.
Wenn ich die Variablen aus der GVL auf die IOs zuweise, dann muss das eigentliche Mapping %QX0.2  weg, also die Adressen müssen durchgestrichen sein. Somit kommen keine Übersetzungsfehler.
Ich werde das mal an einem kleinen Projekt  testen.


----------



## holgermaik (25 August 2022)

Wenn du nur den Controller ohne Hardware hast nimm den Haken bei Anlaufsperre raus. In dem Fall brauchst du am Programm überhaupt nichts zu verändern


----------



## Passion4Automation (26 August 2022)

Danke, sehr erfreulich deine Nachricht. Ich werde es testen....


----------

