Unit_AnalogInOut_FPG_A44

Funktion zum Schreiben und Lesen eines FPG-A44-Moduls.

Diese Funktion schreibt digitale Werte in die Ausgangskanäle des Analogmoduls und liest digitale Umwandlungswerte aus dessen Eingangskanälen. Die digitalen Werte, die umgewandelt und als analoge Werte ausgegeben werden sollen, werden bei iOutChannel0 bis iOutChannel3 festgelegt. Die digitalen Umwandlungswerte aus dem Analogmodul werden je nach Kanal in den Ausgangsvariablen iInChannel0 bis iInChannel3 gespeichert.

Der Eingangs- und Ausgangstyp (Spannung oder Strom) wird auch mit dieser Funktion festgelegt.

Parameter

Eingang

iSlotNumber (INT)

Gibt die Steckplatznummer an.

iOutChannel0 bis iOutChannel3 (INT)

Setzt den digitalen Wert, der umgewandelt und vom Analogmodul ausgegeben werden soll.

bSetInChannel0ToCurrent bis bSetInChannel3ToCurrent (BOOL)

Legt den Spannungs- oder Stromeingang für jede Kanalnummer fest.

  • TRUE: Stromeingang

  • FALSE: Spannungseingang

bSetOutChannel0ToCurrent bis bSetOutChannel3ToCurrent (BOOL)

Legt den Spannungs- oder Stromeingang für jede Kanalnummer fest.

  • TRUE: Stromausgang

  • FALSE: Spannungsausgang

Ausgang

uiInChannel0 bis uiInChannel3 (UINT)

Gibt die konvertierten Digitaldaten aus dem entsprechenden Kanal des Analogmoduls zurück.

Verdrahtung

  1.  (1) Ausgang
  2.  (2) Interne Verbindung
  3.  (3) Eingang

D/A-Umwandlung

Spannungsausgang

Stromausgang

Digitalwert (INT)

Analogwert

Digitalwert (INT)

Analogwert

4095

10V

4095

20mA

2048

5V

2048

12mA

0

0V

0

4mA

-2048

-5V

 

-4095

-10V

A/D-Umwandlung

Spannungseingang

Stromeingang

Digitalwert (UINT)

Analogwert

Digitalwert (UINT)

Analogwert

65535

10V

65535

20mA

32768

5V

39321

12mA

0

0V

13107

4mA

 

0

0

Beispiel

POE-KopfCopy code to clipboard

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden.

Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		iOutChannel0: INT:=0;
		iOutChannel1: INT:=0;
		iOutChannel2: INT:=0;
		iOutChannel3: INT:=0;
		bSetInChannel0ToCurrent: BOOL:=FALSE;
		bSetOutChannel0ToCurrent: BOOL:=FALSE;
		bSetInChannel1ToCurrent: BOOL:=FALSE;
		bSetInChannel2ToCurrent: BOOL:=FALSE;
		bSetInChannel3ToCurrent: BOOL:=FALSE;
		bSetOutChannel1ToCurrent: BOOL:=FALSE;
		bSetOutChannel2ToCurrent: BOOL:=FALSE;
		bSetOutChannel3ToCurrent: BOOL:=FALSE;
		uiInChannel0: UINT:=0;
		uiInChannel1: UINT:=0;
		uiInChannel2: UINT:=0;
		uiInChannel3: UINT:=0;
END_VAR

KOP-RumpfCopy code to clipboard

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 1 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 16 ;
        NETWORK_BODY
B(B_F,Unit_AnalogInOut_FPG_A44!,,14,1,29,16,,?DiOutChannel0?DiOutChannel1?DiOutChannel2?DiOutChannel3?DiSlotNumber?DbSetInChannel0ToCurrent?DbSetInChannel1ToCurrent?DbSetInChannel2ToCurrent?DbSetInChannel3ToCurrent?DbSetOutChannel0ToCurrent?DbSetOutChannel1ToCurrent?DbSetOutChannel2ToCurrent?DbSetOutChannel3ToCurrent?AuiInChannel0?AuiInChannel1?AuiInChannel2?AuiInChannel3);
B(B_VARIN,,iOutChannel0,12,2,14,4,);
B(B_VARIN,,iOutChannel1,12,3,14,5,);
B(B_VARIN,,iOutChannel2,12,4,14,6,);
B(B_VARIN,,iOutChannel3,12,5,14,7,);
B(B_VARIN,,4,12,6,14,8,);
B(B_VARIN,,bSetInChannel0ToCurrent,12,7,14,9,);
B(B_VARIN,,bSetInChannel1ToCurrent,12,8,14,10,);
B(B_VARIN,,bSetInChannel2ToCurrent,12,9,14,11,);
B(B_VARIN,,bSetInChannel3ToCurrent,12,10,14,12,);
B(B_VARIN,,bSetOutChannel0ToCurrent,12,11,14,13,);
B(B_VARIN,,bSetOutChannel1ToCurrent,12,12,14,14,);
B(B_VARIN,,bSetOutChannel2ToCurrent,12,13,14,15,);
B(B_VARIN,,bSetOutChannel3ToCurrent,12,14,14,16,);
B(B_VAROUT,,uiInChannel0,29,2,31,4,);
B(B_VAROUT,,uiInChannel1,29,3,31,5,);
B(B_VAROUT,,uiInChannel2,29,4,31,6,);
B(B_VAROUT,,uiInChannel3,29,5,31,7,);
L(1,0,1,16);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-RumpfCopy code to clipboard

Unit_AnalogInOut_FPG_A44(iOutChannel0 := iOutChannel0,
                        iOutChannel1 := iOutChannel1,
                        iOutChannel2 := iOutChannel2,
                        iOutChannel3 := iOutChannel3,
                        iSlotNumber := 4,
                        bSetInChannel0ToCurrent := bSetInChannel0ToCurrent,
                        bSetInChannel1ToCurrent := bSetInChannel1ToCurrent,
                        bSetInChannel2ToCurrent := bSetInChannel2ToCurrent,
                        bSetInChannel3ToCurrent := bSetInChannel3ToCurrent,
                        bSetOutChannel0ToCurrent := bSetOutChannel0ToCurrent,
                        bSetOutChannel1ToCurrent := bSetOutChannel1ToCurrent,
                        bSetOutChannel2ToCurrent := bSetOutChannel2ToCurrent,
                        bSetOutChannel3ToCurrent := bSetOutChannel3ToCurrent,
                        uiInChannel0 => uiInChannel0,
                        uiInChannel1 => uiInChannel1,
                        uiInChannel2 => uiInChannel2,
                        uiInChannel3 => uiInChannel3);

Letzte Änderung am: 2023-11-20Feedback zu dieser SeitePanasonic Hotline