Step 7 feste "1" auf eingang legen

stephanoff

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ihr Lieben, ich hab ein Problem bei dem ich aktuell nicht weiter komme. Ist es bei Step 7 möglich einen Eingang mit einem festen "1" Signal zu beschalten? Bei unserem PLS von ABB ist dies kein Problem. Bei Step 7 suche ich aber nun verzweifelt nach einem solchen Baustein. Die Hilfe von Step 7 bringt mich leider auch nicht weiter. Vielleicht hab ihr ja einen Tipp.

Vielen Dank schon einmal im Vorraus
 
Bei S7 gibt es die Funktion "Forcen". Damit kannst du Prozess-Signalen Werte zuweisen.
Oder du schreibst am Beginn des OB1:

Code:
Set
= Ex,y

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gar kein Problem.
Nimm dir einen Merker und nenne den z.B. "Immer_Eins". Gehe in den OB1 und schreibe gleich zu Beginn

UN Immer_Eins
S Immer_Eins

Dann nimmst du diesen "Dauer Eins Merker" und packst den an deine Eingänge.

Bis denn dann

Teddy
 
In SCL gibt es die Konstanten TRUE und FALSE.

Forcen halte ich für ne schlechte Idee (Durfte gerade erst 3 Std. Auto fahren weil ein ex Kollege der Meinung war die Programmanwahl mit nem geforctem Ausgang zu machen.
Dumm nur, dass es Bedingungen gibt wo das wieder abgeschaltet wird).

Grüße

Marcel
 
Wir machen es so, dasss bei egal welcher Steuerung der Merker 0.0 immer 0 ist und wenn man ein 1 Signal braucht wird dieser einfach negiert
 
Gar kein Problem.
Nimm dir einen Merker und nenne den z.B. "Immer_Eins". Gehe in den OB1 und schreibe gleich zu Beginn

UN Immer_Eins
S Immer_Eins

Dann nimmst du diesen "Dauer Eins Merker" und packst den an deine Eingänge.

Bis denn dann

Teddy

Mache ich genau so.
Ich mache mir dann noch zusätzlich einen Merker "INBE_IMMER_1" für Inbetriebnahmen. Braucht man immer mal.
Vorteil: Am Schluss kann man nach den Verwendungsstellen suchen. So übersieht man keinen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Ich weiß das der Beitrag bereits von 2015 ist, aber ich habe eine ähnliche Frage.

Kann ich im OB1 einen Eingang auf eine Einschaltverzögerung (S-EVERZ 1 Sekunde) legen und dies dann erneut auf den Eingang schreiben?
Möchte damit erreichen, dass der Eingang mindestens 1 Sekunde da sein muss, bevor er schaltet.
Könnte dieses zwar auch in den FC/FB's machen, aber der Eingang wird momentan in ungefähr 50 Netzwerken inkl. S7 Graph etc. verwendet und dies möchte ich gerne unverändert lassen.

Vielen Dank!!
 
Den FB mit TON kannte ich noch gar nicht.
Muss aber auch dabei sagen, dass ich kein Programmierer bin, sondern nur alle paar Wochen/Monate mal das PG zur Fehlersuche benötige.
Aber wie schon gesagt, möchte ich ungerne bei allen Bausteinen den Eingang durch ein z.B. TON.Q ersetzen, sondern am liebsten nur einmal im Vorfeld (z.B. OB1) den Eingang entprellen.
In der Praxis wurde dies momentan mit einem Multifunktionsrelais realisiert, aber ich gehe davon aus, dass dieses nicht allzu lange halten wird und nebenbei wenn man eine SPS hat, sollte man diese auch nutzen für "Zeiten".
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Den Eingang auf einen TON legen und überall dort wo du den verzögerten Eingang brauchst die TON.Q Variable anstall des Eingang programmieren.

Das wäre eine saubere Lösung.
Naja, so wirklich sauber ist das aber nicht! Der Timer wird jedes mal aktualisiert, wenn der Ausgang "Q" abgefragt wird, wodurch Inkonsistenzen entstehen. Besser wäre es, den Ausgang "Q" einmalig an einen Merker zu übergeben, und diesen dann im Programm zu verwenden. Aber wir wissen ja noch gar nicht, welche Steuerung programmiert wird?

Der "Pfusch", den Eingang am Anfang des OB1 zu überschreiben wird aber auch funktionieren. Voraussetzung ist natürlich, dass der im Programm verwendete Eingang im Prozessabbild liegt und dass dieses dem OB1 zugeordnet ist. Beides ist in der Regel der Fall. Ich habe so etwas auch schon gemacht. Bei laufender S5-Fördertechnik gelten solche Maßnahmen als NotfallSonderRegel ;) .
 
Der "Pfusch", den Eingang am Anfang des OB1 zu überschreiben wird aber auch funktionieren. Voraussetzung ist natürlich, dass der im Programm verwendete Eingang im Prozessabbild liegt und dass dieses dem OB1 zugeordnet ist. Beides ist in der Regel der Fall. Ich habe so etwas auch schon gemacht. Bei laufender S5-Fördertechnik gelten solche Maßnahmen als NotfallSonderRegel ;) .
Ich habe das auch schon gemacht und würde es nicht als Pfusch bezeichnen. Man findet es ja auch problemlos an prominenter Stelle. Oft findet man solche Überbleibsel von IBN.
Blöd ist nur, wenn in einer Variablen/Beobachtungstabelle oder an einem HMI (weil das vielleicht anstatt HMI-Koppel-DB direkt auf die E-Adresse zugreift) ein anderer Zustand angezeigt wird als im SPS-Programm. Da sollte dann wirklich der Ausgang des Zeitgliedes auf eine andere globale Variable (z.B. Merker oder unbenutzte Eingangsadresse) gespeichert werden und per "Umverdrahten" die Verwendungsstellen auf die geänderte Variable angepasst werden.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Den Eingang auf einen TON legen und überall dort wo du den verzögerten Eingang brauchst die TON.Q Variable anstall des Eingang programmieren.

Das wäre eine saubere Lösung.
Besser, am TON auf den Ausgang Q eine Variable legen. So ein TON läuft genau die Zeit, kann also mitten im Programm ablaufen.
Das kann heißen, in einem FB im NW 10 ist TON.Q False, im Netzwerk 11 plötzlich True. Stört in 99,999% der Fälle nicht, kann aber mal zu komischen Ergebnissen führen. Legt man eine Variable (Bool) an den Q-Ausgang, wird die False oder True und wechselt erst wieder ihren Zustand, wenn das Programm wieder an der Zuweisung "vorbeikommt". Ich kann nicht 100%-ig sagen, ob eine 1500-er dieses Verhalten auch zeigen würde, aber eine 300-er tat das schon und ích vermute, die 1500-er macht das auch so.
 
Man sollte oder musste "schon immer" den Ausgang von Timern nur einmal im Programm verwenden und ggf. den Ausgang auf eine Zwischenvariable kopieren - quasi ein Prozessabbild des Timer-Ausgangs für den Zyklus erstellen. Nur so ist man auf der sicheren Seite, daß bei mehrfacher Verwendung im Zyklus immer der gleiche Status verknüpft wird, egal was für eine spezielle Implementation des Timers Siemens mal wieder einfällt.

Harald
 
Ich würde den bisherigen Eingang einfach 'Umverdrahten' auf einen neuen Merker, der dann von der Zeit und dem alten Eingang geschaltet wird.
 
Zurück
Oben