Software testen

Cerberus

Level-1
Beiträge
2.839
Reaktionspunkte
269
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich habe mal eine grundsätzliche Frage zum Testen einer Software während bzw. nach deren Entwicklung.

Wie läuft das bei euch ab?? Geht ihr nach bestimmten Regeln vor oder nutzt ihr irgendwelche Tools?

Schon mal vielen Dank für eure Hilfe!

Gruß Cerberus
 
ich mache immer - wenn möglich - parallel Programmerstellung und WinModsimulation.

IMHO ist das Testen während der Entwicklung wichtig um evtl. prinzipielle Probleme rechtzeitig erkennen zu können.

Macht man das zum Schluß, dann wird meist um das Problem rumgeschustert, anstatt es gleich vernünftig zu machen.

Gruß Micha
 
Das ist eine Simulationssoftware, die der S7 die Profibusteilnehmer vorgaukelt.
Dort kann man dann Prozesse programmieren

z.B.

Ansteuerung eines Ventils (Ausgang S7)
-> Simulation setzt nach n Sekunden die Rückmeldung (Eingang S7)
-> Tankniveau steigt
-> usw.

Man kann das weit treiben.
Ich für meinen Teil halte das relativ flach.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@marlob

guter Beitrag!
Kann ich so nur bestätigen.
Die meisten Probleme, die ich auf der Baustelle habe sind verfahrenstechnische Dinge, da man im Büro ja die Funktionsbeschreibung testet...
 
Hallo Cerberus

Habe die Beiträge gelesen und auch mal nach WinMod gesucht. Ist wohl nicht von Siemens.
Also ich bin im Anlagenbau beschäftigt, dabei sind immer wiederkehrende Aufgaben zu erledigen.
Wir benutzen PLCSIM zur Simulation. Dieses Tool stellt dir eine Sortware-SPS zur Verfügung. Im Gegensatz zu den vorher genannten WinMod musst du hier natürlich das Programm [Ausgang Arbeitsstellung kommt - Zeit n verstrichen - Eingang in Arbeitsstellung = 1] selber schreiben.
Im Anlagenbau können somit viele Abläufe schon im voraus getestet werden. Wenn du ein HMI von Siemens einsetzt, ist da bei WinCCflex auch eine runtime dabei. Da mußt du dann noch eine Seite für deine Hardwarebedienung (Anlage ein/aus Not-Aus und Schutzbereiche) erweitern. Damit hast du einen großteil der Anlage bereits erledigt.
Nach dem Prinzip: (AS Arbeitsstellung GS Grundstellung)
Ausgang AS - Zeit n - Ergebnis oder Eingang AS vorhanden,
Ausgang GS - Zeit n - Ergebnis oder Eingang GS vorhandne,
lassen sich auch komplexere Vorgänge darstellen, und ohne noch noch alle Einzelheiten zu kennen, schon in den Gesamtprozess mit integrieren und simulieren.

Gruß
Maeggy
 
Zuletzt bearbeitet:
WinMod simuliert die Anlage, PLCSim die SPS. Das sind zwei komplett getrennte Dinge. Und wo bekommt eigentlich die Simulation der Visu auf dem PC die Daten der Anlage her?
Wir haben hier 2 Simulations-SPSen gekoppelt. Eine simuliert die SPS und die andere ist für die Anlage zuständig. Hier kann dann in STEP7 die zu simulierenden Anlagenteile ausprogrammiert werden und man muss keine Knöpfchen drücken um die Anlage zu simulieren oder gar das SPS-Progamm so anpassen, dass es sich selber die Simulationsdaten zur Verfügung stellt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Rainer

Thema war ja die eigene Software zu testen. Wie in der Rrealität kommen Daten wenn nicht vom eigenen HMI oder in der SPS gespeicherte Auftragsdaten, von irgenwelchen Fremdsystemen ( Scanner, Server, CAD oder PPS Systemen). diese Daten werden meist in einem DB hinterlegt. Die SPS arbeitet dann mit diesen Parametern bis wieder neue vorgegeben werden.
Fremdsysteme auch noch zu simulieren ist mir bisher nicht in den Sinn gekommen. Liegt vermutlich daran, daß ich dazu zu wenig zeit habe.

Gruß
Maeggy
 
