CALL FB 102 , DB81
If_INV1 :=DB80.DBW62
If_INV2 :=DB80.DBW68
If_INV3 :=DB80.DBW74
If_INV4 :=DB80.DBW80
If_INV5 :=DB80.DBW86
If_INV6 :=DB80.DBW116
Is_INV_FACTOR:=2.764800e+001
Is_INV_OFFSET:=0.000000e+000
Is_INV_AHH :=
Is_INV_AH :=
Is_INV_AL :=
Is_INV_ALL :=
Os_INV1 :=DB80.DBD64
Os_INV2 :=DB80.DBD70
Os_INV3 :=DB80.DBD76
Os_INV4 :=DB80.DBD82
Os_INV5 :=DB80.DBD88
Os_INV6 :=DB80.DBD118
Os_INV1_AHH :=
Os_INV2_AHH :=
Os_INV3_AHH :=
Os_INV4_AHH :=
Os_INV5_AHH :=
Os_INV6_AHH :=
Os_INV1_AH :=
Os_INV2_AH :=
Os_INV3_AH :=
Os_INV4_AH :=
Os_INV5_AH :=
Os_INV6_AH :=
Os_INV1_AL :=
Os_INV2_AL :=
Os_INV3_AL :=
Os_INV4_AL :=
Os_INV5_AL :=
Os_INV6_AL :=
Os_INV1_ALL :=
Os_INV2_ALL :=
Os_INV3_ALL :=
Os_INV4_ALL :=
Os_INV5_ALL :=
Os_INV6_ALL :=
这是我们厂已经运行系统的一小段程序,功能按我理解就是六路模拟量转化工程量并且可以给出开关量报警,但是我打开FB102查看程序却没有发现任何算数运算,请大家帮忙分析是如何实现的,下边我把FB102里的程序贴出来,括号中的内容不是原程序中的
CALL #DI_CRP_IN (#DI_CRP_IN是程序中建立的静态数据)
INV_PER :=#If_INV1 (INV_PER是静态数据中的输入参数)
FACTOR :=#Is_INV_FACTOR (FACTOR是静态数据中的输入参数)
OFFSET :=#Is_INV_OFFSET (OFFSET 是静态数据中的输入参数)
START_ON:=FALSE (START_ON 是静态数据中的输入参数)
STARTVAL:= (STARTVAL是静态数据中的输入参数)
OUTV :=#Os_INV1 (OUTV 是静态数据中的输出参数)
L #DI_CRP_IN.OUTV
T #DI_LIMALARM.INV (#DI_LIMALARM是程序中建立的静态数据)
CALL #DI_LIMALARM
H_LM_ALM:=#Is_INV_AHH (H_LM_ALM是静态数据中的输入参数)
H_LM_WRN:=#Is_INV_AH (H_LM_WRN是静态数据中的输入参数)
L_LM_WRN:=#Is_INV_AL (L_LM_WRN是静态数据中的输入参数)
L_LM_ALM:=#Is_INV_ALL (L_LM_ALM是静态数据中的输入参数)
INV := (INV是静态数据中的输入参数)
HYS := (HYS是静态数据中的输入参数)
COM_RST :=#COM_RST (COM_RST是静态数据中的输入参数)
QH_LMALM:=#Os_INV1_AHH (QH_LMALM是静态数据中的输出参数)
QH_LMWRN:=#Os_INV1_AH (QH_LMWRN 是静态数据中的输出参数)
QL_LMWRN:=#Os_INV1_AL (QL_LMWRN 是静态数据中的输出参数)
QL_LMALM:=#Os_INV1_ALL (QL_LMALM是静态数据中的输出参数)
//------------INV2--------------------------------------------------------------------
CALL #DI_CRP_IN
INV_PER :=#If_INV2
FACTOR :=#Is_INV_FACTOR
OFFSET :=#Is_INV_OFFSET
START_ON:=FALSE
STARTVAL:=
OUTV :=#Os_INV2
L #DI_CRP_IN.OUTV
T #DI_LIMALARM.INV
CALL #DI_LIMALARM
H_LM_ALM:=#Is_INV_AHH
H_LM_WRN:=#Is_INV_AH
L_LM_WRN:=#Is_INV_AL
L_LM_ALM:=#Is_INV_ALL
INV :=
HYS :=
COM_RST :=#COM_RST
QH_LMALM:=#Os_INV2_AHH
QH_LMWRN:=#Os_INV2_AH
QL_LMWRN:=#Os_INV2_AL
QL_LMALM:=#Os_INV2_ALL
//------------INV3--------------------------------------------------------------------
CALL #DI_CRP_IN
INV_PER :=#If_INV3
FACTOR :=#Is_INV_FACTOR
OFFSET :=#Is_INV_OFFSET
START_ON:=FALSE
STARTVAL:=
OUTV :=#Os_INV3
L #DI_CRP_IN.OUTV
T #DI_LIMALARM.INV
CALL #DI_LIMALARM
H_LM_ALM:=#Is_INV_AHH
H_LM_WRN:=#Is_INV_AH
L_LM_WRN:=#Is_INV_AL
L_LM_ALM:=#Is_INV_ALL
INV :=
HYS :=
COM_RST :=#COM_RST
QH_LMALM:=#Os_INV3_AHH
QH_LMWRN:=#Os_INV3_AH
QL_LMWRN:=#Os_INV3_AL
QL_LMALM:=#Os_INV3_ALL
//------------INV4--------------------------------------------------------------------
CALL #DI_CRP_IN
INV_PER :=#If_INV4
FACTOR :=#Is_INV_FACTOR
OFFSET :=#Is_INV_OFFSET
START_ON:=FALSE
STARTVAL:=
OUTV :=#Os_INV4
L #DI_CRP_IN.OUTV
T #DI_LIMALARM.INV
CALL #DI_LIMALARM
H_LM_ALM:=#Is_INV_AHH
H_LM_WRN:=#Is_INV_AH
L_LM_WRN:=#Is_INV_AL
L_LM_ALM:=#Is_INV_ALL
INV :=
HYS :=
COM_RST :=#COM_RST
QH_LMALM:=#Os_INV4_AHH
QH_LMWRN:=#Os_INV4_AH
QL_LMWRN:=#Os_INV4_AL
QL_LMALM:=#Os_INV4_ALL
//------------INV5--------------------------------------------------------------------
CALL #DI_CRP_IN
INV_PER :=#If_INV5
FACTOR :=#Is_INV_FACTOR
OFFSET :=#Is_INV_OFFSET
START_ON:=FALSE
STARTVAL:=
OUTV :=#Os_INV5
L #DI_CRP_IN.OUTV
T #DI_LIMALARM.INV
CALL #DI_LIMALARM
H_LM_ALM:=#Is_INV_AHH
H_LM_WRN:=#Is_INV_AH
L_LM_WRN:=#Is_INV_AL
L_LM_ALM:=#Is_INV_ALL
INV :=
HYS :=
COM_RST :=#COM_RST
QH_LMALM:=#Os_INV5_AHH
QH_LMWRN:=#Os_INV5_AH
QL_LMWRN:=#Os_INV5_AL
QL_LMALM:=#Os_INV5_ALL
//------------INV6--------------------------------------------------------------------
CALL #DI_CRP_IN
INV_PER :=#If_INV6
FACTOR :=#Is_INV_FACTOR
OFFSET :=#Is_INV_OFFSET
START_ON:=FALSE
STARTVAL:=
OUTV :=#Os_INV6
L #DI_CRP_IN.OUTV
T #DI_LIMALARM.INV
CALL #DI_LIMALARM
H_LM_ALM:=#Is_INV_AHH
H_LM_WRN:=#Is_INV_AH
L_LM_WRN:=#Is_INV_AL
L_LM_ALM:=#Is_INV_ALL
INV :=
HYS :=
COM_RST :=#COM_RST
QH_LMALM:=#Os_INV6_AHH
QH_LMWRN:=#Os_INV6_AH
QL_LMWRN:=#Os_INV6_AL
QL_LMALM:=#Os_INV6_ALL
//--------------------------------------------------------------------------------
CLR
A #bSAVE // Restores the previously saved RLO status
SAVE
//--------------------------------------------------------------------------------
BE