easy-forum
Downloadbereich => easySoft => Anwenderbausteine - Beispiele => Thema gestartet von: Juergen am Januar 11, 2020, 23:19:24 Nachmittag
-
Hallo zusammen,
ich habe meinen ersten Baustein in ST geschrieben.
Es werden 12 Eingänge überwacht und die Summe der geschalteten Eingänge berechnet.
In diesem Beispiel werden die Eingänge als Öffner gezählt. Das liegt jedoch nur an Anforderungen der User Anfrage. Der Userbaustein Zählt die Anzahl der Eingänge mit 1 Signale am Baustein Eingang
Erstellt zum Thema im Forum
http://easy-forum.net/index.php?topic=8060.0
Bitte erst Testen ob es bei euch Funktioniert.
Gundlage war ein Easy 800er oder MFD Pogramm im Forum, was ich nicht mehr finde.
Danke an einen unbekannten User für die Grundlage.
-
Hi Jürgen,
nicht ganz resourcenschonend aber TOP kreativ!
man muss sich über ST nur drübertrauen und ein wenig zeit investieren,
die codeoptimierung kommt mit zunehmender praxis von alleine.
-
Hallo weiss_nix,
ich benötige 12 Merker für 12 Eingänge.
Das ist bei jeder Lösung nötig.
Ich habe dann zur Auswertung nur eine Zeile.
Braucht die so viel Ressourcen? für die Rechnung
-
hi,
die rechnung sehe ich keinesfalls als problem, aber mit jedem merker (in deiner lösung) blockierst du z.B. ein byte (12 MB = 3 MD)
ich kenne zwar die interne architektur und speicheraufteilung der E4 nicht und bei minimalanwendungen ist es durchaus vernachlässigbar,
aber wenn die programme komplexer werden, führt dies (zumindest bei anderen systemen) zu speicher und performance problemen.
aber bitte nicht als kritik verstehen, ich finde die lösung tatsächlich kreativ und wäre selbst vermutlich nicht auf die idee gekommen.
-
Hallo weiss_nix,
da jeder Userbaustein seine eigenen MB, MW und MD hat, kommt mann hier kaum an die Grenzen.
Mit 12 Eingängen bin ich da schon an der Grenze vom User Baustein. Viel mehr Programm ist so kaum Möglich.
Der Baustein hat ja nur die eine Aufgabe
Im Hauptprogramm und weiteren User Bausteinen stehen ja wieder alle MB ... zur Verfügung.
Bei der 800 war die Lösung in der Grafischen Programierung möglich. Da gingen die MB vom eigendlichen Programm ab.
Hast du das easy Handbuch
https://www.vde-verlag.de/buecher/484880/steuerung-und-regelung-mit-easye4.html
Steht da mehr zu ST wie in der Easy Hilfe?
-
... wie du schreibst ist der Anwenderbaustein für deine anwendung ausreichend und nicht annähernd voll!
die steuerungswelt besteht auch aus anderen systemen, da gibt es andere einschränkungen und erfordern ein anderes augenmerk.
im hintergrund werden da pro funktionsaufruf auch noch daten (stack, parameter, rücksprungadressen, speicherinhalte, etc.) hin und her geschoben,
dieser overhead ist uu. zykluszeitrelevant. wenn du nur mit E4 oder ähnlichem arbeitetest -> vergiss das alles da es vmtl. nicht wirklich relevant ist
ich würde z.b. pro eingang bis zu 32 bit zählen wollen, bei 8 möglichen AI pro UF wären theoretisch 256 bit möglich ;) und 64 byte pro UF sind bald voll
und da ich prinzipiell faul bin würde ich versuchen den programmcode so modular wie möglich zu halten um den tippaufwand zu minimieren 8)
schönen angebrochenen vormittag