Zuletzt bearbeitet:
Hallo Maeggy,
wie teste ich eine Software? In dem ich ihr die Werte vorsetze, dies sie im realen "Leben" auch bekommt. Bei PLCSim kann ich sicher einzelne Sequenzen testen, ob diese logisch richtig sind, d.h. die Reaktion auf einzelne Zustände richtig programmiert sind. Für den kompletten Test ist m.E. nach wesentlich mehr erforderlich. Die einzelnen Progammteile können sich gegenseitig beeinflussen etc. Genau dafür gibt es Lösungen wie WinMOD. Man darf natürlich nicht vergessen, dass die Simulation der Anlage nur so gut ist, wie die Definition der Anlage. Und eine gute Definition zu erstellen kann sehr aufwändig sein. Wenn es sich immer um komplett neue Anlagen (ohne "Coderecycling") handelt, wird sich diese Testart wahrscheinlich nicht rechnen.
 
Hallo Rainer

Denk du bist im Vertrieb tätig.
Du wendest dich an den falschen. Ich teste meine Software durch Simulation schon seit einigen Jahren. Wenn du was verkaufen willst, wende dich an den Themensteller.

Gruß
Maeggy
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Rainer

Denk du bist im Vertrieb tätig.
Du wendest dich an den falschen. Ich teste meine Software durch Simulation schon seit einigen Jahren. Wenn du was verkaufen willst, wende dich an den Themensteller.

Gruß
Maeggy

@Maeggy
Mal ehrlich, mit 8 Beiträgen würd ich jetzt nicht unbedingt mit Steinen nach Leuten schmeißen. Ich kann hier weder Werbung noch irgendeine Verkaufsmasche entdecken, außer, daß da jemand seine Meinung und vor allem den technischen Sachverhalt darlegt.

@Zum Thema
Leider hab ich meißt im Vorfeld gar nicht die Zeit komplette Anlagen zu testen. Deshalb teste ich höchstens mal mit PLCSIM oder einer realen SPS einzelne Bausteine auf ihre Funktion. Wenn ich eine Anlage simulieren wollte/sollte, würde ich auch eher eine spezielle Lösung wie WinMod einsetzen, als eine 2. SPS. Aber wie gesagt, die Zeit gibt mir niemand. Dazu kommt dann noch, komplexe Sachverhalte sind ohnehin sehr schwierig zu simulieren. Das kann auch keine Simulation so einfach leisten, was an der realen Maschine alles so passieren kann, vom abfallenden Greifer, bis zum reißenden Zahnriemen.
 
Ich habe mal eine grundsätzliche Frage zum Testen einer Software während bzw. nach deren Entwicklung.

Ich weis ja nicht auf welchen Level du Programmierst aber für ziemlich einfache Anlagen wird es reichen.
Ich hatte ich auf einen Lehrgang WinSPS mit SPSVisu.
Das erste ist die virtuelle SPS S5 oder S7 und SPSVisu ist die grafische Anlage. Ist ziemlich beeindruckend beide Programme bekommst du als Demo im Netz.
 
Sorry Leute

Wollte mich nicht in interne Angelegenheiten einmischen. Dachte eigentlich nur an eine einfacher, günstigere Lösung eigene (SPS)-Programme zu testen. Es stehen nicht jedem unbegrenzte Mittel und Zeit für Tests zur Verfügung.

Gruß
Maeggy
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Man kann die Simulation auch in das SPS-Programm integrieren. Das hat den Vorteil, dass man, wenn man die Vorarbeit geleistet hat, keine Zusätzliche Hardware-Konfiguration für die Simulation braucht. Wenn man z.B. einen Baustein (z.B. multiinstanzfähiger FB) für einen Motor programmiert und dort alle benötigten EA's dran hat, muss dieser nur einmal verschaltet werden. Neben den Verschaltungen für den Antrieb baut man halt gleich die Simulation mit rein- und schon funktioniert das für alle Verwendungsstellen. Genau so kann man das mit analogen Sigalen machen- wir machen das z.B. so für alle Arten von Antrieben (Motoren, Ventile, etc.) Waagen (mit Grob / Fein / Entleerung) und Druckwerten (z.B. bei Druck- oder Saugförderungen).
Diese Lösung kostet "nur" den Arbeitsaufwand und zusätzlichen Arbeitsspeicher.
 
Denk du bist im Vertrieb tätig.
Ich weiß nicht, was meine Tätigkeit mit der grundsätzlichen Frage zu tun hat.

Ich teste meine Software durch Simulation schon seit einigen Jahren.
Wir etwas dadurch, dass man es schon lange und oft tut, richtiger oder besser? Siehe auch marlobs Signatur dazu.

