Programm Simulation &Test

duMMbatz

Level-1
Beiträge
128
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jungs brauche mal Ideen um meine Projekte zu Testen und zu Simulieren.

Beispiel:

Ein Programm hat mehrere Ventile und dazugehörige Endlagen.
Bei den Ansteuerungen der Ventile aus der Schrittkette, müsste man nun sehr schnell die Eingänge setzen und wieder entfernen.

Nun die Frage wie realiesiert ihr sowas?

Im Moment haben wir an jedem baustein ein Bitsignal, welches die Endlagen überbrücken.

U SimMerker
U VentilAusgang
= EndlageAuf

eine andere Möglichkeit wäre in einem extra FC, den Ausgängen den Eingängen zuweisen.

U A1.0 //Ventil X
= E1.0 //EndlageAuf

UN A1.0 //Ventil X
= E1.1 //EndlageZu

Habt ihr noch andere Ideen?

Kann ich mit anderen Programmen oder Scripten evtl. automatismen in die PLCSIM bringen?

:ROFLMAO::ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine weitere Möglichkeit ist ACCONtrol im sogenannten Bridged-Mode. Dort werden die Eingänge einer Instanz auf die Ausgänge der anderen Instanz (und umgekehrt) "verschaltet". Die eine Instanz bearbeitet ganz normal das SPS-Programm und die andere Instanz spielt Anlage.
Für einfache Anwendungen ist dies durchaus ausreichend. Für komplexe Anlagen ist natürlich WinMod ein hervorragendes Tool.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

bei den Zylindern habe ich virtuelle Zylinder in SPS-VISU gemeint. Deren Endlagen können mit den Eingängen verknüpft werden. Bei Ansteuerung des Ausgangs für den Zylinder fährt dieser beispielsweise aus und beim Erreichen der Endlage wird der entsprechende Eingang belegt. Der Vorgang ist auf dem Bildschitm zu sehen und die Fortschaltbedingung erfüllt sich automatisch ohne händisches Umschalten eines Eingangs.

Gruss
T. Weiss
 
Simulation

So Jungs, die Programme die es gibt kosten richtig asche... ich denke für meine vorstellung wäre es mit kanonen auf spatzen geschossen...

ich suche eher etwas, wobei man mit VBS oder ähnlichem die PLCSim beinflussen kann.

Meine Vorstellung wären wenn Pumpe XY angeht stellt sich der Druck von X ein sobald sie nicht angesteuert ist, dann ist der Wert 0.

Hat jemand dahingehend Erfahrungen???

:eek:
 
für einfache tests / simulationen habe ich zwei bausteine
programmiert die dann im plcsim bzw in der echten cpu
laufen können (solange die peripherie noch nicht da ist).

den einen rufe ich am zyklusende auf, der fragt die ausgänge
ab und legt die reaktionen fest. das ergebnis wird in einem
extra test-DB gespeichert.

der andere baustein wird am zyklusanfang aufgerufen und
belegt mir meine eingänge mit dem zustand laut dem
test-DB.

wenn die tests abgeschlossen sind lösch ich einfach den aufruf
und die bausteine aus dem programm.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, so mache ich es im Moment auch...

am Zyklusende rufe ich nen FC auf der mir durch diverse Ausgänge,Eingänge ( Endlagen oder Rückmeldungen ) überbügelt.

Genauso mit den Analogwerten.

Ich dachte da aber eher an ein Skript das auf dem Rechner neben der PLCSim abläuft und dann die Werte in die Simulation schiebt.
 
Für kleinere Tests programmiere ich auch schon mal die Prozess-Reaktion im SPS-Programm in einem Baustein, der vor dem eigentlichen Programm aufgerufen wird und das PAE manipuliert. Macht sich auch gut bei der Simulation der Visu zusammen mit der SPS-Simulation - alles nur auf dem PG.

Harald
 
Für kleinere Tests programmiere ich auch schon mal die Prozess-Reaktion im SPS-Programm in einem Baustein, der vor dem eigentlichen Programm aufgerufen wird und das PAE manipuliert. Macht sich auch gut bei der Simulation der Visu zusammen mit der SPS-Simulation - alles nur auf dem PG.

Harald

Ich kenne eine Firma aus Dresden, die hat eine komplette Anlage auf diese
Art als Simulation abgebildet. Vernünftig geht das aber nur in der Verfahrens-
technik und bei größeren wiederkehrenden Projekten, sonst ist das finanziell
nicht tragbar.

Frank
 
Bei verfahrenstechnischen Anlagen mache ich es auch über ein Simulationsprogramm welches in der SPS abläuft und das Eingangsabbild entsprechend überschreibt.
Hier habe ich entsprechende Bausteine für Schieber-/Pumpen-/Behälterfüllstandssimulationen usw.

