MC_AxUtiStandardInit_BkPlcMc (ab V3.0)

MC_AxUtiStandardInit_BkPlcMc (ab V3.0) 1:

Der Funktionsbaustein übernimmt die Initialisierung und Überwachung der Bestandteile einer Achse.

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

VAR_INPUT
    AxisName:           STRING(255);
    PathName:           STRING(255);
    pDeviceInput:       POINTER TO ST_TcPlcDeviceInput:=0;
    pDeviceOutput:      POINTER TO ST_TcPlcDeviceOutput:=0;
    pLogBuffer:         POINTER TO ST_TcPlcMcLogBuffer:=0;
    pStAxAuxLabels:     POINTER TO ST_TcMcAuxDataLabels:=0;
    pStAxAutoParams:    POINTER TO ST_TcMcAutoIdent;
    pStAxCommandBuf:    POINTER TO ST_TcPlcCmdBuffer_BkPlcMc:=0;    (* ab/from V3.0.8 *)
    nLogLevel:          DINT:=0;
END_VAR

Name

Typ

Beschreibung

AxisName

STRING

Hier ist der textuelle Name der Achse (Beispiel: 'Achse_1') zu übergeben.

PathName

STRING

Hier ist der textuelle Pfadname (Beispiel: 'C:\TwinCAT\Projekt\') zu übergeben, unter dem die Parameter der Achse zu speichern sind.

pDeviceInput

POINTER

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

pDeviceOutput

POINTER

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

pLogBuffer

POINTER

Hier kann die Adresse einer Variablen vom Typ ST_TcPlcMcLogBuffer übergeben werden.

pStAxAuxLabels

POINTER 

Hier kann die Adresse einer ST_TcMcAuxDataLabels Struktur mit Beschriftungstexten der kundenspezifischen Achsparameter übergeben werden.

pStAxAutoParams

POINTER 

Hier kann die Adresse einer Variablen vom Typ ST_TcMcAutoIdent übergeben werden.

pStAxCommandBuf

POINTER

Ab V3.0.8 ist bei diversen Bausteinen der durch die PLCopen definierte Eingang BufferMode vorhanden. Die damit steuerbare Funktionalität wird derzeit vorbereitet. In diesem Zusammenhang ist dieser Befehls-Puffer ergänzt worden.

Der Eingang pStAxCommandBuf darf derzeit nicht oder nur mit dem Wert 0 versorgt werden.

nLogLevel

DINT

Hier ist ein codierter Wert zu übergeben, der den Schwellwert für die Aufzeichnung von Meldungen festlegt.

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

VAR_OUTPUT
    Busy:       BOOL;
    Done:       BOOL;
    Ready:      BOOL;
    Error:      BOOL;
    ErrorID:    UDINT;
END_VAR

Name

Typ

Beschreibung

Busy

BOOL

 

Done

BOOL

 

Ready

BOOL

 

Error

BOOL

Hier wird das Auftreten eines Fehlers signalisiert.

ErrorID

UDINT

Hier wird eine codierte Fehlerursache bereitgestellt.

MC_AxUtiStandardInit_BkPlcMc (ab V3.0) 4: 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.

Verhalten des Bausteins

Bei jedem Aufruf untersucht der Baustein das übergebene Achsinterface und die übergebenen Pointer. Wird eine Veränderung erkannt signalisiert der Baustein in der übergebenen Axis_Ref_BkPlcMc Struktur, dass die Achse reinitialisiert werden muss. Der von diesem Baustein verwendete MC_AxParamLoad_BkPlcMc Baustein wird nun automatisch die Parameter der Achse aus der Datei laden. Ist pAuxLabels versorgt werden anschließend mit einem MC_AxParamAuxLabelsLoad_BkPlcMc Baustein die Beschriftungstexte der kundenspezifischen Achsparameter geladen.

MC_AxUtiStandardInit_BkPlcMc (ab V3.0) 5:

Die als AxisName und PathName übergebenen Strings dürfen keine Leer- oder Sonderzeichen enthalten, die sie für die Erzeugung eines Dateinamens ungeeignet machen. Der Dateiname wird durch aneinanderhängen der übergebenen Strings und Anfügen der Extension '.dat' erzeugt. Der Dateiname für die Beschriftungstexte der kundenspezifischen Achsparameter wird auf die gleiche Weise, jedoch mit der Extension '.txt' erzeugt.

MC_AxUtiStandardInit_BkPlcMc (ab V3.0) 6:

Die Parameter pDeviceInput und pDeviceOutput sind bei allen Achsen zu versorgen, die für die Positionserfassung eine E/A-Hardware verwenden. Bei Verwendung von virtuellen Achsen sind diese Parameter nicht oder mit 0 zu belegen.

MC_AxUtiStandardInit_BkPlcMc (ab V3.0) 7:

Der Eingang pStAxCommandBuf darf derzeit nicht oder nur mit dem Wert 0 versorgt werden.