LittleJack86
Level-1
- Beiträge
- 44
- Reaktionspunkte
- 0
Wie viele Anweisungen kann ich in einem Zyklus abarbeiten lassen, so dass es noch ein "schönes" Programm ist? Zykluszeitmäßig ist ja einiges möglich.
Speziell stellt sich mir gerade diese Frage bei einer S7-300 (314C-2DP).
Ich speichere täglich einen Messwerte in einem DB, also je Tag ein DW. Beim Jahreswechsel kopiere ich alle Werte in einen zweiten Bereich um. Aufgrund der Programmierung sind das 372 Werte (Doppelworte) welche ich verschiebe und etwas mehr als doppelt so viele welche bearbeitet werden.
Nun zykluszeitmäßig lässt sich das Ganze in einem Zyklus bewerkstelligen, nur ist das auch "schön"?
Irgendwie habe ich leichte bedenken.
Würde mich sehr über eure Hilfe freuen!
Gruß
Florian
...Ich habe das Programm als FB geschrieben um es flexibel einsetzen zu können, wodurch man den FB somit auch für 20Messwerte verwenden könnte, wo es dann vermutlich schon zu Zeitproblemen kommen würde. Verwendet wird er aktuell nur für einen Messwert und somit ist es auch kein Problem.
Also NEIN, eigentlich ist es kein Problem.
Dennoch versuche ich alles eher Ressourcen schonend zu programmieren.
(Bekomme ich eh manchmal Kopfschmerzen davon, mache mir schon immer sehr viele Gedanken über den Code)
Ich wollte eher nur mal wegen grundsätzlicher Anhaltspunkte nachfragen, sozusagen Richtwerte welche man nach Möglichkeit nicht überschreiten sollte.
Ich habe das Programm als FB geschrieben um es flexibel einsetzen zu können, wodurch man den FB somit auch für 20Messwerte verwenden könnte, wo es dann vermutlich schon zu Zeitproblemen kommen würde. Verwendet wird er aktuell nur für einen Messwert und somit ist es auch kein Problem.
So viel Aufwand wollte ich eigentlich nicht verursachen, aber gut, wie soll ich den FB ins Forum stellen? als AWL-Quelle?
Falls die Zeit kein Problem ist, mache es doch so wie PN/DP und schone deine RessourcenNochmals, in diesem Fall ist die Zeit eh kein Problem!
....
Also NEIN, eigentlich ist es kein Problem.
Dennoch versuche ich alles eher Ressourcen schonend zu programmieren.
(Bekomme ich eh manchmal Kopfschmerzen davon, mache mir schon immer sehr viele Gedanken über den Code) ....
*
//Monat gestern
L LB 9 //Monatsbyte aus dem Datum von gestern
BTI //BCD-Wert in Integer wandeln
T #Monat_b //Wert im temporären Variablenbereich speichern
//Tag gestern
L LB 10 //Tagesbyte aus dem Datum von gestern
BTI //BCD-Wert in Integer wandeln
T #Tag_b
*
L DBB 0 //Erstes Byte im Format Date_And_Time ist das Jahr im HEX-Format
L LB 0 //Aktuelles Jahr
==I
SPB M010 //Datenbaustein gültig und aktuell
*
//Date_And_Time in DB schreiben
L LD 0
T DBD 0
L LD 4
T DBD 4
*
L DBW 3032 //Datum des max.Wertes
T #MaxDat //in Ausgangsvariable schreiben
L DBD 3034 //Maximalwer
T #MaxValue //in Ausgangsvariable schreiben
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?