# Hilfe, einen Taster programmieren, mit einem Merker oder sonst was



## kaschey007 (5 April 2008)

Problemm:
ich versuche einen windows taschenrechner mit AWL nachzuprogrammieren.
SImuliere alles mit PLCSIM

 jetzt zum Thema:

ich will das so machen, dass die bit häckchen bei PLCSIM wie ein taster funktionieren, also wie buttons, dass zum beispiel nur ein signal plus gesendet wird und sofort zurückgenommen wird, also soll das häckchen von zum beispiel M 0.0 direkt nach der Eingabe verschwinden , also ein taster halt.

hab schon alles mögliche versucht, mit sprüngen usw. aber es klappt einfach nicht. ich weiss dass es irgendwie geht aber ich komme nicht drauf. vielleicht hat jemand eine idee. meine letzte idee war:


U M 0.0
FP M 0.1

SPB lade
spa end


lade: l #EA
       T #zw1
end: set
       R M 0.0


----------



## vierlagig (6 April 2008)

versuchs mal mit nem exklusiv oder ...


----------



## Larry Laffer (6 April 2008)

... wenn du den Merker einfach wieder löschen willst, dann :
	
	



```
U M 0.0
SPBN nAct
 
hier das Programmieren, was passieren soll
 
U M 0.0
R M 0.0
 
nAct: NOP 0
```
 
Damit deckst du aber nicht ein ggf. vorhandenes "Prellen" des Kontaktes ab. Wenn du das willst, dann müßtest du das Ganze zusätzlich noch mit einer Zeit-Verzögerung verschalten, also :
	
	



```
U M 0.0
L S5T#100ms
SE T100
 
UN M 0.0
ON T 100
SPB nAct
 
und dann wie gehabt ...
```


----------



## volker (6 April 2008)

seit wann liefert ein taster einen impuls?
es sei denn du bist so schnell wie die zykluszeit 
      U     E      1.0
      FP    M    100.0
      =     M      0.0

ein trick:
machs mit nem eingang nicht mit einem merker. der eingang wird nämlich am zyklusanfang eingelesen.

am ende vom ob1 setzt du die eingänge wieder zurück.

damit ist dein eingang nur 1 zyklus high


----------



## Jo (6 April 2008)

also, wenn ich hier die Vorschläge der "FORUMS-Experten" lese, habe ich das Gefühl hier soll jemand vera... werden. Es fehlt nur noch der entsprechende SCL-Code.
Einfach am Zyklus-Ende rücksetzen, fertisch.
Wird aber bei akueller PLCSim-Version V5.4+SP1) nicht immer korrekt akuallisiert (PLC-SIM-Bug)
mfG. Jo


----------



## volker (6 April 2008)

Jo schrieb:


> Wird aber bei akueller PLCSim-Version V5.4+SP1) nicht immer korrekt akuallisiert (PLC-SIM-Bug)


das wusste ich nicht. das was ich geschrieben habe funktioniert grundsätzlich aber.


----------



## Larry Laffer (6 April 2008)

Jo schrieb:


> also, wenn ich hier die Vorschläge der "FORUMS-Experten" lese, habe ich das Gefühl hier soll jemand vera... werden. Es fehlt nur noch der entsprechende SCL-Code.
> Einfach am Zyklus-Ende rücksetzen, fertisch.
> Wird aber bei akueller PLCSim-Version V5.4+SP1) nicht immer korrekt akuallisiert (PLC-SIM-Bug)
> mfG. Jo


 
War das dein Beitrag zu dem Thema ...?
Sieht mir doch ein wenig nach heisser Luft aus ...
Aber ist schon OK ... jeder darf hier seine Meinung haben ...


----------



## kaschey007 (6 April 2008)

Ok danke schon mal für die Antworte

aber richtig einleuchtend war bis jetzt keine Antwort....








Larry Laffer schrieb:


> ... wenn du den Merker einfach wieder löschen willst, dann :
> 
> 
> 
> ...


----------



## Larry Laffer (6 April 2008)

... mehr fällt mir da leider nicht zu ein ...
Hast du meinen Vorschlag mal getestet ?


----------



## HaDi (6 April 2008)

Hallo kaschey007,

es ist vielleicht an der Zeit, mal deinen aktuellen Stand hier reinzustellen und zu beschreiben, was jetzt noch nicht geht. So wie ich dein Problem verstanden habe, hätten die bisher gelieferten Hilfen eigentlich zur Lösung führen müssen.

Grüße von HaDi


----------



## kaschey007 (6 April 2008)

HaDi schrieb:


