Unit_AnalogInOut_FPG_A44

用于写入到FPG-A44单元和从中读取的函数

此函数会将数字数据写入模拟量单元的模拟量输出通道,并从其模拟量输入通道读取转换后的数字数据。要转换并输出为模拟量值的数字值在iOutChannel0iOutChannel3中指定。来自模拟量单元的转换后数字值按通道存储在输出变量iInChannel0iInChannel3中。

输入和输出类型(电压或电流)也使用此函数设置。

参数

输入

iSlotNumber (INT)

指定插槽编号。

iOutChannel0iOutChannel3 (INT)

设置要由模拟量单元转换和输出的数字值。

bSetInChannel0ToCurrentbSetInChannel3ToCurrent (BOOL)

设置每个通道编号的电压或电流输入。

  • TRUE: 电流输入

  • FALSE:电压输入

bSetOutChannel0ToCurrentbSetOutChannel3ToCurrent (BOOL)

设置每个通道编号的电压或电流输出。

  • TRUE: 电流输出

  • FALSE:电压输出

输出

uiInChannel0uiInChannel3 (UINT)

通过通道从模拟量单元返回转换后的数字数据。

接线图

  1.  (1) 输出
  2.  (2) 内部连接
  3.  (3) 输入

D/A转换

电压输出

电流输出

数字值 (INT)

模拟量值

数字值 (INT)

模拟量值

4095

10V

4095

20mA

2048

5V

2048

12mA

0

0V

0

4mA

-2048

-5V

 

-4095

-10V

A/D转换

电压输入

电流输入

数字值(UINT)

模拟量值

数字值(UINT)

模拟量值

65535

10V

65535

20mA

32768

5V

39321

12mA

0

0V

13107

4mA

 

0

0

示例

POU头Copy code to clipboard

所有用于编程此函数的输入和输出变量已在POU头中声明。

所有编程语言使用相同的POU头。

	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

LD本体Copy 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本体Copy 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);

最后更新日期: 2023-11-07此页面上的反馈松下热线