Nachteil an dieser Lösung ist dass man Zugriffe über z.B. PEW die im Programm erfolgen damit nicht überschreiben kann. Gleiches gilt z.B. für Profibusteilnehmer. Um hier eine Simulation zu fahren muss das Programm dann leicht angepasst werden, bzw. eine Simulationsauswertung in den einzelnen Bausteinen gemacht werden (Simulation aktiv). Bei Plcsim kann ich mir zwar die PEWs in das Simulationsfenster legen und manuelle Werte setzen, aber eine Prozessimulation ist manuell natürlich etwas schwer.

Mit Plcsim und über die Prosim-Schnittstelle kann ich die Peripherie jedoch überschreiben. So eine Simulation hat den Vorteil dass am Programm keine Änderungen vorzunehmen sind, darum will ich auch beizeiten meine Simulationen auf diese Variante umstellen.
Dort könnte man entsprechende wiederverwendbare Simulationsobjekte erstellen, wie z.B. Profibusteilnehmer (FUs) die sich wie ein realer FU verhalten.

Ich bin momentan dabei sowas mittels Python zu realisieren, weil ich dann kein Visual-Studio (für C# oder VB) auf meinem Programmierrechner benötige. Außerdem entfällt dann die ganze Kompiliererei usw. Eine grafische Darstellung ist eigentlich nicht besonders wichtig, denn meistens hat man ein Panel oder Leitsystem welches einem die Daten anzeigt.
Eigentlich wäre das ein schönes Gemeinschaftsprojekt, bei dem eine kleine Bibliothek an Simulationsobjekten zusammenkommen könnte - aber das wird wohl ein Traum bleiben ;-)
 
also ich kann euch des gerne mal vorstellen wenn ich fertig bin.


Ich lese einzelne Ausgangs Adressen wie nen Ausgang für ne Pumpe sobald der da ist stell ich nen Druck ein (Schreib des PEW).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bin momentan dabei sowas mittels Python zu realisieren, weil ich dann kein Visual-Studio (für C# oder VB) auf meinem Programmierrechner benötige. Außerdem entfällt dann die ganze Kompiliererei usw. Eine grafische Darstellung ist eigentlich nicht besonders wichtig, denn meistens hat man ein Panel oder Leitsystem welches einem die Daten anzeigt.
Eigentlich wäre das ein schönes Gemeinschaftsprojekt, bei dem eine kleine Bibliothek an Simulationsobjekten zusammenkommen könnte - aber das wird wohl ein Traum bleiben ;-)

Warum das ganze nicht in C# oder VB machen? Das ganze .NET Framework hat man doch heute eh schon auf dem PG (braucht man ja für WinCC flex, SEW, Sick und auf Step7 V11) und VS braucht man ja zum kompilieren nicht. (SharpDevelop könnte man ja noch draufpacken ist ja nicht so groß).

Da könnt Ich mir ein schönes Tool vorstellen, in dem die ganzen Komponenten (al la Umrichter, Ventile, ...) als Plugin DLLs realisiert sind welchen man einfach noch einen E-A Bereich gibt, welche dann auf bestimmte Ausgangswerte bestimmte Eingangswerte zurückgeben.

Falls du doch was in C# machen willst, könnt Ich mir vorstellen da mitzuhelfen...
 
Warum das ganze nicht in C# oder VB machen? Das ganze .NET Framework hat man doch heute eh schon auf dem PG (braucht man ja für WinCC flex, SEW, Sick und auf Step7 V11) und VS braucht man ja zum kompilieren nicht. (SharpDevelop könnte man ja noch draufpacken ist ja nicht so groß).

Da könnt Ich mir ein schönes Tool vorstellen, in dem die ganzen Komponenten (al la Umrichter, Ventile, ...) als Plugin DLLs realisiert sind welchen man einfach noch einen E-A Bereich gibt, welche dann auf bestimmte Ausgangswerte bestimmte Eingangswerte zurückgeben.

Falls du doch was in C# machen willst, könnt Ich mir vorstellen da mitzuhelfen...
:ROFLMAO:

mit C hab ich leider nur in der Schule nen bissl was am Hut gehabt und des meiste vergessen. Intressieren würde es mich aber schon.... Ich denke in VBS bekomm ich des schneller und besser gebacken... wenn du dich mit nem C anfänger zusammentun willst könnte man mal überlegen ob man sowas mal zusammen angeht
 
Zuletzt bearbeitet:
Hallo,

ich will niemanden davon abhalten etwas selbst zu programmieren und dabei seine Kenntnisse zu erweitern.

Aber dass was der Fragesteller hier programmieren möchte, ist in dem oben genannten SPS-VISU schon beinhaltet.
In SPS-VISU ist eine über TCP/IP ansprechbare S7-SoftSPS vorhanden, über die Bauteile in SPS-VISU kann die Anlage abstrahiert werden, damit die Fortschaltbedingungen nicht von Hand herbeigeführt werden müssen.
Ebenso kann WinCC flexible, eine Visualisierung, Touchpanel mit Ethernet usw. mit der S7-SoftSPS verbunden werden.

Bei privatem Einsatz kann die sehr kostengünstige Standardversion (59 Euro) verwendet werden.


Gruss
T. Weiss
 
Zurück
Oben