> Hallo kaschey007,
> 
> es ist vielleicht an der Zeit, mal deinen aktuellen Stand hier reinzustellen und zu beschreiben, was jetzt noch nicht geht. So wie ich dein Problem verstanden habe, hätten die bisher gelieferten Hilfen eigentlich zur Lösung führen müssen.
> 
> Grüße von HaDi


 
hallo habe gerade alle vorschläge getestet, funktioniert keiner


----------



## Larry Laffer (6 April 2008)

... dann würde ich auch dem Vorschlag von HaDi folgen und auch sagen, dass du hier vielleicht mal etwas Konkretes veröffentlichst ...


----------



## kaschey007 (6 April 2008)

Larry Laffer schrieb:


> ... dann würde ich auch dem Vorschlag von HaDi folgen und auch sagen, dass du hier vielleicht mal etwas Konkretes veröffentlichst ...


Wie ich schon gesagt habe das ziel ist es einen Button wie bei windows taschenrechner zu progrmmieren. Wenn man beim Calculator auf plus klickt, dann bleibt der Buttone ja auch nicht reingedrückt donder springt zurück, wie man es von anderen windows anwendungen es auch kennt. 

Ich habe das schon mal grob ein paar funktionen geschrieben (Siehe Unten) , aber da muss ich die häckchen bei PLCSim nach dem ich sie gesetzt habe auch wieder selbst rücksetzten, das hiesse ja dass der Button reingedrückt bleibt. Ich möchte dass es selbst zurückspringt. Ich weiss auch dass es nicht mit eingängen sondern mit merkern funktionieren kann. aber noch habe ich das nicht geschafft den merker zurückzusetzen....



      U(    
      O(    
      U     #Plus
      S     M      1.0
      )     
      O(    
      U     #Minus
      S     M      1.1
      )     
      O(    
      U     #Div
      S     M      1.2
      )     
      O(    
      U     #Mul
      S     M      1.3
      )     
      )     
      FP    M      0.0

      SPB   lade
      SPA   ende

lade: L     #EA
      T     #zw1

ende: NOP   0
      U     #Gleich
      FP    M      0.1
      =     M      0.2
      U     M      0.2
      U     M      1.0
      SPB   add1
      SPA   end1
add1: L     #EA
      L     #zw1
      +R    
      T     #EA
      SET   
      R     M      1.0


end1: NOP   0

      U     M      0.2
      U     M      1.1
      SPB   min1
      SPA   end2
min1: L     #zw1
      L     #EA
      -R    
      T     #EA
      SET   
      R     M      1.1
end2: NOP   0
      U     M      0.2
      U     M      1.2
      SPB   div1
      SPA   end3
div1: L     #zw1
      L     #EA
      /R    
      T     #EA
      SET   
      R     M      1.2
end3: NOP   0
      U     M      0.2
      U     M      1.3
      SPB   mul1
      SPA   end4
mul1: L     #zw1
      L     #EA
      *R    
      T     #EA
      SET   
      R     M      1.3


end4:nop 0
 U     #Clear
      L     0.000000e+000
      T     #EA


----------



## kaschey007 (6 April 2008)

Ergänzung:

jetzt sind meine variabeln #Plus etc. Eingangsvariablen also E 0.0 bis E 0.6 



U( 
O( 
U #Plus
S M 1.0
) 
O( 
U #Minus
S M 1.1
) 
O( 
U #Div
S M 1.2
) 
O( 
U #Mul
S M 1.3
) 
) 
FP M 0.0

SPB lade
SPA ende

lade: L #EA
T #zw1

ende: NOP 0
U #Gleich
FP M 0.1
= M 0.2
U M 0.2
U M 1.0
SPB add1
SPA end1
add1: L #EA
L #zw1
+R 
T #EA
SET 
R M 1.0


end1: NOP 0

U M 0.2
U M 1.1
SPB min1
SPA end2
min1: L #zw1
L #EA
-R 
T #EA
SET 
R M 1.1
end2: NOP 0
U M 0.2
U M 1.2
SPB div1
SPA end3
div1: L #zw1
L #EA
/R 
T #EA
SET 
R M 1.2
end3: NOP 0
U M 0.2
U M 1.3
SPB mul1
SPA end4
mul1: L #zw1
L #EA
*R 
T #EA
SET 
R M 1.3


end4:nop 0
U #Clear
L 0.000000e+000
T #EA[/quote]


----------



## Larry Laffer (6 April 2008)

Warum ist Alles mit dem M0.2 ver-Undet ?


----------



## kaschey007 (6 April 2008)

