Prozessalarm mit OB40

Earny

Level-1
Beiträge
422
Reaktionspunkte
38
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich will ein kleines Testprogramm mit einem OB40 in PLCSim testen.

Ich habe folgendes gemacht:
HW-Konfig: Unterhalb der CPU314C-2DP auf Di24/Do16 doppelgeklickt; bei Eingänge einen Haken bei Eingang 1 - steigende Flanke gesetzt (Ich will, dass wenn der Eingang E124.1 kommt, der OB40 aufgerufen wird.)
Ist das richtig: Eingang 1 = E124.1 ? Die Eingänge der CPU314C-2DP beginnen defaultmäßig bei E124.0 !?
Dann mit OK rausgegangen; Speichern und Übersetzen.

Programm erstellen; eine Kleingigkeit in den OB40 programmiert; dann den gesamten Bausteinordner mit den Systemdaten in die PLCSim-CPU kopiert

Funktioniert nicht. Der OB40 wir scheinbar nicht ausgeführt.

Gruß
Earny
 
Hallo,
wie löst du den Prozessalarm aus?
Ausführen-> Fehler OB auslösen -> OB40?

Ach und noch was, lade mal deine Hardwareconfig in PLC Sim ohne aber den OB 40. Dann löst du den Prozessalarm aus, wenn die CPU dann auf Stop geht erkennt sie den Alarmeingang. Danach lädst du den OB 40 rein und löst nochmal den Prozessalarm aus. Wenn sie dann in Run bleibt funktioniert alles, dann mußt du nur noch kontrollieren was du in den OB 40 reingeschrieben hast.

Gruß
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
ich denke, dass der OB40 vom Betriebssystem aufgerufen werden müsste, wenn der Eingang E124.1 (Eingang 1 ?) eine positive oder negative Flanke erfährt. Ich habe beim Eingang 1 zwei 2 Haken gesetzt (positive und negative Flanke).
Der OB40 wird aber nicht aufgerufen, wie ich gemäß deinem Vorschlag herausfand. Ich habe diesmal den OB40 nicht in die PLCSim-CPU geladen. Wenn beim E124.1 das Signal wechselt, müsste der OB40 aufgerufen werden und die CPU müsste auf Stop gehen, da der OB40 nicht vorhanden ist. Sie bleibt aber in RUN?!

Gruß
Earny
 
Hmm, hab das gleiche mal schnell simuliert, bei mir funktionierts.:confused:
Wenn du mir dein Projekt online stellst könnte ich mal schnell schauen ob ich den fehler finde.

Gruß
 
ich habe das Projekt angehängt.
Wenn sich bei E124.1 der Signalpegel ändert, sollte der OB40 aufgerufen und dort der A124.0 eingeschaltet werden.
Mit dem E0.0 der im OB1 abgefragt wird, sollte der A124.0 wieder ausgeschaltet werden können.

Gruß
Earny
 

Anhänge

  • S7p20_40.zip
    549 KB · Aufrufe: 43
Zuviel Werbung?
-> Hier kostenlos registrieren
Dein Programm funktioniert

Hallo,
habs gerade getestet und es funktioniert, glaube du machst beim simulieren nen fehler.

Du mußt den Prozessalarm (OB40) folgendermaßen simulieren:

In PLCSIM auf ->Ausführen -> Fehler-OB auslösen -> Prozessalarm (Ob40-47)

dann bei baugruppenadresse 124 und bei Baugruppenstatus 1 eintragen und auf auslösen drücken, dann funktioniert die geschichte. ;)

gruß
 
ich verstehe nicht, was man da in PLCSim für einen Aufwand treiben muss und warum das so umständlich parametriert werden muss.
In den Systemdaten muss doch alles drinstehen!

Vielleicht habe ich auch die Grundlagen der Alarm-OBs nicht verstanden.

Ist es richtig, dass bei der wirklichen CPU der OB40 (sofern im Programm vorhanden) aufgerufen wird, wenn der E124.1 (mein Beispiel) einen Signalwechsel erfährt. Oder müssten an der wirklichen CPU noch weitere Parametrierungen vorgenommen werden - wie bei PLCSim?
In den Systemdaten muss doch alles drinstehen. Weshalb verlangt PLCSim diese Extraangaben?

Gruß
Earny
 
Ist es richtig, dass bei der wirklichen CPU der OB40 (sofern im Programm vorhanden) aufgerufen wird, wenn der E124.1 (mein Beispiel) einen Signalwechsel erfährt. Oder müssten an der wirklichen CPU noch weitere Parametrierungen vorgenommen werden - wie bei PLCSim?
Ja, das würde bei einer richtigen CPU funktionieren.


