Blinker

s.leuschke

Level-1
Beiträge
221
Reaktionspunkte
14
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier eine einfache Methode, Blinker oder Intervallschalter zu programmieren.



U(
U(
U(
L #rISTWERT
L #SOLLWERT_VL
>R
)
L S5T#15S
SE T 9
NOP 0
NOP 0
NOP 0
U T 9
)
UN "Mischer_ZU"
L S5T#4S
SE T 1
NOP 0
NOP 0
NOP 0
U T 1
)
L S5T#4S
SA T 2
NOP 0
NOP 0
NOP 0
U T 2
= "Mischer_ZU"



Bei Bedarf auch im FUP zu haben.
Gruss Sven
 
häh?
verzeihe mir meine reaktion, vielleicht begreife ich es auch gerade einfach nicht - aber was soll daran jetzt so spektaklär, einfach und genial sein?


wenn hier im forum leute eine einfache lösung für ein flipfllop posten und ihr code in 4 zeilen passt, dann finde ich das toll - aber an dem blinkding kann ich nichts wirklich tolles erkennen... :rolleyes:
 
zeigt her eure blinker

für zeitunkritische blinkfunktionen nehm ich die blinkmerker die durch folgenden baustein generiert werden

Code:
FUNCTION "PULSE_GENERATOR" : VOID
TITLE =PULSE GENERATOR
//with PLC PULSE 1sec:  1 to 32768 seconds
//with PLC PULSE 2sec:  2 to 65536 seconds
//
//AUTHOR:   4lagig
//VERSION:  V0.1 BasicVer
AUTHOR : '4lagig'
FAMILY : BoolGF
VERSION : 0.1


VAR_INPUT
  PLC_PULSE : BOOL ;    //PLC PULSE MB x.5 for 1sec
  MW_BY_NUMBER : INT ;    //MW number that will be for pulse
END_VAR
VAR_IN_OUT
  HELP_FLAG : BOOL ;    //just a FP-help flag