m 0.2 wird gesetzt wenn man auf #Gleich drückt , somit auch in jeder funktion erhalten. aber ich schreibe jetzt mal kommentare rein


----------



## vierlagig (6 April 2008)

OT: nutze doch [code ] und [/code ] (jeweils ohne space) ...sieht besser aus und ist wesentlich leichter zu lesen...

ZT: du möchtest also, das einmal erkannt wird, dass du die taste gedrückt hast? ... das erledigt FP für dich ... wertet nur die flanke aus und der 1-status danach ist egal ... die taste wieder zurückstellen geht ja nur mit nem aktor am taster


----------



## Larry Laffer (6 April 2008)

kaschey007 schrieb:


> m 0.2 wird gesetzt wenn man auf #Gleich drückt , somit auch in jeder funktion erhalten. aber ich schreibe jetzt mal kommentare rein


 
Das habe ich aber nicht erkennen können, das "Plus" oder "Minus" und Konsorten den M0.2 auch bringen ... Es muss aber da sein, damit die Geschichte unten weiter überhaupt bearbeitet wird ...


----------



## kaschey007 (6 April 2008)

kaschey007 schrieb:


> m 0.2 wird gesetzt wenn man auf #Gleich drückt , somit auch in jeder funktion erhalten. aber ich schreibe jetzt mal kommentare rein


 
      U(                         //Auswahl der Arithmetischen Funktion 
      O(    
      U     #Plus
      S     M      1.0            // In Abhängigkeit vom gesetzten merker M1.x Springt Das Programm in die Gewünschte Aktion rein   
      )     
      O(    
      U     #Minus
      S     M      1.1
      )     
      O(    
      U     #Div
      S     M      1.2
      )     
      O(    
      U     #Mul
      S     M      1.3
      )     
      )     
      FP    M      0.0

      SPB   lade               
      SPA   ende

lade: L     #EA                      // EA Feld ins Zwischenspeicher Laden
      T     #zw1

ende: NOP   0
      U     #Gleich                  // Merker Für Gleich definieren
      FP    M      0.1
      =     M      0.2
      U     M      0.2                //wenn mann #Plus gedrückt hat dann
      U     M      1.0
      SPB   add1
      SPA   end1
add1: L     #EA
      L     #zw1
      +R    
      T     #EA
      SET   
      R     M      1.0                // bis hier plus


end1: NOP   0

      U     M      0.2                // Minus
      U     M      1.1
      SPB   min1
      SPA   end2
min1: L     #zw1
      L     #EA
      -R    
      T     #EA
      SET   
      R     M      1.1                  //ende Minuns
end2: NOP   0
      U     M      0.2              //geteilt 
      U     M      1.2
      SPB   div1
      SPA   end3
div1: L     #zw1
      L     #EA
      /R    
      T     #EA
      SET   
      R     M      1.2                //ende geteilt
end3: NOP   0
      U     M      0.2                //Mult
      U     M      1.3
      SPB   mul1
      SPA   end4
mul1: L     #zw1
      L     #EA
      *R    
      T     #EA
      SET   
      R     M      1.3                   //end Mult


end4:nop 0
 U     #Clear                           // Clear funktion. EA Feld zurücksetzen
      L     0.000000e+000
      T     #EA


----------



## vierlagig (6 April 2008)

vierlagig schrieb:


> OT: nutze doch [code ] und [/code ] (jeweils ohne space) ...sieht besser aus und ist wesentlich leichter zu lesen...



.................


----------



## kaschey007 (6 April 2008)

vierlagig schrieb:


> OT: nutze doch [code ] und [/code ] (jeweils ohne space) ...sieht besser aus und ist wesentlich leichter zu lesen...
> 
> ZT: du möchtest also, das einmal erkannt wird, dass du die taste gedrückt hast? ... das erledigt FP für dich ... wertet nur die flanke aus und der 1-status danach ist egal ... die taste wieder zurückstellen geht ja nur mit nem aktor am taster


 

hab es gesehen wie einer das per software gelöst hat, also merker ist zurückgesprungen 

das mit code , danke , wusste ich nicht, bin neu hier 


FP danke, siehe meinen Code 

übrigens an Larry, der funktioniert M0.2 ist richtig


----------



## vierlagig (6 April 2008)

können wir nonchmal kurz dein problem definieren, kann dir nämlich grad nicht folgen ... du möchtest eine art taschenrechner proggen? ok, soweit, so gut, und weiter? du möchtest, das die taste nur beim drücken erkannt wird? dafür gibts die flanken-auswertung ... weiteres kannst du jedem C-sample-code für taschenrechner entnehmen und auf AWL umsetzen ODER, wenn du die möglichkeit hast, und lass dir gesagt sein, es wäre die beste lösung, in SCL


