Herunterladen Inhalt Inhalt Diese Seite drucken

Beckhoff ELM3-Serie Kurz-Dokumentation Seite 687

Messtechnik-klemmen
Inhaltsverzeichnis

Werbung

Inbetriebnahme
Anmerkungen:
Alternativ kann anstelle des Funktionsblocks „FB_GET_MIN_MAX" auch von der TC3 Analytics Library
(TF3510) Gebrauch gemacht werden. Der Funktionsblock „FB_ALY_MinMaxAvg_1Ch" kann ebenfalls für
die Ermittlung der Min./Max. Werte herangezogen werden. Es kann dann auch die gesamte Berechnung in
diesem Programm durch Verwendung des von diesem Funktionsblock zur Verfügung gestellten Mittelwertes
modifiziert werden.
Bei den Klemmen ELM350x/ ELM370x ist das „PAI Scaler Settings" – Objekt 0x80n6 und zudem können die
Variablen nOffset und nGain auch direkt ohne die Typ-Konvertierung (REAL zu DINT) geschrieben werden;
eine Skalierung des Amplituden-Korrekturwertes mit 65536 ist ebenfalls nicht mehr nötig.
Variablendeklaration Beispielprogramme 1 und 2
PROGRAM MAIN
VAR_INPUT
   bEnable               :BOOL; // Start the code (Offset / Gain adjust)
   nPAI_Sample AT%I*     :DINT; // Input samples of the measurement value
END_VAR
VAR
   // Enter your Net-Id here:
   userNetId             :T_AmsNetId := 'a.b.c.d.x.y';
   // Enter EtherCAT device address here:
   nUserSlaveAddr        :UINT := 1002; // Check, if correct
   // Configurations:
   fMinFrequencyIn       :REAL:=1.5; // Hz
   bScalingOrder         :BOOL:=FALSE; // TRUE: Start scale offset first
   bWriteToCoEEnable     :BOOL:=FALSE; // TRUE: Enable writing to CoE
   // ===============================================
   // "Main" State controlling Offset/Gain adjusting:
   nMainCal_State        :BYTE:=0;
   // For CoE Object 0x8005 access:
   fb_coe_write          :FB_EcCoESdoWrite; // FB for writing to CoE
   nSTATE_WRITE_COE      :BYTE := 0;
   nSubIndex             :BYTE;
   nCoEIndexScaler       :WORD := 16#8005; // Use channel 1
   // For ELM3xxx this is 0x8006
   nSubIndScalGain       :BYTE := 16#02;
   nSubIndScalOffs       :BYTE := 16#01;
   nADSErrId             :UDINT; // Copy of ADS-Error ID
   // ===============================================
   fb_get_min_max        :FB_GET_MIN_MAX; // Min/Max values needed
   // Note: you may also use "FB_ALY_MinMaxAvg_1Ch" of TwinCAT analytics)
   // instead; there avg (average values can also be determinated
   // Variables used for offset scaling:
   nSTATE_SCALE_OFFSET   :INT := 0;
   bScaleOffsetStart     :BOOL := FALSE;
   bScaleOffsetDone      :BOOL := FALSE;
   fOffsetDeviationVal   :REAL;
   nOFFSET_MIN_VAL_REF   :WORD := 200;  // Max. limit value for offset
   // Variables used for gain scaling:
   nSTATE_SCALE_GAIN     :INT := 0;
   bScaleGainStart       :BOOL := FALSE;
   bScaleGainDone        :BOOL := FALSE;
   nPRESET_MAX_VAL       :REAL := 3000000; // Target amplitude value
   // ===============================================
   // Variables for evaluating of gain and offset:
ELM3xxx
Version: 2.11
687

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis