FUNCTION_BLOCK "FB_TestMain" { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR rTrigPUT {InstructionName := 'R_TRIG'; LibVersion := '1.0'} : R_TRIG; rTrigGET {InstructionName := 'R_TRIG'; LibVersion := '1.0'} : R_TRIG; END_VAR BEGIN IF "DB_Test".xBit THEN "DB_Test".rTimeResult := RUNTIME("DB_Test".rTimeMem); "FC_BARCODE_SEARCH"(nInArea := "DB_Test".nSearchInStore, xInActive := "DB_Test".xBit, xOutNewRetrieve => "DB_Test".xNewRetrieve, nOutMissingBarcode => "DB_Test".nMissingBarcode, xOutError => "DB_Test".xError, nOutStatus => "DB_Test".nStatus, InOutTest := "DB_Test".arTest, InOutStructRetrieve := "DB_Test".stRetrieve, InOutLocalized := "DB_Test".stResult); "DB_Test".xBit := FALSE; "DB_Test".rTimeResult := RUNTIME("DB_Test".rTimeMem); END_IF; IF "DB_Test".xActivate THEN "DB_Test".rTimeResult := RUNTIME("DB_Test".rTimeMem); "FC_CARR_GLOB_CORRECTION"(xInStart := "DB_Test".xActivate, nInBarcodeScan := "DB_Test".stCarrScan.nBarcode, nInStation:= 0, arOutEventLogInfo => "DB_Test".arCorrectionInfo, InOutCarrierExpect := "DB_Test".stCarrExpect); "DB_Test".xActivate := FALSE; "DB_Test".rTimeResult := RUNTIME("DB_Test".rTimeMem); END_IF; REGION S7 REGION PUT #rTrigPUT(CLK := "DB_S7".stFunction.stPut.xStart); IF #rTrigPUT.Q THEN "DB_Test".rTimeResult := RUNTIME("DB_Test".rTimeMem); END_IF; "PUT_DB"(REQ := "DB_S7".stFunction.stPut.xStart, ID := W#16#118, ADDR_1 := P#DB99.DBX14.0 BYTE 1,//Partner SD_1 := "DB_S7".stSnd);//Quelle IF "PUT_DB".ERROR THEN "DB_S7".stFunction.stPut.xError := "PUT_DB".ERROR; END_IF; IF "PUT_DB".STATUS <> 0 THEN "DB_S7".stFunction.stPut.wStatus := "PUT_DB".STATUS; END_IF; IF "PUT_DB".DONE THEN "DB_Test".rTimeResult := RUNTIME("DB_Test".rTimeMem); "DB_S7".stFunction.stPut.xStart := FALSE; END_IF; END_REGION REGION GET #rTrigGET(CLK := "DB_S7".stFunction.stGet.xStart); IF #rTrigGET.Q THEN "DB_Test".rTimeResult := RUNTIME("DB_Test".rTimeMem); END_IF; "GET_DB"(REQ := "DB_S7".stFunction.stGet.xStart, ADDR_1 := P#DB99.DBX40.0 INT 400,//Partner CPU RD_1 := "DB_S7".aaa, //Eigene CPU ID := W#16#118); IF "GET_DB".ERROR THEN "DB_S7".stFunction.stGet.xError := "GET_DB".ERROR; END_IF; IF "GET_DB".STATUS <> 0 THEN "DB_S7".stFunction.stGet.wStatus := "GET_DB".STATUS; END_IF; IF "GET_DB".NDR THEN "DB_Test".rTimeResult := RUNTIME("DB_Test".rTimeMem); "DB_S7".stFunction.stGet.xStart := FALSE; END_IF; END_REGION END_REGION END_FUNCTION_BLOCK