----------



## Larry Laffer (6 April 2008)

Zur Bedienung:
Du drückst erst die Taste für die Operation und dann Gleich ... korrekt ?
Was hälst du davon, wenn du dir die Flanken-Geschichte für den M0.2 sparst und ihn nach der jeweiligen durchgeführten Operation löscht ... also :
	
	



```
U M 0.2 //wenn mann #Plus gedrückt hat dann
U M 1.0
SPBN end1

add1: L #EA
L #zw1
+R 
T #EA

U M0.2
R M 1.0 // bis hier plus
R M0.2
 
End1: nop 0
```


----------



## kaschey007 (6 April 2008)

vierlagig schrieb:


> können wir nonchmal kurz dein problem definieren, kann dir nämlich grad nicht folgen ... du möchtest eine art taschenrechner proggen? ok, soweit, so gut, und weiter? du möchtest, das die taste nur beim drücken erkannt wird? dafür gibts die flanken-auswertung ... weiteres kannst du jedem C-sample-code für taschenrechner entnehmen und auf AWL umsetzen ODER, wenn du die möglichkeit hast, und lass dir gesagt sein, es wäre die beste lösung, in SCL


Flankemerker ist schon klar , siehe meinen Code.
ABER: Die taste muss zurückspringen, die aufgabe ist nicht in SCL oder C oder sonst was zu programmieren, sondern in AWL 

wie gesagt, wenn du auf Windows taschenrechner gehst und plus drückst belibt die taste auch nicht gedrückt


----------



## Onkel Dagobert (6 April 2008)

kaschey007 schrieb:


> ..ich will das so machen, dass die bit häckchen bei PLCSIM wie ein taster funktionieren..


Das wird nie funktionieren. Die Eingänge von PLCSIM verhalten sich wie bei richtiger Hardware, können also nicht vom Programm zurückgesetzt werden. Du kannst die Eingänge zwar im Prozessabbild überschreiben, jedoch nicht direkt an der Hardware. Am Zyklusbeginn wird das Abbild der Eingänge wieder aktualisiert.

Mein Tipp: Benutze für dein Vorhaben keine Eingänge, sondern Merker in einer Variablentabelle!


Gruß, Onkel


----------



## kaschey007 (6 April 2008)

Larry Laffer schrieb:


> Zur Bedienung:
> Du drückst erst die Taste für die Operation und dann Gleich ... korrekt ?
> Was hälst du davon, wenn du dir die Flanken-Geschichte für den M0.2 sparst und ihn nach der jeweiligen durchgeführten Operation löscht ... also :
> 
> ...


 

der Merker M 0.2 ist nur dafür da, damit das programm weiss dass #Gleich gedrückt wurde, wenn ich den zurücksetze springt #Gleich nicht auf False 
so hat es leider keinen Sinn


----------



## vierlagig (6 April 2008)

kaschey007 schrieb:


> Flankemerker ist schon klar , siehe meinen Code.
> ABER: Die taste muss zurückspringen, die aufgabe ist nicht in SCL oder C oder sonst was zu programmieren, sondern in AWL
> 
> wie gesagt, wenn du auf Windows taschenrechner gehst und plus drückst belibt die taste auch nicht gedrückt



von was für tasten reden wir hier? ... naja egal ... irgendjemand hat es schon erwähnt: am ende eines zykluses einfach alle tasten zurücksetzen!


----------



## kaschey007 (6 April 2008)

Onkel Dagobert schrieb:


> Das wird nie funktionieren. Die Eingänge von PLCSIM verhalten sich wie bei richtiger Hardware, können also nicht vom Programm zurückgesetzt werden. Du kannst die Eingänge zwar im Prozessabbild überschreiben, jedoch nicht direkt an der Hardware. Am Zyklusbeginn wird das Abbild der Eingänge wieder aktualisiert.
> 
> Mein Tipp: Benutze für dein Vorhaben keine Eingänge, sondern Merker in einer Variablentabelle!
> 
> ...


 
DANKE DANKE DANKE, das ist mein Reden, ich habe ja gesagt dass ich das mit Merkern machen will, und das Programm was ich gepostet habe ist vorerst mit Eingängen geschrieben, die möchte ich mit Merkern umschreiben. Aber ich bin noch nicht auf die Lösung mit Merkern gekommen. Und meine Frage war wie ich das mit Merkern anstelle. 
Dass es mit Eingängen nicht funktionieren wird, habe ich im ersten Post geschrieben


