Files
HundM_awl/=A01+UH07-KF00/Programmbausteine/Module/DL_Einsprung.awl
T

69 lines
1.3 KiB
Plaintext

FUNCTION "DL_Einsprung" : Void
TITLE = Bereich-DL: Einsprungs-DW ermitteln
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
Bereich_DL : Int; // Nur für Stammdaten =1!
ID : Int;
END_VAR
VAR_OUTPUT
"Dyn.DB" : Int;
AR_Start : DInt;
Error : Bool;
END_VAR
BEGIN
NETWORK
TITLE = Inittialisierung
L 0;
T #"Dyn.DB";
L DINT#0;
T #AR_Start;
SET;
S #Error;
NETWORK
TITLE = ID suchen
L #ID;
T "MW200";
CALL "DatenOut"
( SSDB := #Bereich_DL ,
SSDW := 0 ,
PARA := 16#0000 , //Eintrag lesen
SEARCHDATEN := P#M200.0 ,
RE_VAL := "MB199" ,
OUTDATEN := P#M220.0 ,
Position := "MW196"
);
L "MB199";
L 2#1111111 ;//Bit 7 ausblenden
UW;
L 0;//Fehler vorhanden?
<>I;//Ja
= #Error;
BEB;
NETWORK
TITLE = Daten übergeben
L "MW224";
T #"Dyn.DB" ;//Dyn.DB
L 0;//sinnvoller Wert ?
<=I;//Nein !
S #Error;
BEB;
L "MW226";
ITD;
T #AR_Start;
NETWORK
TITLE = Ende
BE;
END_FUNCTION