Autor Thema: Datenlogger mit EASY800 / MFD  (Gelesen 6648 mal)

Offline Knodelpa

  • easy god
  • *****
  • Beiträge: 1410
  • I love easy-Forum.net
Datenlogger mit EASY800 / MFD
« am: November 27, 2004, 18:42:23 Nachmittag »
Beispiel Datenlogger von Paul Knodel

EASY800 und MFD haben den sehr mächtigen Befehl Blocktransfer (BT). Je nach Anwendung kann dieser Baustein direkt, aber auch indirekt adressiert werden. Dies erlaubt die Nutzung des kompletten Merkerbereichs um z.B. eine Rezeptverwaltung zu realisieren, aber auch um einen Datenlogger zu realisieren. Dies kann in vielfältiger Weise erfolgen, demnach ist die angehängte Datei nur als Beispiel von vielen möglichen Varianten zu sehen  ::)

Beschreibung Beispiel Datenlogger:

Der Analogeingang IA1 wird mit dem Baustein LS01 auf einen beliebigen Wert (z.B. 100 %) skaliert und im MW6 abgelegt.
Jetzt sollen bei einem Triggersignal (z.B. I01) in den nachfolgenden MW7-MW96 die letzen 90 Messwerte am IA01 abgelegt werden. Da im MW7 immer der neueste und im MW96 immer der älteste Messwert gespeichert sein soll muss der komplette Speicher verschoben werden. Dies wird mit zwei Countern und einem Blocktransfer BT01 realisiert. Ist die Verschiebung erfolgt wird der aktuelle Wert vom MW6 zum MW7 kopiert (BT02). Über die Vielfältigen Kommunikations-möglichkeiten (offenes Protokoll, Windows DLL oder OPC) können diese Daten dann ausgelesen und ausgewertet werden.

Einschränkungen

Das Umkopieren der Daten benötigt 360 Zyklen (2 Zyklen * 90 * 2 Byte). Aus diesem Grunde ist das Beispiel nur für zeitunkritische Aufzeichnungen geeignet. Zwischen zwei Speicherungen sollten min. 5 Sekunden liegen. Aus dem gleichen Grund ist das Programm auch nur begingt für eine Simulation (langsamer Zyklus) geeignet.

Zusätzliche Möglichkeiten

Da der komplette Merkerbereich letztlich aus 384 Byte (96 MD) besteht kann dieser auch komplett verwendet werden. Demnach
können wesentlich größere Datenmengen geloggt werden.

Wird auf das Schieben der Daten verzichtet und über Zeiger (In- / Out) gearbeitet kann ein wesentlich schnelleres Datenlogging erreicht werden.

 :) ;) :D ;D