Test case R0901
Full test suiteDevice test case
External lib with Globals (non native)
This test case it part of the test suite proposed for new devices.
Test case ID: R0901
Language: ST
tests2/t0901.st
(* requires function LIBFUNC2 defined inside func1.zip and global vars VG1 VG5 *)
PROGRAM X01LIB
VAR
C2,C3,C4,C7,C0: INT;
fb1,fb2: LIBFB2;
M1 AT %MW63.5 : INT ; // same as VG1!
T : INT; // Loop count
END_VAR
VAR_EXTERNAL
VG1, VG5 : INT;
_T_PARAMS : TEST_PARAMS;
END_VAR
T := T +1;
IF T = 1 THEN (* initialization *)
VG1 := 100;
END_IF;
// 1st 2nd
// VG1=100 VG5=5
fb2(i:=10); // o=121 VG1=110 VG5=55 | o=569 VG1=228 VG5=220
fb1(i:=1); // o=222 VG1=120 VG5=105 | o=670 VG1=238 VG5=270
fb1(i:=20); // o=351 VG1=130 VG5=155 | o=799 VG1=248 VG5=320
C2 := fb1.o; // 351 | 799
C3 := fb2.o; // 121 | 569
VG1 := VG1 + 8; // 138 | 256
VG5 := VG5 + 15; // 170 | 335
M1 := M1 + 80; // 218 (= VG1) | 336
//_GEB_MSG_(INT_TO_STRING(M1));
C4 := M1;
C7 := VG5;
IF _T_PARAMS.cycle = _T_PARAMS.timestorun THEN // last iteration
_GEB_ASSERT_(C2 = 799);
_GEB_ASSERT_(C3 = 569);
_GEB_ASSERT_(VG1 = 336);
_GEB_ASSERT_(VG5 = 335);
_GEB_ASSERT_(C4 = 336);
_GEB_ASSERT_(C7 = 335);
// _GEB_MSG_(INT_TO_STRING(C7));
END_IF;
END_PROGRAM


