Programmstrukur -steuerung
Verfasst: Montag 30. November 2009, 20:32
Ich baue Prüfstände. Vorher mit LabView bei altem Arbeitgeber. Ich suche jetzt privat eine Software Lösung und hab mir mal die Demo angeschaut und das Forum durchgeschaut. Ich habe nicht wirklich das gefunden was ich erfragen will. Aufgefallen ist mir nur manchmal langsamkeit von Profilab wenn man es etwas füllt, da würden Subroutinen abhilfe schaffen.
Mir fehlen einige Programmsteuerungsbefehle:
Do-exitloop-loop, while-until, if else endif, for i x to y step z next i etc...
Das for-next Makro im Neuerungen ist zu fett, das muss im Editor enthalten sein, das for-next makro braucht zuviel CPU.
Am besten, einfach ein Quadrat für jede Funktion die frei vergrössert werden kann, und dahinein könnte man die Standardbausteine
legen.
Dann richtige Subroutinen:
Möglich wäre mit Netzwerken ähnlich Siemens SPS Programmierung, nur eine Idee. Man könnte den Netzwerken auch sagen Procedure [Name]. Ganz cool wäre, wenn man die einzelnen Procedure mit einem Hotkey CTRL+(etwas) einklappen/aufklappen könnte.
Main:
__________________________________________________
Hier stehen die normalen Profilab Bausteine
SPB NW2 (Sprung Bedingt nach Netzwerk 2)
SPA NW1 (Sprung Absolut nach Netzwerk1)
____________________________________________________
NW1: (Beschreibungstext)
___________________________________________________
Hier stehen die normalen Profilab Bausteine
SPB NW2
___________________________________________________
NW2: (Beschreibungstext)
_____________________________________________________
Hier stehen die normalen Profilab Bausteine
BEB (Beende beding, springt zum Aufrufpunkt zurück)
BEA (Beende absolut, springt zum Aufrufpunkt zurück)
_____________________________________________________
.
.
.
.
Dateioperationen:
Evt. ein paar Standardbefehle wie if exist Pfad, mkdir etc.. als Bausteine Profilab. Weil ich mach üblicherweise Objekt orientiert einen Ordner, wo ich an Maschinen dann die passenden 10Teile für den Teilberech der Maschine, speichere. Also ein Pfad pro Turm der maschine. Und dann ein Dateititel für die Prüfdaten als Bild oder Daten. Das würde bedeuten, das man den Dateispeicheroptionen den Pfad inkl. Dateinamen mitgeben sollte können.
Schreiber:
Bei allen Schreiber sollte man ein JPG schiessen können, ohne dazu tun vom User. Sondern wenn meine Bedienung erfüllt ist. Zustand Analog Sensor Vergleich (Laser Messung 1/1000mm), oder Digital Eingang (Anschlagsensor). Diese JPG sollte dann gespeichert werden können. Evt. ein Ausgang JPG und ein Eingang Dateiname und CLK für Auslösung.
Oder einfach ein CLK Eingang, Ausgang JPG und ein Speicherbaustein mit Eingang PFAD, JPG Eingang, CLK
Globale Variablen und Lokale Variablen:
Mit Sprung , Sprung(Ziel) ist da sowas in der Art vorhanden. Funktioniert auch, man sollte die aber als Varl_S und Varl_T bezeichnen vielleicht für lokale, diese Variablen können nur innerhalb einer Subroutine verwendet werden.
Varg_S und Varg_T das gleiche für Globale Variablen. Source/Target ist das S und T.
CrossReferenz:
Eine Crossrefernz sollte man in den Editor einbauen, für Variablen und Bausteine und Subroutinen mit Jump Funktion bei Doppelklick, Filter nach Typ und Suchfeld.
Bedienelemente:
Schalter Taster etc... sollten mit Instanzen nochmals in andere Subroutinen gelegt werden können ohne dass sie nochmals auf dem Frontpanel erscheinen. Sondern lediglich LED1 nochmals hinlegen und gleich bezeichnen. Alle diese Bedienelement und Instanzen davon, sollten ein Enable Eingang haben, womit man diese ausgrauen könnte. Damit nicht ein Testablauf beeinflusst werden kann.
z.b Manuelle Fahrten etc..
Frontpanel:
Unter Eigenschaften sollte man das Rote X für Fensterschliessen, definieren können ob es ausgegraut ist oder nicht. Und nur noch durch das Runtime Ende Knopf was ja gibt, beendet werden kann. Testlauf Beeinflussung.
Das wäre etwa das, um einen mehrstündingen Dauertest mit diversen Messungen automatisch lauf lassen zu können.
Ich hab nach Beispielen gesucht, für Programmsteuerung, aber ich glaub , das Profilab für Einzeltest ok ist. Für Techniker. Aber für automatische Abläufe überfordert wäre. z.b Initialisieren, Daten und Parameter einlesen, Kalibrierlauf für die Sensoren prov. in Variable (Umrechnen damit jedes getestet Teil im Graphen auch bei 0/0 beginnt zum Vergleich). Vormessung, Dauerlauf Nachmessung, HTML erstellen, PDF erzeugen für Doku. Also HTML und Doku kriegt man schon hin, mit den bestehenden befehlen.
Ausser ihr hab so beispiele?
Mir fehlen einige Programmsteuerungsbefehle:
Do-exitloop-loop, while-until, if else endif, for i x to y step z next i etc...
Das for-next Makro im Neuerungen ist zu fett, das muss im Editor enthalten sein, das for-next makro braucht zuviel CPU.
Am besten, einfach ein Quadrat für jede Funktion die frei vergrössert werden kann, und dahinein könnte man die Standardbausteine
legen.
Dann richtige Subroutinen:
Möglich wäre mit Netzwerken ähnlich Siemens SPS Programmierung, nur eine Idee. Man könnte den Netzwerken auch sagen Procedure [Name]. Ganz cool wäre, wenn man die einzelnen Procedure mit einem Hotkey CTRL+(etwas) einklappen/aufklappen könnte.
Main:
__________________________________________________
Hier stehen die normalen Profilab Bausteine
SPB NW2 (Sprung Bedingt nach Netzwerk 2)
SPA NW1 (Sprung Absolut nach Netzwerk1)
____________________________________________________
NW1: (Beschreibungstext)
___________________________________________________
Hier stehen die normalen Profilab Bausteine
SPB NW2
___________________________________________________
NW2: (Beschreibungstext)
_____________________________________________________
Hier stehen die normalen Profilab Bausteine
BEB (Beende beding, springt zum Aufrufpunkt zurück)
BEA (Beende absolut, springt zum Aufrufpunkt zurück)
_____________________________________________________
.
.
.
.
Dateioperationen:
Evt. ein paar Standardbefehle wie if exist Pfad, mkdir etc.. als Bausteine Profilab. Weil ich mach üblicherweise Objekt orientiert einen Ordner, wo ich an Maschinen dann die passenden 10Teile für den Teilberech der Maschine, speichere. Also ein Pfad pro Turm der maschine. Und dann ein Dateititel für die Prüfdaten als Bild oder Daten. Das würde bedeuten, das man den Dateispeicheroptionen den Pfad inkl. Dateinamen mitgeben sollte können.
Schreiber:
Bei allen Schreiber sollte man ein JPG schiessen können, ohne dazu tun vom User. Sondern wenn meine Bedienung erfüllt ist. Zustand Analog Sensor Vergleich (Laser Messung 1/1000mm), oder Digital Eingang (Anschlagsensor). Diese JPG sollte dann gespeichert werden können. Evt. ein Ausgang JPG und ein Eingang Dateiname und CLK für Auslösung.
Oder einfach ein CLK Eingang, Ausgang JPG und ein Speicherbaustein mit Eingang PFAD, JPG Eingang, CLK
Globale Variablen und Lokale Variablen:
Mit Sprung , Sprung(Ziel) ist da sowas in der Art vorhanden. Funktioniert auch, man sollte die aber als Varl_S und Varl_T bezeichnen vielleicht für lokale, diese Variablen können nur innerhalb einer Subroutine verwendet werden.
Varg_S und Varg_T das gleiche für Globale Variablen. Source/Target ist das S und T.
CrossReferenz:
Eine Crossrefernz sollte man in den Editor einbauen, für Variablen und Bausteine und Subroutinen mit Jump Funktion bei Doppelklick, Filter nach Typ und Suchfeld.
Bedienelemente:
Schalter Taster etc... sollten mit Instanzen nochmals in andere Subroutinen gelegt werden können ohne dass sie nochmals auf dem Frontpanel erscheinen. Sondern lediglich LED1 nochmals hinlegen und gleich bezeichnen. Alle diese Bedienelement und Instanzen davon, sollten ein Enable Eingang haben, womit man diese ausgrauen könnte. Damit nicht ein Testablauf beeinflusst werden kann.
z.b Manuelle Fahrten etc..
Frontpanel:
Unter Eigenschaften sollte man das Rote X für Fensterschliessen, definieren können ob es ausgegraut ist oder nicht. Und nur noch durch das Runtime Ende Knopf was ja gibt, beendet werden kann. Testlauf Beeinflussung.
Das wäre etwa das, um einen mehrstündingen Dauertest mit diversen Messungen automatisch lauf lassen zu können.
Ich hab nach Beispielen gesucht, für Programmsteuerung, aber ich glaub , das Profilab für Einzeltest ok ist. Für Techniker. Aber für automatische Abläufe überfordert wäre. z.b Initialisieren, Daten und Parameter einlesen, Kalibrierlauf für die Sensoren prov. in Variable (Umrechnen damit jedes getestet Teil im Graphen auch bei 0/0 beginnt zum Vergleich). Vormessung, Dauerlauf Nachmessung, HTML erstellen, PDF erzeugen für Doku. Also HTML und Doku kriegt man schon hin, mit den bestehenden befehlen.
Ausser ihr hab so beispiele?