Wenn du was verkaufen willst, wende dich an den Themensteller.
Genau an diesem Punkt täuscht Du dich. Ich habe mir mal die Zeit genommen und diverse Simulationsmöglichkeiten angesehen. Darunter waren WinMOD, SIMIT, PLCSim (und alle möglichen anderen ähnlichen Lösungen). Und ich bin zu dem Schluß gekommen, dass mit richtiger Anlagensimulation (bei den richtigen Anlagen und den richtigen Bibliotheken) richtig Geld und Zeit gespart werden kann. Dies gilt nicht von Anfang an. Hier lohnt es sich, marlobs Beitrag genau zu lesen. Dem stimme ich in vollem Umfang zu.
Und ich halte an dieser Stelle WinMOD für die beste der von mir getesteten Lösungen. Ach ja, nur so am Rande, ich verkaufe WinMOD nicht. Das gibt es bei Mewes und Partner.

Und zum Schluss: wenn wir uns mal sehen, z.B. beim SPS-Forumsfrühstück auf der SPS/IPC/Drives in Halle 7 auf Stand 7-149 oder beim SPS-Forumstreffen, dann können wir gerne mal sachlich und fachlich diskutieren.
 
Man kann die Simulation auch in das SPS-Programm integrieren. Das hat den Vorteil, dass man, wenn man die Vorarbeit geleistet hat, keine Zusätzliche Hardware-Konfiguration für die Simulation braucht. Wenn man z.B. einen Baustein (z.B. multiinstanzfähiger FB) für einen Motor programmiert und dort alle benötigten EA's dran hat, muss dieser nur einmal verschaltet werden. Neben den Verschaltungen für den Antrieb baut man halt gleich die Simulation mit rein- und schon funktioniert das für alle Verwendungsstellen. Genau so kann man das mit analogen Sigalen machen- wir machen das z.B. so für alle Arten von Antrieben (Motoren, Ventile, etc.) Waagen (mit Grob / Fein / Entleerung) und Druckwerten (z.B. bei Druck- oder Saugförderungen).
Diese Lösung kostet "nur" den Arbeitsaufwand und zusätzlichen Arbeitsspeicher.

Aber genau dann habe ich das Problem, dass ich nicht das ursprüngliche Progamm teste. Ich muss es für den Test modifizieren, habe dann einen anderen Stand als den, den ich auf die Anlage spiele. Wenn ich jetzt im Test erkenne, dass ich was ändern muss, dann muss ich das entweder in beiden Projekt machen oder im Testprojekt die Testsequenzen wieder entfernen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber genau dann habe ich das Problem, dass ich nicht das ursprüngliche Progamm teste. Ich muss es für den Test modifizieren, habe dann einen anderen Stand als den, den ich auf die Anlage spiele. Wenn ich jetzt im Test erkenne, dass ich was ändern muss, dann muss ich das entweder in beiden Projekt machen oder im Testprojekt die Testsequenzen wieder entfernen.

Nein, es wird nur eine Variable auf TRUE gesetzt - sonst wird rein gar NICHTS verändert. In der Produktion wird diese Variable im OB1 zyklisch auf FALSE gesetzt, um zu verhindern, dass man durch versehentliches Setzen der Variable die Simulation auslöst - mehr ist es nicht!
 
Nein, es wird nur eine Variable auf TRUE gesetzt - sonst wird rein gar NICHTS verändert. In der Produktion wird diese Variable im OB1 zyklisch auf FALSE gesetzt, um zu verhindern, dass man durch versehentliches Setzen der Variable die Simulation auslöst - mehr ist es nicht!
Das heißt, in deinem Programm ist immer der Simulationsteil enthalten? Und Simulation in deiner Variante bedeutet dann, OB1 modifizieren und Variable setzen?
 
So ist es - wir können jederzeit das Programm in PLCSIM laden, WinCC starten, OB1 modifizieren, Variable setzen und schon läuft alles simuliert. WinMod haben wir vorher auch eingesetzt. Die Zeitersparnis bei integrierter Simulation ist enorm - keine 2. Hardwarekonfiguration, keine zusätzliche Projektierung. Eins vorweg: was natürlich nicht geht sind Profibus Teilnehmer (FU's), etc. richtig zu simulieren, aber auch hier haben wir im Programm bei aktiver Simulation Teile drin, die die Grundfunktionen simulieren - das simuliert natürlich nicht die echten BUS-Parameter - Fehler in der E/A Adresse fallen hier genau so wenig auf, wie eine verkehrte Verschaltung der digitalen IO's - weil es der Simulation nicht juckt, an welchem EA ein Steuerausgang / Eingang sitzt. Wir können sogar die Anlage mit Ventile und Motoren / Aktoren aufbauen und testen, OHNE die echten Ein- / Ausgangsnummern kennen zu müssen - es reicht ganz zum Schluss die E/A's an dem Muliinstanzbausteinen zu schreiben. Im übrigen werden Ein- und Ausgänge NUR 1x im Programm verwendet, eben an den genannten Bausteinen.
 
Zurück
Oben