----------



## vierlagig (6 April 2008)

Onkel Dagobert schrieb:


> Das wird nie funktionieren. Die Eingänge von PLCSIM verhalten sich wie bei richtiger Hardware, können also nicht vom Programm zurückgesetzt werden. Du kannst die Eingänge zwar im Prozessabbild überschreiben, jedoch nicht direkt an der Hardware. Am Zyklusbeginn wird das Abbild der Eingänge wieder aktualisiert.




da kommen wir wieder zu den vorteilen eines INPUT und OUTPUT-SCANS ... also das schreiben von eingängen auf merkern und umgedreht von merkern auf ausgänge ... aber das würde nun hier wirklich zuweit führen


----------



## Larry Laffer (6 April 2008)

kaschey007 schrieb:


> der Merker M 0.2 ist nur dafür da, damit das programm weiss dass #Gleich gedrückt wurde, wenn ich den zurücksetze springt #Gleich nicht auf False
> so hat es leider keinen Sinn


 
Und warum bildest du dir dann mit Gleich eine Flanke, die dann im M0.2 landet ...


----------



## kaschey007 (6 April 2008)

vierlagig schrieb:


> von was für tasten reden wir hier? ... naja egal ... irgendjemand hat es schon erwähnt: am ende eines zykluses einfach alle tasten zurücksetzen!


 
Taste - Button - oder Häckchen bei PLCSim


----------



## HaDi (6 April 2008)

Also bei meinem Windows-Taschenrechner bleibt die Taste solange gedrückt, bis ich die Maustaste wieder loslasse und dann wird die Funktion ausgeführt.
In PLC-SIM ist das so, dass das Häkchen erst erscheint, wenn die Maustaste losgelassen wird, was ja auch richtig ist.
Und dieses Häkchen (bzw. den damit verknüpften Merker) dann im Programm zurückzusetzen, von mir aus über eine Zeit, damit man das Häkchen auch zu sehen bekommt, sollte doch kein Problem darstellen.

HaDi


----------



## kaschey007 (6 April 2008)

vierlagig schrieb:


> von was für tasten reden wir hier? ... naja egal ... irgendjemand hat es schon erwähnt: am ende eines zykluses einfach alle tasten zurücksetzen!


WIE hab schon versucht Klappt nicht


----------



## kaschey007 (6 April 2008)

Larry Laffer schrieb:


> Und warum bildest du dir dann mit Gleich eine Flanke, die dann im M0.2 landet ...


ich spare mir damit Zeilen


----------



## kaschey007 (6 April 2008)

HaDi schrieb:


> Also bei meinem Windows-Taschenrechner bleibt die Taste solange gedrückt, bis ich die Maustaste wieder loslasse und dann wird die Funktion ausgeführt.
> In PLC-SIM ist das so, dass das Häkchen erst erscheint, wenn die Maustaste losgelassen wird, was ja auch richtig ist.
> Und dieses Häkchen (bzw. den damit verknüpften Merker) dann im Programm zurückzusetzen, von mir aus über eine Zeit, damit man das Häkchen auch zu sehen bekommt, sollte doch kein Problem darstellen.
> 
> HaDi


also für mich hat es gestern ganzen tag einen Problemm dargestellt, und jetzt immernoch


----------



## Larry Laffer (6 April 2008)

... wenn du Zeilen sparen willst, dann programmiere SPBN und nicht SPB und SPA hintereinander ...

Vielleicht versuchst du erstmal, die Funktion zu bekommen und dann zu optimieren ...


----------



## vierlagig (6 April 2008)

HaDi schrieb:


> Also bei meinem Windows-Taschenrechner bleibt die Taste solange gedrückt, bis ich die Maustaste wieder loslasse und dann wird die Funktion ausgeführt.
> In PLC-SIM ist das so, dass das Häkchen erst erscheint, wenn die Maustaste losgelassen wird, was ja auch richtig ist.
> Und dieses Häkchen (bzw. den damit verknüpften Merker) dann im Programm zurückzusetzen, von mir aus über eine Zeit, damit man das Häkchen auch zu sehen bekommt, sollte doch kein Problem darstellen.



du meinst einen IMPULS? joah, könnte man machen ... finde es irgendwie NAJA einen taschenrechner auf PLCSIM zu proggen...aber jeder wie er mag ... öhm ... tasten zurücksetzen... nun ... also stell fest, dass eine taste gedrückt wurde


```
U  #plus
FP #help_flag
S  #plus_wurde_gedrückt
```

und am ende eines jeden zykluses sagst du halt


