Simulation

Sven3004

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich suche derzeit eine Software um eine SPS Programmierung die in AWL geschrieben ist zu testen (simulieren).
Freeware wäre super ne Demo würde reichen.
Mache gerade meinen Meister und würde das gern daheim mal testen.
Da wir mit der SPS TSX 07 arbeiten müssen :(
Schön wäre es wenn man in der Software dann die einzelnen "Sprachen" durchgehen kann. also das er diese dann auch ausgeben kann. (FBS, KOP, Schaltplan)

Danke für eure Hilfe.

Sven
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Sven,
verstehe nicht ganz was du genau suchst. Wenn du eine TSX 07 programmieren musst, dann wäre es gut wenn die Telemequanic einen Simulationsmode hätte.

z.B bei B&R kannst du alle Programme in der AR000 (Automation Runtime) auf dem PC testen (Single Step debuggen usw.) Du kannst dort in allen gängigen Sprachen programmieren und das mischen wie du willst.

Aber wieweit das dann mit der TSX 07 kompatibel ist kann ich leider nicht abschätzen. Und ist natürlich ein ganz neues System, das Automation Studio (Programmiersystem von B&R) ist auch ein gewaltiges Programm mit fast 1 GB....

bg
bb
 
Hallo

Die TSX die wir benutzen MÜSSEN, lässt sich nur per Handprogrammiergerät bedienen.
Die ist auch nur in der Schule. Und hier daheim würde ich gern üben.
Die TSX schreibt man per AWL. Deswegen würde ich das gern auch hier am PC mit AWL programmieren und dann müsste ich es halt simulieren können. sonst bringt das üben ja nichts.

Gruss sven
 
Wie schon erwähnt haben B&R sowie andere "größere" Systeme diese Simulationsmöglichkeit zum Testen so wie du das brauchen würdest.

Alternativ könntest du folgendes überlegen

- Assembler Programmierung unter Visual-Studio
- Assembler bzw. Compiler für DOS (glaube von Microsoft)

Mit beiden müsstest du die BASICs von AWL testen können (Sprünge, Bit-Operationen, Arithmetische Berechnungen, usw. ...). Jedenfalls würdest du ein Gefühl für diese Art der Programmierung bekommen.

Leider ist mir momentan nicht ganz klar was die großen Unterschiede zwischen AWL und Assembler sind (außer natürlich die SPS spezifischen Anweisungen wie IO, ... ), falls es diese Unterschiede überhaupt gibt.

Dos-Compiler könnte ich (hoffe ich :)) in den Tiefen meiner Archive irgendwo auftreiben wenn du dir das mal ansehen möchtest... bitte PM falls ja...

bg
bb

--

sieh dir auch mal das hier z.B an...
http://www.spsforen.com/showthread.php?t=36251
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Simulieren kannst auch mit Step7 (da gibts auch ne demo von weiß nur nicht ob da sim dabei ist)

Codesys kannst auch nutzen, Sim + AWL, kenn ich selbst jedoch nicht

dann hab ich noch google angeworfen und trysim! gefunden damit könnte es auch gehen hier, dann winsps hier oder google selbst mal gibts sicher noch mehr ähnlich tools wie diese
 
Hallo Sera

Also die beiden Programme hatte ich schon getestet. in dem einen kann man nur fertige Projekte von Der S7 übernehmen und in dem anderen ist es die falsch Programmiersprache.

Hallo bits'bytes

Ich versteh leider nix von dem was du geschrieben hast mit DOS compelieren oder sonst was ;)

Gruss Sven
 
Ich versteh leider nix von dem was du geschrieben hast mit DOS compelieren oder sonst was ;)

Gruss Sven

Hi Sven,
habe mir gerade das mit dem Dos-Assembler nochmals angeschaut. Ich finde es ist doch etwas weit weg von der AWL Programmierung da du dich auch um das ganze drum-herum kümmern musst.

Habe z.B. diese Seite gefunden - die zeigt dir mal was ich gemeint habe.

http://www.phatcode.net/downloads.php?id=175

