TIA TIA v15 cpu1500 frage

  • Ersteller Gelöschtes Mitglied 74258
  • Erstellt am
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, gelöst gut gesagt. Mein Titel lautet V15, jetzt muss ich V16 installieren. Ehrlich gesagt habe ich entw FUP oder AWL Lösung erwartet. Aber sehe ich leider schwarz und das Problem mit Siemens FB als gelöst.
Vielen Dank
 
Neutrale Stelle braucht man bei Kollisionen, dass man per Hand das beheben könnte oder ganz langsam mit der Hand vorschiebt um zu gucken woran es liegen könnte oder so etwas. Alle Schalter auf neutral geht manchmal nicht, da fallen zB Spanner oder Schlitten nach unten, die manchmal sehr groß sind. Und dann wiederrum wenn ich von der neutrallen Stelle vorwärts schalte dann wiederholt sich die Geschichte von vorne an.
Da ich kein Programmierer sondern Anwender bin, stelle ich die Frage ob mit FUP oder AWL oben beschriebene Funktion möglich wäre, wenn nicht dann die Sache für mich schon erledigt.
Danke
Wie wäre es wenn Du, nach einer Kollision, über ein zusätzliches Umschaltventil mit 2 unterschiedlichen Drücken bzw. einem gedrosselten Durchfluss fährst. Wäre vielleicht einfacher.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ehrlich gesagt habe ich entw FUP oder AWL Lösung erwartet.
Na ja, AWL ist aber wie SCL/ST auch nur ZeilenTipperei und oft auch CopyAndPasterei.
ZeilenTipperei liegt mir mit meinen HilfsMitteln sehr viel mehr als FUP-Käschten-Malerei (per TextEditor).
Die SCL/ST-ähnlichen Pseudo-Code-Vorschläge sind ja auch nicht als KomplettLösung gedacht, sondern als AbsichtsErklärung, wie man es anpacken könnte.
Die Deklaration von Variablen benötigt man für all diese Sprachen gleichermassen. Und die DatenTypen sind auch nicht sprachabhängig.

Wer Formeln lesen kann, der müsste auch die in SCL/ST vorkommenden, an Formeln stark erinnernden Schreibweisen verstehen können.
Wichtig ist nur, zu wissen, dass das, was rechts von ':=' steht durch das ':=' in die links von ':=' genannte Variable gespeichert wird.
Die Zeile x := x +1 ; ist also keine misslungene Gleichung oder Ungleichung, sondern die Anweisung bzw. WertZuweisung, den Inhalt von x zu lesen, etwas damit zu tun (hier im Beispiel eine 1 zu addieren) und das Ergebnis in x zu speichern.
Die Operatoren AND, OR, XOR dürften bekannt sein und sind in FUP als Kästchen verfügbar.

AWL ist eigentlich für Laien gewöhnungsbedürftiger. Da muss man wissen, dass es i.A. mindestens 2 Akkus gibt und wie viele Bits sie "breit" sind und wohin ein LadeBefehl ein Byte oder ein Wort oder ein DoppelWort lädt, nämlich immer "rechtsbündig". Dass der "AkkuStapel" vor dem Laden immer um 1 Position nach oben geschoben wird, um Platz für den Wert zu schaffen, der geladen wird.
Dann gibt es noch die BitVerknüpfungen, die "unabhängig" vom Akku laufen.
Und dann gibt es noch gewisse Beeinflussungen zwischen diesen beiden Bereichen, die "im Hintergrund" ablaufen, z.B. das Abfragen und Setzen von StatusBits inkl. des VKE. Aber ich will hier keinen AWL-Lehrgang abhalten.
Fazit: wer AWL versteht und anwenden kann, der dürfte mit SCL/ST keine unlösbaren Probleme bekommen. Nur Mut!
 
Ich bräuchte aber Bit-Impuls am Ausgang bei beliebiger Zustandsänderung des beliebigen Bits im DW. Im FB oben das ist Bool Ausgang "hasChanged".
Musst Du denn bei Änderung eines beliebigen Schalters alle Ventile kurz in "neutrale Stellung" schalten?
Warum willst Du gleich 32 (oder 90) Schalter gleichzeitig auswerten und auf 90 Ventile anwenden, egal welcher Schalter der Auslöser war?
Sind die Ventile nur von den Schaltern abhängig?
Ich hätte gedacht, man programmiert sich einen FB mit der gewünschten Funktion für ein Ventil und instanziiert den FB dann 90 mal für 90 Ventile. Dann braucht man keine DWORD-Verarbeitung und kein Shift Links/Rechts, und es ist auch egal ob AUF/ZU auf geraden oder ungeraden E/A-Bits/Bytes liegen. Du scheinst aber alle 90 Ventile gleichzeitig mit dem selben Stück Code beeinflussen zu wollen?

Harald
 
Vielen Dank für die Nachrichten,
erstens DW addieren in AWL ist UD in SCL sehe ich AND was wiederum in AWL UND bitweise addieren bedeutet in FUP ist das auch ein anderes Kästchen als &.
Wie ich schon oben beschrieben (natürlich schlecht) diese Aktion wollte ich nur für die Zeitsteuerung, dass ich bei jeder Änderung nur FC benutze oder FB, der Rest bleibt. Wenn eine Ventilinsel mit 16 Ventile angesteuert werden muss dann nehme ich direkt DW oder besser gesagt habe ich schon bestimmte Einträge im DB einzeln, byte, word, dword mit verschtändliche Symbolik so wie 1" Schalter 1 Reihe", genau gleiche FCs oder FBs mit gleiche Schachtelung wollte ich auch für die Zeitsteuerung basteln. Meiner Vorstellung nach einzelne Schalter an FB anzukoppeln verlangsamt Zyklus enorm.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Meiner Vorstellung nach einzelne Schalter an FB anzukoppeln verlangsamt Zyklus enorm.
Solange der Zyklus durch Dein Programm nicht zu langsam wird - wen kümmert es?
Wenn das reines Mitleid mit der CPU ist, vergiss es!
Zugegeben, wenn man auf eine Taste drückt und muss dann 2 s auf eine Reaktion warten, das kann ganz schön nerven und einen verunsichern.
Aber mit einzelnen ms musst Du bei Deiner Anwendung doch wohl nicht kämpfen?
 
Zurück
Oben