```
R  #plus_wurde_gedrückt
R  #minus_wurde_gedrückt
R  #mal_wurde_gedrückt
....
```


----------



## kaschey007 (6 April 2008)

Larry Laffer schrieb:


> ... wenn du Zeilen sparen willst, dann programmiere SPBN und nicht SPB und SPA hintereinander ...
> 
> Vielleicht versuchst du erstmal, die Funktion zu bekommen und dann zu optimieren ...


das versuche ich ja gerade


----------



## kaschey007 (6 April 2008)

vierlagig schrieb:


> du meinst einen IMPULS? joah, könnte man machen ... finde es irgendwie NAJA einen taschenrechner auf PLCSIM zu proggen...aber jeder wie er mag ... öhm ... tasten zurücksetzen... nun ... also stell fest, dass eine taste gedrückt wurde
> 
> 
> ```
> ...


 

danke versuche ich jetzt, 

ja ich bin ein anfänger, habe mir eine aufgabe zum lernen ausgedacht, Übungen habe ich im Netz nicht gefunden


----------



## Onkel Dagobert (6 April 2008)

Noch einmal: Es ist nicht möglich, das "Häckchen" in PLCSIM automatisch zurück zu setzen! Versteht das hier niemand oder irre ich?


Gruß, Onkel


----------



## kaschey007 (6 April 2008)

vierlagig schrieb:


> du meinst einen IMPULS? joah, könnte man machen ... finde es irgendwie NAJA einen taschenrechner auf PLCSIM zu proggen...aber jeder wie er mag ... öhm ... tasten zurücksetzen... nun ... also stell fest, dass eine taste gedrückt wurde
> 
> 
> ```
> ...


 

das wird so nicht funktionieren, weil das häckche bei #Plus bleiben wird, das ist ein E 0.0 zB 

Aber auch wenn ich M 0.0 dafür nehme wird das auch nicht funktionieren weil nicht der Merker mit dem die funktion ausgelöst wurde zurückgesetzt wird, das ist ja das ziel , dass mit M 0.0 zB Plus ausgelöst wird um am ende auf False gesetzt . Aber einfach mit zurücksetzen hat es nicht geklappt, das häck´chen will nicht weg


----------



## vierlagig (6 April 2008)

kaschey007 schrieb:


> danke versuche ich jetzt,
> 
> ja ich bin ein anfänger, habe mir eine aufgabe zum lernen ausgedacht, Übungen habe ich im Netz nicht gefunden



zum lernen empfehle ich die *ausbildungsunterlagen*

und onkelschen ... du kannst aber die häckschen von merkerchen zurücksetzen


----------



## kaschey007 (6 April 2008)

Onkel Dagobert schrieb:


> Noch einmal: Es ist nicht möglich, das "Häckchen" in PLCSIM automatisch zurück zu setzen! Versteht das hier niemand oder irre ich?
> 
> 
> Gruß, Onkel


 

Noch einmal: hab das mit eigenen Augen gesehen, dass einer das gemacht hat!!!! 

halt nur mit Merkern gearbeitet


----------



## Larry Laffer (6 April 2008)

Onkel Dagobert schrieb:


> Noch einmal: Es ist nicht möglich, das "Häckchen" in PLCSIM automatisch zurück zu setzen! Versteht das hier niemand oder irre ich?


 
PLCSim soll ja auch nicht das Häkchen wegnehmen, sondern das Step7-Programm und das funktioniert (zumindestens bei mir) sehr wohl ...


----------



## HaDi (6 April 2008)

Noch einmal: Wenn du in PLC-SIM per Mausklick einen Merker setzt, erscheint das Häkchen. Da das Häkchen ja auch gleichzeitig die Statusanzeige für diesen Merker ist, wird es auch verschwinden, wenn du den Merker in der SPS zurücksetzt.

HaDi


----------



## kaschey007 (6 April 2008)

Larry Laffer schrieb:


> PLCSim soll ja auch nicht das Häkchen wegnehmen, sondern das Step7-Programm und das funktioniert (zumindestens bei mir) sehr wohl ...


 
sag wie??????? 

Also noch mal , wenn ich auf MB 0.0 klicke soll das häckchen kurz erscheinen und dann erlöschen 

Versteht denn hier keiner was ich meine???????


----------



## Larry Laffer (6 April 2008)

Ich verstehe jetzt das Problem ...
1.: #PLUS und die anderen müssen IN_OUT-Parameter an deinem Baustein sein
2.: wenn du die Operation in deinen Zwischenmerker übernommen hast, dann musst du die Operartion selbst auch löschen ... oder du arbeitest gleich mit der Operation und löscht diese nach Ausführung. Spart die Zwischen- und Flankenmerker.

