Hallo Kojote,
hier die Systemfunktionen die ich so eingesetzt habe.
CALL "RD_REC" (
REQ := #REQ_LESEN, // Anforderung zum Lesen
IOID := B#16#54, // 54 bedeutet: Peripherie Eingang (PE)
LADDR:= #Baugruppenadresse, // Baugruppenadresse
RECNUM := B#16#1F, // Lese DS31 (Meßwerte Kanal 1)
RET_VAL:= #RETVAL_RD1, // Rückgabewert (Fehlercode)Lesen
BUSY := #BUSY_LESEN, // BUSY-Status Lesen
RECORD := #WAAGENWERTE); // Meßwerte in UDT 967 schreiben
#Baugruppenadresse : W#16#260 => E/A-Adresse 608 aus HW-Konfig! (Beispiel)
Mit dem WAAGENWERT als UDT legt der Baustein die gelesenen Information in struckturierter Form ab.
**** UDT 967 ****
TYPE "SIWAU_DS31"
VERSION : 0.1
//DS31 => Meßwert/Status/Fehler Kanal 1
//DS32 => Meßwert/Status/Fehler Kanal 2
STRUCT
Brutto : INT ;
Status : BYTE ;
MW_COUNT : BYTE ; //Messwertaktualisierungszaehler
Digitwert : WORD ; //aktueller Digitwert gefiltert
Asynchr_Fehler : WORD ;
Synchr_Fehler : WORD ;
END_STRUCT ;
END_TYPE
Ich hoffe das ist ein Ansatz für Dich. Melde Dich wenn nicht funktioniert.