Aber die Materie scheint doch ziemlich komplex. Wir haben das mal im Unterricht durchgemacht - wenn man Schritt für Schritt durchgelotst wird, gehts ja noch irgendwie, aber auf sich alleine gestellt :-(

Lieber doch eine SPS Simulation suchen...

bg
bb
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich hab eben mal Winsps selbst installiert und da kanst du einwandfrei eigenes projekt erstellen und auch in AWL schreiben! und simulieren.

musst nur die sprache im netzwerk umstellen, in jedem netzwerk gibt es oben links so ein feld in dem erst fub steht da kannst auf awl umstellen!
Also etwas genauer schauen das nächste mal!
ich hab dazu keine 20 sek gebraucht und nich in ne hilfe geschaut.

Also:

neues projekt, dann da eins anlegen, dann das angelegte anwählen und öffnen, dann auf links oben auf OB1 klicken, den dann automatisch erstellen lassen, dann im netzwerk unter Netzwerk 1 auf FUB klicken, dann ist es in awl. und losschreiben....
dann das ding übertragen an sim-sps die unten rechts auf run haun. dann die brille im symbolleiste anklicken und du siehst was passiert.... also klappt 100%

mit download und inst hatte ich das miniprogramm von mir auf der sps und simuliert in unter 5min, also hättestst dir zumindest 10 min Zeit genommen hättest das hinbekommen.

ie Leistungsdaten von WinSPS-S7 Version 4
• WinSPS-S7 ist ein Programmier-, Simulations- und Diagnoseprogramm für Speicherprogrammierbare Steuerungen der Reihe S7-300 und S7-400 von Siemens.
• WinSPS-S7 kann als vollständiges Programmiergerät für S7-Steuerungen S7-300 und S7-400 eingesetzt werden.
• WinSPS-S7 unterstützt die Darstellungsarten, Ausdruck und Programmierung
in: - Anweisungsliste (AWL) - Funktionsplan (FUP)* - Kontaktplan (KOP)*
• die Erstellung von Querverweislisten
• den Import und Export von S7-Dateien und Binärdaten‚ (Quelle und „S7P“)
• WinSPS-S7 bietet die Möglichkeit mit einzelnen Single-SPS zu kommunizieren oder eine SPS in einem MPI-Netz anzusprechen.
• Mit dem Hardwarekonfigurator ist es möglich eine Profibus-DP-Konfiguration durchzuführen
• Zwischenablage für AWL-Zeilen, Netzwerke und Bausteine
und selbst in der Beschreibung steht es drin! *kopfschüttel*
Wenn sich schon wer die Mühe macht dir was rauszusuchen, dann schau es dir auch richtig an.

Edit:

nun habich mir auch noch trysim angeschaut: ist zwar etwas schwerer aber man kann auch in AWL programmieren, und simulieren! da darf man sich von dem mechanikzeug eben nicht ablenken lassen, getestet und funktioniert, also weiteres *kopfschütteln*

Kannst also beide Programme nehmen um AWL Code zu testen
 
Zuletzt bearbeitet:
Also egal was ich mache es funktioniert nicht. Versuche das gerade nach deiner Anleitung zu machen mit dem WINSPS.

In der Schule sieht unsere AWL Programmierung wie folgt aus

000 LD %!0.1
001 OR %I0.2
002 ST %Q0.1
003 END


Das ist eine einfache ODER-Schaltung von Eingang 1 und 2 auf den Ausgang 1

Wenn ich das so eingebe dann kommt als nur "Befehl ist nicht bekannt" .
aus dem Beispiel werde ich mal gar nicht schlau.

Das mit dem Übertragen habe ich gemacht und auch auf die Brille geklickt. Dann auf run und nichts passiert.
Ich sehe dort keine Schalter und keine Lampen für Ausgänge oder sonst was.

Sven
 
Zuletzt bearbeitet:
Ist es schwer ne Hilfe aufzumachen? Winsps hat sowas auch...
Da sind auch Beispiele!

Zum einen simuliert das Winsps ne Siemens SPS. Die Bezeichnung von Ein und Ausgängen ist E.Byte.Bit also z.B. E0.0 z.B. für ein Bit
dann Bei Merkern ist es ein M bei Ausgängen ein A


O E0.0
0 E0.1
= A0.0

Wäre dann nun deine Oderschaltung

zum Anderen
Siemensbefehle weichen zum Teil von der Norm ab. hier kannst die nachschaun. von der Funktion entsprechen sie aber der norm zumeist zumindest)

Also nochmal ne ganz kurze Anleitung,aber nutz die Hilfe!