Das sollte mit deinem Code dann funzzen ... 

Gruß
LL


----------



## kaschey007 (6 April 2008)

HaDi schrieb:


> Noch einmal: Wenn du in PLC-SIM per Mausklick einen Merker setzt, erscheint das Häkchen. Da das Häkchen ja auch gleichzeitig die Statusanzeige für diesen Merker ist, wird es auch verschwinden, wenn du den Merker in der SPS zurücksetzt.
> 
> HaDi


ich kann das ja auch So programmieren, angenommen #Plus ist M 0.0 


```
U M 0.0
FP M 0.1
S M 0.2
U M0.2
R M0.0[code/]
 
Aber dann bleibr M0.2 markiert, und das Ziel ist alles muss weg!!!!
```


----------



## johnij (6 April 2008)

Hallo,
man kann es so machen:

      U     M      0.0       
      L     S5T#100MS
      SV    T      0
      UN    T      0
      R     M      0.0

Gruß johnij


----------



## kaschey007 (6 April 2008)

Larry Laffer schrieb:


> Ich verstehe jetzt das Problem ...
> 1.: #PLUS und die anderen müssen IN_OUT-Parameter an deinem Baustein sein
> 2.: wenn du die Operation in deinen Zwischenmerker übernommen hast, dann musst du die Operartion selbst auch löschen ... oder du arbeitest gleich mit der Operation und löscht diese nach Ausführung. Spart die Zwischen- und Flankenmerker.
> 
> ...


 
zeig bitte einen beispiel nur für setzen und rücksetzten was in FB1 und OB 1 stehen soll


----------



## kaschey007 (6 April 2008)

johnij schrieb:


> Hallo,
> man kann es so machen:
> 
> U M 0.0
> ...


 
DANKE DANKE DANKE, wenigstens einer der Ahnung hat. 
kannste mir Bitte auch erklären warum das mit einem Timer funktioniert und ohne nicht??


----------



## Larry Laffer (6 April 2008)

```
#ADD sei ein IN_OUT als BOOL
 
U #ADD
spbn nAdd
 
L Wert1
L Wert2
+R
T Wert1
 
U #ADD
R #ADD
 
nAdd: nop 0
```
 
Das mit dem Baustein kriegst du sicher auch selbst hin.
In den IN_OUT-Parameter ADD kannst (solltest) du einen Merker eintragen. z.B. M0.0 oder wie du meinst. Wert1 und Wert2 sind deine schon vorhandenen Variablen ...


----------



## Larry Laffer (6 April 2008)

kaschey007 schrieb:


> DANKE DANKE DANKE, wenigstens einer der Ahnung hat.
> kannste mir Bitte auch erklären warum das mit einem Timer funktioniert und ohne nicht??


 
Bei mir geht das auch ohne den Timer ...
Du musst nur auch wirklich den Merker zurücksetzen (der die Aktion startet)


----------



## Jo (6 April 2008)

@kaschey007
ich zitiere mich mal kurz:


> also, wenn ich hier die Vorschläge der "FORUMS-Experten" lese, habe ich das Gefühl hier soll jemand vera... werden. Es fehlt nur noch der entsprechende SCL-Code.
> Einfach am Zyklus-Ende rücksetzen, fertisch.
> Wird aber bei akueller PLCSim-Version V5.4+SP1) nicht immer korrekt akuallisiert (PLC-SIM-Bug)


Die Anzeige wird aber bei PLCSim V5.4+SP1 nicht korrekt aktualisiert.
welche Version hast du im Einsatz?
bei V5.3 funktionierts bei V5.4 nur zufällig.

mfG. Jo


----------



## HaDi (6 April 2008)

Das funktioniert auch ohne Timer, nur geht das so schnell, dass du dein geliebtes Häkchen gar nicht zu sehen bekommst.

HaDi


----------



## kaschey007 (6 April 2008)

Larry Laffer schrieb:


