Schleifen erstellen ?

Antworten
Knulf
Beiträge: 6
Registriert: Sonntag 6. Dezember 2009, 18:03

Schleifen erstellen ?

Beitrag von Knulf » Sonntag 4. März 2012, 09:30

Hallo,
ich möchte in einer mechanischen Messvorrichtung 38 Wegaufnehmer abfragen, die eingehenden Daten verrechnen, und anschließend ca. 20 Ergebnisse anzeigen.
Die Messdaten kommen als ASCII über RS 232. Ich kann einzeln abrufen oder alle gemeinsam in einem String.
Bei Vorrichtungen mit weniger Messstellen habe ich im Profilab für jeden eingehenden Messwert (Wegaufnehmer) einen eigenen Bearbeitungsweg (inkl. Unterprogrammen) aufgebaut. Das sieht aber bei vielen Tastern nicht sehr elegant aus, weil die selben Programmteile x mal in Kopie erscheinen; auserdem ist es ausgeprochen unübersichtlich.

Prinzipiell stelle ich mir vor, Messdatenabfrage und Berechnungen in Unterprogrammen zusammenzufassen und diese Unterprogramm aus Schleifen heraus mehrfach mit unterschiedlichen Parametern aufzurufen. Die Daten an Variable (z.B. Array) zu übergeben und daraus die Anzeigen zu versorgen.

Bisher ist mir dazu keine überzeugende Umsetzung eingefallen. Hat jemand eine Idee? Auch andere Vorschläge werden gern genommen.

Grüße
Knulf

compander
Beiträge: 657
Registriert: Dienstag 14. Oktober 2008, 17:06
Wohnort: Markt Schwaben

Re: Schleifen erstellen ?

Beitrag von compander » Sonntag 4. März 2012, 17:19

Hallo Knulf.
Knulf hat geschrieben:...weil die selben Programmteile x mal in Kopie erscheinen; auserdem ist es ausgeprochen unübersichtlich.
Sich vielfach wiederholende Schaltungsteile packt man sinnvollerweise in Makros. Dies macht die Schaltung übersichtlich.

Die Begriffe "Schleifen", oder "Schleifen erstellen" habe ich leider nicht verstanden.
In der Elektrotechnik versteht man darunter "Rückkopplung in einem Regelkreis". Z. B. beim Begrenzer.
Denke, Du meinst jedoch etwas anderes.

Gruß von C :shock: mpander.

Knulf
Beiträge: 6
Registriert: Sonntag 6. Dezember 2009, 18:03

Re: Schleifen erstellen ?

Beitrag von Knulf » Sonntag 4. März 2012, 19:16

Hallo compander,
mit Schleife ist die Funktion einer Programmschleife gemeint (z.B. While oder For/next usw.)
Ich denke, so explizit ist das wohl nicht vorgesehen aber vieleicht weis ja jemand ob man das sinnvoll aus Komponenten aufbauen kann.

Ich sehe keine Möglichkeit das mit Makros alleine zu lösen.(so mache ich es heute)

Grüße
Knulf

habe
Beiträge: 36
Registriert: Samstag 18. Oktober 2008, 18:51

Re: Schleifen erstellen ?

Beitrag von habe » Montag 5. März 2012, 06:41

Hallo

vielleicht kannst du das For-Next Beispiel für die Schleife benutzen, um damit die unterschiedlichen Parameter mit einem analog Multiplexer zur Schaltung schicken.

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Schleifen erstellen ?

Beitrag von abacom » Montag 5. März 2012, 09:09

Ich kann einzeln abrufen oder alle gemeinsam in einem String.
Dann bietet es sich vermutlich an alles in einem String abzuholen (= 1x COM $Empfangen).

Anschiessend den String mit $PART in die Kanäle zerlegen. (vgl. ...\Beispiele\Hardware\RS232\GPS-DEMO.PRJ)
Ein eindeutiges Trennzeichen zwischen den Datenkanälen wird es ja hoffentlich geben.
Das war´s dann auch schon. Schleifen und Makro´s braucht man dann nicht.
ABACOM support

Knulf
Beiträge: 6
Registriert: Sonntag 6. Dezember 2009, 18:03

Re: Schleifen erstellen ?

Beitrag von Knulf » Dienstag 6. März 2012, 10:52

Hallo zusammen,
vielen Dank für die Antworten.

@ Abacom: Das Abholen und Aufteilen ist nicht mein Problem. Eine ähnliche Messvorrichtung mit 16 Messwerten und 16 Datenkanälen funktioniert einwandfrei. An dieser Stelle: Ich finde Profilab wirklich gut!

Nun wären in dem neuen Projekt dann 38 Datenkanäle. Jeder Datenkanal enthält geschätzt 40 Elemente (Bauteile), dass werden dann 1500 insgesammt. Ich versuche die 38 Kanäle zu vermeiden.
Das ist schon bei der 16- fach Vorrichtung nicht einfach zu überblicken. Und es wurde noch nicht einmal viel Aufwand für die Benutzerfreundlichkeit getrieben. 40 sind also Minimum.

@WoB + habe
ich werde mir das in den nächsten Tagen anschauen und mich dann zurückmelden.

Grüße
Knulf

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Schleifen erstellen ?

Beitrag von Mike D » Dienstag 6. März 2012, 12:00

Hallo Knulf,
in PL muss man eine andere "Denke" benutzen, man darf nicht wie beim Programieren sondern wie beim Schaltungsentwickeln denken.
Deine prinzipielle Vorstellung ist richtig. Du musst mit einem Zähler einen Scanner aufbauen, der nacheinander die Kanäle abfragt.
Läuft das über eine RS232-Schnittstelle oder über viele? Und wie sieht der Abfragestring aus?

Grüße
Mike

Knulf
Beiträge: 6
Registriert: Sonntag 6. Dezember 2009, 18:03

Re: Schleifen erstellen ?

Beitrag von Knulf » Dienstag 6. März 2012, 21:00

Yep! das mit dem For_to_Next Makro und dem Multiplexer ist das was ich mir vorgestellt habe.

Danke

Für den nächsten Teil mache ich einen neuen Thread auf

Antworten

Zurück zu „Zählfunktionen, Zeitsteuerung und Programmablauf“