1. Programm starten
2. Datei\Projekt erzeugen\öffnen
3. Neues Projekt
4.Name wählen und ok
5. Projekt mit dem eben gewählten namen auswählen und öffnen klicken
6. in der Spalte auf der linken Seite oberen Punkt "OB1" drücken
7. Meldung mit ok schließen
8. im sich öffnenden Fenster, unter Netwerk 1 auf FUB klicken so das da AWL steht
9. in Netzwerk 1 eintragen:
O E0.0
O E0.1
= A0.0
10. Baustein Schließen (Kreuz im Fenster, event vorher Ansicht nebenenander auswählen)
11. Bausteine übertragen mit den Symbol in der Symbolleiste mit 2 Pfeilen nach rechts (10. von links)
12. esc zum meldefenster schließen
13. unten rechts Schalter bedienzustand klicken
14. im sich öffnenden Fenster neustart, ändert sich dann auf run
15. Baustein wieder öffnen
16 in Symbolleiste: 11. Symbol von links 2 weise kästechen, PAE/PAA Fenster klicken
17. brille anklicken
18 das durch das fenster hinzugekommene teil: PEB0= erstes Eingangsbyste: hier kannst wenn du den code wie oben geschrieben hast nun die bits setzen die zahlen unter PEB0 sind die Bits. Auf 0 klicken ist E0.0 (farbig unterlegt) gesetzt auf 1 andere eingang E0.1 und :

dada es funktioniert im OB1 Fenster seh ich wie sich vke/sta ändert
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Also habe nun mal eine Steuerung programmiert.
Der AWL Code in dem Programm WINSPS lautet

Code:
       U    E         0.7
       U    E         0.1
       =    M         1
       O    E         0.2
       O    A         0.1
       =    A         0.1
       O    A         0.1
       =    A         0.6
       O    A         0.4
       O    M         3
       U    A         0.1
       =    A         0.4
       O    A         0.4
       =    A         0.7
       U    A         0.1
       UN   A         0.4
       U    M         1
       =    M         2
       O    M         2
       L    S5T#2S
       SI   T1
       NOP  0
       NOP  0
       NOP  0
       U    T1
       =    A         0.2
       O    A         0.2
       L    S5T#2S
       SI   T         2
       NOP  0
       NOP  0
       NOP  0
       U    T         2
       =    A         0.3
       O    A         0.3
       L    S5T#2S
       SI   T         3
       NOP  0
       NOP  0
       NOP  0
       U    T         3
       =    M         3

Allerdings funktioniert meine Steuerung nicht.
Angeblich kennt der den Merker nicht.

die Hilfe in dem Programm kann ich leider nicht öffnen.
 
Code:
       U    E         0.7
       U    E         0.1
  [COLOR=red]     =    M         1[/COLOR]

Allerdings funktioniert meine Steuerung nicht.
Angeblich kennt der den Merker nicht.

die Hilfe in dem Programm kann ich leider nicht öffnen.
Auch ein Merker hat eine Byte und eine Bit Adresse.
Genauso wie die Ein-und Ausgänge.

Code:
   U E 0.7
   U E 0.1
   = M 1.0
   = M 1.1
   ...
   = M 1.7
   = M 2.0
 
Hi

Alles klar danke.

Aber leider funzt mein Programm nicht. Ich werde es am Dienstag nochmal in der schule testen mit dem gleichen Aufbau.
Finde das Programm sehr umständlich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Finde das Programm sehr umständlich
Ehrlich gesagt, ich auch.
Vor allem sehr unübersichtlich da weder Symbolik noch Kommentar vorhanden sind.
Einfache Leerzeilen machen auch gleich alles übersichtlicher.
Aber leider funzt mein Programm nicht.
Das sehe ich auch so.
- Der Ausgang 0.1 hält sich selber bis zum jüngsten Tag
- dadurch auch der Ausgang 0.4 wenn er einmal gekommen ist
- die Zeiten laufen alle gleichzeitig ab, kann es sein das da eine SE (Einschaltverzögerung) rein sollte.
- die Zuweisung auf die Ausgänge 0.6 und 0.7 kannst du direkt machen (ist aber kein Fehler)
Code:
       U    E         0.7
       U    E         0.1
       =    M         1.0
 
       O    E         0.2
       O    A         0.1
       [COLOR=red]??? // irgendwas sollte wieder abschalten[/COLOR]
       =    A         0.1
       =    A         0.6
 
       O    A         0.4
       O    M         3.0
       U    A         0.1  [COLOR=red]// vielleicht M 1.0?[/COLOR]
       =    A         0.4
       =    A         0.7
 
       U    A         0.1
       UN   A         0.4
       U    M         1.0
       =    M         2.0
 
       O    M         2.0
       L    S5T#2S
       SI   T 1  [COLOR=red]// vielleicht SE?[/COLOR]
       NOP  0
       NOP  0
       NOP  0
       U    T 1
       =    A         0.2
 
       O    A         0.2
       L    S5T#2S
       SI   T 2 [COLOR=red]// vielleicht SE?[/COLOR]
       NOP  0
       NOP  0
       NOP  0
       U    T         2
       =    A         0.3
 
       O    A         0.3
       L    S5T#2S
       SI   T 3 [COLOR=red]// vielleicht SE?[/COLOR]
       NOP  0
       NOP  0
       NOP  0
       U    T         3
       =    M         3.0
 