> ```
> #ADD sei ein IN_OUT als BOOL
> 
> U #ADD
> ...


 

ja ich probiere es gleich aus, wenn das funktioniert dann ist das in meinen augen eine elegantere lösung als mit einem Timer


----------



## vierlagig (6 April 2008)

kaschey007 schrieb:


> wenigstens einer der Ahnung hat.



:sc6: ... kann ja nicht jeder so komische ideen wie du haben


----------



## Larry Laffer (6 April 2008)

kaschey007 schrieb:


> ja ich probiere es gleich aus, wenn das funktioniert dann ist das in meinen augen eine elegantere lösung als mit einem Timer


 
Das mit dem Timer kann zum Entprellen (gerade bei PLCSim) nicht schaden ... Überleg es dir ...


----------



## Larry Laffer (6 April 2008)

@4L:
Bist du heute wieder Böse ...?


----------



## Onkel Dagobert (6 April 2008)

Jetzt verstehe ich. Es scheint tatsächlich Probleme mit der Aktualisierung in PLCSIM zu geben. Ich habe mal ganz simpel folgendes probiert:


```
U     M     20.0
      ZV    Z     11
      L     Z     11
      CLR   
      =     M     20.0
```
 
Der Merker wird im Programm zurück gesetzt, das Häckchen in PLCSIM bleibt jedoch  . Lege ich hingegen einen Taktmerker auf M20.0, erfolgt die Anzeige in PLCSIM korrekt.

Setze ich den Merker in einer Variablentabelle, funktioniert es.


Gruß, Onkel


----------



## Larry Laffer (6 April 2008)

Ich habe bei mir noch das 5.3 im Einsatz ... sollte ich vielleicht auch erwähnen ...


----------



## Larry Laffer (6 April 2008)

... was ist los ...?
Schlagzahl reduziert ...?
Schon 8 Minuten keine Beiträge mehr ...


----------



## HaDi (6 April 2008)

Also ich hab´ hier noch 5.2 und da geht das prima. Sollte der Fragesteller tatsächlich die fragliche Version benutzen, so würde das einiges erklären.


----------



## johnij (6 April 2008)

kaschey007 schrieb:


> DANKE DANKE DANKE, wenigstens einer der Ahnung hat.
> kannste mir Bitte auch erklären warum das mit einem Timer funktioniert und ohne nicht??


 

Also,
die Zykluszeit ist so schnell, so dass man es nicht merkt.
Ein anderer Vorschlag:

Am Anfang der OB1  
U M0.0
.
.
.
SET
R M0.0


----------



## kaschey007 (6 April 2008)

johnij schrieb:


> Also,
> die Zykluszeit ist so schnell, so dass man es nicht merkt.
> Ein anderer Vorschlag:
> 
> ...


 
ich hab das noch nicht probiert, wollte alles in einem FB programmieren 
aber danke


----------



## HaDi (6 April 2008)

@kaschey007:
Hast du denn nun die fragliche Version (5.4 SP1) im Einsatz ? Wenn ja, dann gebührt dem Kollegen Jo ein Schulterklopfen, immerhin hat er uns ja bereits im Beitrag #5 auf ein entsprechendes Fehlverhalten hingewiesen.

HaDi


----------



## kaschey007 (6 April 2008)

HaDi schrieb:


> @kaschey007:
> Hast du denn nun die fragliche Version (5.4 SP1) im Einsatz ? Wenn ja, dann gebührt dem Kollegen Jo ein Schulterklopfen, immerhin hat er uns ja bereits im Beitrag #5 auf ein entsprechendes Fehlverhalten hingewiesen.
> 
> HaDi


 
ja hab 5.4 
ja kann ja sein dass ein bug ist
wie gesagt mache das erst seit 4 Tagen, noch nit so viel Ahnung


----------



## kaschey007 (6 April 2008)

Larry Laffer schrieb:


> ```
> #ADD sei ein IN_OUT als BOOL
> 
> U #ADD
> ...


 
diese lösung funzt nicht


----------



## kaschey007 (6 April 2008)

johnij schrieb:


> Also,
> die Zykluszeit ist so schnell, so dass man es nicht merkt.
> Ein anderer Vorschlag:
> 
> ...


programmiere alles im FB1


----------



## johnij (6 April 2008)

Also, wenn du alles im FB programmierst denn:

am Anfang vom FB (Netzwerk1):

U M0.0
.
.

Am Ende vom FB (das letzte Netzwerk im FB):
SET // VKE setzen
R Mo.o
Gruß johnij


----------



## kaschey007 (6 April 2008)

johnij schrieb:


> Also, wenn du alles im FB programmierst denn:
> 
> am Anfang vom FB (Netzwerk1):
> 
> ...


das habe ich ganz am anfang des problemms versucht, das funzt nicht


----------



## Larry Laffer (6 April 2008)

Ich habe das gerade mal gecheckt ...
Es ist die 5.4 ...
Also meinen Dank für die interessante Info an Jo (Beitrag#5) und ich nehme hiermit die Sache mit der "heissen Luft" aus meinem folgenden Beitrag zurück ...
Also denn ...


----------