END_VAR
BEGIN
NETWORK
TITLE =

      U     #PLC_PULSE; //READ PLC PULSE
      FP    #HELP_FLAG; //CHECK FOR POS TRIGGER
      SPBN  _001; //IF NOT GO BE
      L     #MW_BY_NUMBER; //LOAD MW NUMBER
      SLD   3; //MADE POINTER  
      LAR1  ; //AND LOAD IN AR1
      L     MW [AR1,P#0.0]; //LOAD MW
      L     1; //INCREMENT
      +I    ; // 
      T     MW [AR1,P#0.0]; //TRANSFER TO MW
_001: SET   ; 
      SAVE   ; 
END_FUNCTION
und ihr so? :ROFLMAO:
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
@Vierlagig:
Und wieso belegst du nicht einfach dann in HW-Konfig die Taktmerker mir einem Byte ??

Der Blinker im ersten Post hatte aber auch ein Puls/Pausenverhältnis, dasdarfste nicht vergessen, weil dann wird es richtig kompliziert :rolleyes:
 
@Vierlagig:
Und wieso belegst du nicht einfach dann in HW-Konfig die Taktmerker mir einem Byte ??

den brauch ich auch: IN: PLC_PULSE
aber eben 16 statt nur 8 bit mit anderen frequenzen :rolleyes:

Der Blinker im ersten Post hatte aber auch ein Puls/Pausenverhältnis, dasdarfste nicht vergessen, weil dann wird es richtig kompliziert :rolleyes:

puls/pause is gleich :-( ... aber dafür kann ich die 16 bits frei kombinieren :ROFLMAO:
 
häh?
verzeihe mir meine reaktion, vielleicht begreife ich es auch gerade einfach nicht - aber was soll daran jetzt so spektaklär, einfach und genial sein?


wenn hier im forum leute eine einfache lösung für ein flipfllop posten und ihr code in 4 zeilen passt, dann finde ich das toll - aber an dem blinkding kann ich nichts wirklich tolles erkennen... :rolleyes:

Ich hatte nichts von Spektaklär geschrieben, habs einfach nur so für andere reingesetzt.

Sven
 
Servus, glaube nicht,Deinen Sollwert benützt zu haben.

L #SOLLWERT_VL=VierLagig
so war das gemeint,glaub ich.nur ruhig,nicht alles tierisch ernst nehmen hier.
Aber wenn man in dieses forum einen blinker für jederman reinstellt muß man schon mit sowas rechnen.
Gruß gerhard k
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Spass muss sein... :ROFLMAO:

Aber nichts desto trotz, alles was hier gepostet wird ist für den Ein oder Anderen brauchbar. Wissen ist eben nur Wertvoll, wenn es geteilt wird.
Und es müssen ja nicht immer fette Mörderroutinen sein, sondern eben auch ein Blinker...

In diesem Sinne...
 
"Sollwert_VL" ist ja Klasse ...
Ich hätte jetzt den Thread noch 4x durchlesen können und wäre im Ledeb nicht auf die Idee gekommen ... Meinen Respekt an Gerhard K für das "zwischen den Zeilen lesen"

Gruß
LL
 
Bonjour SPS´r,
einen Blinker zu programmieren ist kinderleicht
1- durch einen Taktmerker in der HW (8 verschiedene Frequenzen)
2-..................
.
.
.
.
n-Toggle-Prinzip

Un Mx.y (Mx.y=Blinkbit)
= Mx.y :cool:

Mes Salutations
johnij
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bonjour SPS´r,
einen Blinker zu programmieren ist kinderleicht
1- durch einen Taktmerker in der HW (8 verschiedene Frequenzen)
2-..................
.
.
.
.
n-Toggle-Prinzip

Un Mx.y (Mx.y=Blinkbit)
= Mx.y :cool:

Mes Salutations
johnij


bei den taktmerkern sind puls- uns pausenzeit immer gleich lang.
der blinker von s.leuschke ermöglicht es verschiedene zeiten einzustellen dafür.
 
Moin Zusammen,
ein Blinker mit Ein- und Ausschaltzeit ist kein Hexenwerk.
Ich habe hier kein PG (ich bin mal im UUUUUUrlaub :cool: , mmhhhhh sau warm:cool: )
Also:
Im PC S7 gibt es einen Baustein (FB??, Timer_? ) in dem man T_Pulse1 und
T_Pulse0 einstellen kann.
Bei Step 7 kann man es nach dem Schema lösen (s. Anhang).




MFG
johnij
 

Anhänge

  • Blinker_Schema.doc
    35 KB · Aufrufe: 82
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
als Denkanstoß mal ein Blinker auf Micro-Win.
Braucht nur einen Timer, ist belibig erweiterbar und variabel.
So scroll ich auf dem TD200 auch schon mal lange Texte durch.

LD SM0.0
LPS
UN T37
TON T37, 40
LRD
UW<= T37, 10
= A0.0
LRD
UW> T37, 10
UW<= T37, 20
= A0.1
LRD
UW> T37, 20
UW<= T37, 30
= A0.2
LPP
UW> T37, 30
= A0.3

Ist nun natürlich etwas länger geworden weil ich vier Ausgänge als Lauflicht geschaltet habe.

MfG Günter.
 
mit variablen puls/pause-verhältnis

Code:
FUNCTION "PULSE_GENERATOR_VAR" : VOID
TITLE =PULSE_GENERATOR_VARI
AUTHOR : '4lagig'
FAMILY : BoolGF
VERSION : 0.1


VAR_INPUT
  PLC_PULSE : BOOL ;    
  ON : BOOL ;    
  ON_TIME : INT ;    
  OFF_TIME : INT ;    
END_VAR
VAR_IN_OUT
  ON_DELAY : INT ;    
  OFF_DELAY : INT ;    
  HELP_FLAG : BOOL ;    
  OUT : BOOL ;    
END_VAR
BEGIN
NETWORK
TITLE =

      U     #ON; 
      U     #PLC_PULSE; 
      FP    #HELP_FLAG; 
      SPBN  end; 

      U     #OUT; 
      SPBN  off; 

      L     #ON_DELAY; 
      L     1; 
      +I    ; 
      T     #ON_DELAY; 

      L     #ON_DELAY; 
      L     #ON_TIME; 
      >=I   ; 
      SPBN  end; 
      R     #OUT; 

      L     0; 
      T     #ON_DELAY; 
      SPA   end; 

off:  L     #OFF_DELAY; 
      L     1; 
      +I    ; 
      T     #OFF_DELAY; 

      L     #OFF_DELAY; 
      L     #OFF_TIME; 
      >=I   ; 
      SPBN  end; 
      S     #OUT; 

      L     0; 
      T     #OFF_DELAY; 


end:  SET  ; 
      SAVE    ; 

END_FUNCTION
 
Zuletzt bearbeitet:
Zurück
Oben