Bingo....
Hi linax,
Du hast wohl den OB1 in SCL geschrieben ?!
Hast Du dabei auch daran gedacht, daß die OB's bestimmte, fest definierte Lokalvariablen brauchen ?
Für OB1:
VAR_TEMP
OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
OB1_PRIORITY : BYTE ; //1 (Priority of 1 is lowest)
OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
OB1_RESERVED_1 : BYTE ; //Reserved for system
OB1_RESERVED_2 : BYTE ; //Reserved for system
OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
END_VAR
wenn Du die nicht in Deiner SCL-Quelle definierst, gehts nicht.
Ich hab mir angewöhnt, die SCL-Programmteile nur in FB/FC zu schreiben, die OB's jedoch in AWL. Dann braucht man sich um die System-Lokalvariablen nicht zu sorgen.
Gruß Jörg