Zu PLCSIM kann ich dir nicht sagen warum Siemens dies so gelöst hat, vielleicht um die OBs bewußt auszulösen.
Steht aber auch nichts im Handbuch, wie so oft. *ROFL*

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zu PLCSIM kann ich dir nicht sagen warum Siemens dies so gelöst hat, vielleicht um die OBs bewußt auszulösen.
Steht aber auch nichts im Handbuch, wie so oft. *ROFL*

Gruß

Denke auch das der Gedanken beim PLCSim so ist, das man den OB bewußt auslösen muss. Ist eigentlich ja der Gedanke beim Debuggen von etwas.
Oder anderst gedacht, wie möchtest Du den OB sonst auslösen, wenn du etwas Simulierst was diesen OB sonst im Betrieb auslöst?
 
ich verstehe nicht, was man da in PLCSim für einen Aufwand treiben muss und warum das so umständlich parametriert werden muss.
Zu PLCSIM kann ich dir nicht sagen warum Siemens dies so gelöst hat
PLCSIM simuliert nur eine CPU und keine Baugruppen.
Baugruppen und Baugruppen-Reaktionen muß man selber simulieren, so eben auch den Prozessalarm selber auslösen.

Harald
 
PLCSIM simuliert nur eine CPU und keine Baugruppen.
Ich finde, Siemens fährt hier bei der PLCSIM eine sehr uneinheitliche Linie:
Einerseits reagiert die Simulation nicht auf HW-Interrupts, andererseits führt ein Direktzugriff auf Peripherie zum STOP, wenn vorher keine HW-Konfig mit eintsprechender Peripherie übertragen. Sehr schade.
Für das Testen von Hardware-Alarmen finde ich die PLCSIM absolut untauglich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich finde, Siemens fährt hier bei der PLCSIM eine sehr uneinheitliche Linie:
Einerseits reagiert die Simulation nicht auf HW-Interrupts, andererseits führt ein Direktzugriff auf Peripherie zum STOP, wenn vorher keine HW-Konfig mit eintsprechender Peripherie übertragen. Sehr schade.

Na ja, was soll die Simulation den sonst machen wenn dieser nicht bekannt ist was für eine Reaktion usw ohne HW Konfig erwartet wird?
Wäre aber in echter HW bestimmt gleich ...
Ich erwarte von Dir das DU das machst, sage Dir aber nicht was Du machen sollst :ROFLMAO:

Das auf die HW Int zu reagieren ist einfach Ansichtssache.
Die E/A's werden ja auch evtl. nur Simuliert und evtl. fehlt hier die Verknüpfung auf die realen HW Ebene bzw. das einlesen des PAE!

Für das Testen von Hardware-Alarmen finde ich die PLCSIM absolut untauglich.

aber für andere Dinge es es teils ganz Hilfreich ...
 
Hallo,

ich habe heute mein Programm mit dem OB40 auf der wirklichen CPU314C-2DP getestet. Es funktionierte sofort problemlos. Wenn der E124.1 eine negative Flanke erfährt, wird der OB40 aufgerufen und das enthaltene Programm ausgeführt.

Mit PLCSim ist das scheinbar nicht möglich. Ich kann zwar - wie weiter oben beschrieben - den OB40 selbst ausführen lassen (Ausführen - Fehler-OB auslösen, Adressen eintragen und dann OK drücken). Es ist aber nicht möglich, den OB40 bei negativer Flanke am E124.1 ausführen zu lassen.
Im Klartext heißt das dann: Die Aufrufbedingung des OB40 ist unter seiner tatsächlichen Voraussetzung (hier negative Flanke bei E124.1) in PLCSim nicht testbar!
Das wäre dann ein kleines Manko.


Gruß
Earny
 
Im Klartext heißt das dann: Die Aufrufbedingung des OB40 ist unter seiner tatsächlichen Voraussetzung (hier negative Flanke bei E124.1) in PLCSim nicht testbar!

Die PLCSim kann keinen Interrupt.
Das ist auch schwierig nachzubilden, denn es gibt dafür zu viele verschiedene Hardware.
Daher können auch Karten mit Alarmeingängen nicht simuliert werden.
Oder schnelle Zähler oder FM Baugruppen etc.
Es wird beim setzen von Eingängen in PLCSim lediglich in das PAE der PLCSim die Signale reingeschrieben.


bike
 
Zurück
Oben