MC_AxTableFromAsciFile_BkPlcMc (ab V3.0)

MC_AxTableFromAsciFile_BkPlcMc (ab V3.0) 1:

Der Funktionsbaustein liest den Inhalt einer Tabelle aus einer Textdatei.

MC_AxTableFromAsciFile_BkPlcMc (ab V3.0) 2: Eingänge

VAR_INPUT
    Execute:    BOOL:=FALSE;
    pTable:     POINTER TO LREAL:=0;
    LowIdx:     INT:=0;
    HighIdx:    INT:=0;
    FileName:   STRING(255):='';
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

Eine steigende Flanke an diesem Eingang startet den Lesevorgang.

pTable

POINTER TO LREAL

Hier ist die Adresse eines ARRAY[nFirstIdx..nLastIdx,1..2] zu übergeben.

LowIdx

INT

Hier ist der untere Index des ARRAY zu übergeben, dessen Adresse als pTable übergeben wird.

HighIdx

INT

Hier ist der obere Index des ARRAY zu übergeben, dessen Adresse als pTable übergeben wird.

FileName

STRING

Hier kann ein Dateiname vorgegeben werden.

MC_AxTableFromAsciFile_BkPlcMc (ab V3.0) 3: Ein-/Ausgänge

VAR_INOUT
    Axis:       Axis_Ref_BkPlcMc;
END_VAR

Name

Typ

Beschreibung

Axis

Axis_Ref_BkPlcMc

Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben.

MC_AxTableFromAsciFile_BkPlcMc (ab V3.0) 4: Ausgänge

VAR_OUTPUT
    Busy:       BOOL;
    Done:       BOOL;
    Error:      BOOL;
    ErrorID:    UDINT;
    LastIdx:    INT:=0;
END_VAR

Name

Typ

Beschreibung

Busy

BOOL

Hier wird signalisiert, dass ein Kommando abgearbeitet wird.

Done

BOOL

Hier wird die erfolgreiche Abarbeitung der Referenzfahrt signalisiert.

Error

BOOL

Hier wird das Auftreten eines Fehlers signalisiert.

ErrorID

UDINT

Hier wird eine codierte Fehlerursache bereitgestellt.

LastIdx

INT

Hier wird der Index der letzten durch den Lesevorgang definierte Tabellenzeile signalisiert.

Verhalten des Bausteins

Auf eine steigende Flanke an Execute hin untersucht der Baustein die übergebenen Parameter. Dabei können eine Reihe von Problemen erkannt und gemeldet werden:

Sind diese Überprüfungen ohne Probleme durchgeführt wird der Lesevorgang gestartet. Für die Dauer des Vorgangs ist Busy auf TRUE. Dabei kann es zu einigen weiteren Problemen kommen, die durch verschiedene Fehlercodes signalisiert werden. Ein erfolgreiches Lesen der Datei wird mit Done signalisiert.

Eine fallende Flanke an Execute löscht alle anstehenden Ausgangssignale. Wird Execute bereits bei noch aktivem Vorgang auf FALSE gesetzt wird der eingeleitete Vorgang unbeeinflusst weiter bearbeitet. Die Signale am Ende des Vorgangs (Error, ErrorID, Done) werden für einen Zyklus gegeben.

Wird ein FileName vorgegeben muss dieser vollständig (falls nötig inklusive Angabe des Laufwerks und des Pfades, immer inklusive Dateityp) sein, da er vom Baustein ohne jede weitere Veränderung oder Ergänzung benutzt wird.

Wird kein FileName vorgegeben verwendet der Baustein den Pfad und den Dateinamen, der durch den MC_AxUtiStandardInit_BkPlcMc Baustein festgelegt wurde. Zur Unterscheidung von der Parameterdatei mit Dateityp DAT wird hier der Typ TXT verwendet.

MC_AxTableFromAsciFile_BkPlcMc (ab V3.0) 5:

Der Inhalt der Datei ist mit einem ASCII-Editor les- oder änderbar. Veränderungen des Inhalts können ein korrektes Lesen oder die vorgesehene Verwendung unmöglich machen oder die Wirkung der Tabelle auf kaum nachvollziehbare Weise verändern. Manuelle Veränderungen sollten darum wenn überhaupt mit der gebotenen Vorsicht und nur von sachkundigen Personen vorgenommen werden.