Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Dieser Bereich dient dem Austausch über geplante oder bereits realisierte Projekte - von Anwender zu Anwender.
Antworten
hrd
Beiträge: 4
Registriert: Mittwoch 15. Oktober 2008, 06:46

Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Beitrag von hrd » Montag 5. April 2010, 18:32

Hallo zusammen,

da ich meine Sensoren immer wieder auf verschiedene Systeme umkonfigurieren muss und diese geänderten Daten nicht immer zu Beginn von Hand im ProfiLab eintippen möchte, habe ich mir überlegt, dies über eine entsprechende Konfigurations-Datei zu machen:

schlüssel1=wert1
schlüssel2=wert2
usw.
config.mak
(93 Bytes) 249-mal heruntergeladen
(ist kein Makro sondern die Konfigurations-Datei - bitte umbenennen da dieses Forum keine anderen Endungen als .prj & .mak zulässt)

Zuerst habe ich es mit dem $HOLD versucht aber bin an der Reihenfolge der Abarbeitung der Elemente in ProfiLab gescheitert trotz verschiedenen Komibinationen mit 'to front/back' der Elemente (siehe Makro tcfgval1): Da liefert ProfiLab schon den nächsten Wert am $HOLD wenn der Vergleicher noch immer Gleichheit liefert. Fehlt da nicht noch ein Elemente $Delay in ProfiLab?
Dann habe ich es mit dem $BUFFER anstelle von $HOLD versucht und konnte die Werte erfolgreich zuordnen (siehe Makro tcfgval4).
tcfgfile0.prj
(5.16 KiB) 252-mal heruntergeladen
(bitte Pfad/Name im Element ReadLine anpassen)

Hat jemand noch einen anderen Vorschlag wie man in ProfiLab so etwas elegant machen könnte?

p.s. Voraussetzung ist, dass ich die Sensoren entsprechend dem System konfiguriere und dann mit einer kompilierten ProfiLab-Version die Messung starte (wo dann u.a. zuerst die Werte der Sensoren eingelesen würde).

Danke & Gruss
hrd

IKT
Beiträge: 517
Registriert: Mittwoch 4. November 2009, 18:32

Re: Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Beitrag von IKT » Mittwoch 7. April 2010, 15:34

@hrd

die Geschichte $HLD arbeitet schon, nur muss der /HLD Eingang invertiert werden, entweder am Bauteil selbst oder via vorgeschaltetem Inverter.

@abacom
Frage: woran liegt es, dass am Ende immer eine Leerzeile kommt? Da doch über EOF der Taktgeber ausgeschaltet wird?

Gruss IKT
Dateianhänge
SensorIn2.prj
siehe Beispiel
(3.23 KiB) 273-mal heruntergeladen
++++++
Gruss/regards IKT

testerer
Beiträge: 147
Registriert: Donnerstag 4. Juni 2009, 10:17
Wohnort: Sachsen

Re: Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Beitrag von testerer » Mittwoch 7. April 2010, 15:45

hi hrd,

mittels zip kann man hier jede datei hochladen (eine oder mehrere dateien in eine *.zip komprimieren).
ein guter komprimierer: http://www.7-zip.de/

hrd
Beiträge: 4
Registriert: Mittwoch 15. Oktober 2008, 06:46

Re: Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Beitrag von hrd » Mittwoch 7. April 2010, 16:16

@IKT: der Vergleicher liefert doch ein HIGH am A=B wenn die beiden Strings gleich sind, also muss der $HOLD den aktuellen String einlesen mit HIGH am /HLD Eingang. Sind die Strings ungleich, liefert der Vergleicher am A=B ein LOW und der $HOLD liest (sollte) keinen neuen Wert was er aber leider nicht tut. Ich vermute die Reihenfolge der Abarbeitung zu verändern oder habe ich da etwas nicht begriffen?
Danke für Dein Beispiel aber ich wollte am Ende den jeweiligen Wert jedes Schlüssels an einem Pin haben.

@IKT: die Leerzeile kommt vermutlich daher weil die letze Zeile noch ein CR & LF beinhaltet.

@testerer: danke - wusste ich nicht!

IKT
Beiträge: 517
Registriert: Mittwoch 4. November 2009, 18:32

Re: Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Beitrag von IKT » Donnerstag 8. April 2010, 16:16

@hrd
Timing ist das A und O bei jeder Schaltung, soweit alles klar. Ein Problem in der Schaltung ist mir beim "üben" aufgefallen:
Das Ausschalten des Taktgenerators funktioniert nicht "sauber", d.h. auch wenn bei "f" eine Null anliegt gibt es ab und zu doch noch Pulse "durch", was zur Folge hat, dass dann der Vergleicher nicht mehr A=B - High.
Eine Möglichkeit dieses Verhalten "abzustellen" ist einen $HOLD zwischen RL und Vergleicher einzubauen, der ein weiteres "nachschieben" verhindert. Dies habe ich getestet und es funktioniert.

Mein Beispiel von gestern ist nicht als fertige Lösung zu verstehen, sondern eher als ein Denkanstoss.
++++++
Gruss/regards IKT

Antworten

Zurück zu „PROFILAB Kundenprojekte und Aufgabenstellungen“