Code:
       U    E         0.7
       U    E         0.1
       =    M         1.0
 
       O    E         0.2
       O    A         0.1
[COLOR=SeaGreen]       U    M         1.1[/COLOR]
       =    A         0.1
       =    A         0.6
 
       O    A         0.4
       O    M         3.0
       U    A         0.1  [COLOR=SeaGreen]Passt so[/COLOR]
       =    A         0.4
       =    A         0.7
 
       U    A         0.1
       UN   A         0.4
       U    M         1.0
       =    M         2.0
 
       O    M         2.0
       L    S5T#2S
       SI   T 1  [COLOR=red]// vielleicht SE?[/COLOR]
       NOP  0
       NOP  0
       NOP  0
       U    T 1
       =    A         0.2
 
       O    A         0.2
       L    S5T#2S
       SI   T 2 [COLOR=red]// vielleicht SE?[/COLOR]
       NOP  0
       NOP  0
       NOP  0
       U    T         2
       =    A         0.3
 
       O    A         0.3
       L    S5T#2S
       SI   T 3 [COLOR=red]// vielleicht SE?[/COLOR]
       NOP  0
       NOP  0
       NOP  0
       U    T         3
       =    M         3.0
Ok so funzt das nun.
Fehlte die Abfrage von Öffner 0.1 und Bimetall 0.7

Das mit der Zeit versteh ich nicht.
Wenn ich Das Programm durchlaufen lasse, ist ne Verzögerung zu sehen. Allerdings nur ganz gering.

Ich dachte oben die 2s ist die Zeit.
Also muss ich nochmal probieren wie man Die Zeit erhöht.

Sven
 
Das mit der Zeit versteh ich nicht.
Wenn ich Das Programm durchlaufen lasse, ist ne Verzögerung zu sehen. Allerdings nur ganz gering.
Eine SI ist eine Impulszeit wie die SV
nur das bei der SI der Ausgang Low wird sobald das Startsignal Low wird, auch wenn die Zeit noch nicht abgelaufen ist.
Und wenn du von einer Verzögerung sprichst dann wäre das eine SE.
Code:
Beide Beispiele SI mit S5T#2s :
Beispiel 1:
[FONT=Courier New]                 < 3 sek. >[/FONT]
[FONT=Courier New]            |------------------|[/FONT]
[FONT=Courier New]            |                  | [/FONT]
[FONT=Courier New]Start ------|                  |------------[/FONT]
 
[FONT=Courier New]             < 2 sek. > [/FONT]
[FONT=Courier New]            |----------|[/FONT]
[FONT=Courier New]            |          |[/FONT]
[FONT=Courier New]Ausgang ----|          |--------------------[/FONT]
 
[FONT=Courier New]************************************************[/FONT]
[FONT=Courier New]Beispiel 2:[/FONT] 
[FONT=Courier New]             1 sek[/FONT]
[FONT=Courier New][FONT=Courier New]            |-----|[/FONT]
[FONT=Courier New]            |     | [/FONT]
[FONT=Courier New]Start ------|     |-------------------------[/FONT]
 
 
[FONT=Courier New]            |-----|[/FONT]
[FONT=Courier New]            |     |[/FONT]
[FONT=Courier New]Ausgang ----|     |-------------------------[/FONT]
[/FONT]
 
Zurück
Oben