File name: CiA447_GW_HBtime_V100.esat Full name: CiA 447 GW Test HeartBeat timing Version: V01.00 of 04-MAR-2015 Test ID: 0x0001 (1d) DUTnodeID: 1 Functions: Smart_ID CiA_447_ID Resources: 2 variables, 0 buffers, 1000us timer resolution Timeout: 30.000s Descript.: Testing HB timing to 10 percent accuracy State 0001h: (START) Start of test, start sequence ALWAYS ON RECEIVE {0701h, 1,05h,00h,00h,00h,00h,00h,00h,00h} AND MATCH {0FFFh,Fh,FFh,00h,00h,00h,00h,00h,00h,00h} LOG: (PASS) "Gateway is operational, Allocate Var2" VAR ACTION: ALLOC VAR[2] = 0 GOTO State 0101h State 0101h: ALWAYS ON RECEIVE {0701h, 1,00h,00h,00h,00h,00h,00h,00h,00h} AND MATCH {0FFFh,Fh,00h,00h,00h,00h,00h,00h,00h,00h} LOG: (PASS) "Receive first HB, Alloc Tim1" VAR ACTION: ALLOC TIMER VAR[1] = 0 GOTO State 0102h Early HB? State 0102h: Early HB? ALWAYS ON RECEIVE {0701h, 1,00h,00h,00h,00h,00h,00h,00h,00h} AND MATCH {0FFFh,Fh,00h,00h,00h,00h,00h,00h,00h,00h} LOG: (FAIL) "Early HB received" VAR ACTION: FREE ALL GOTO State FFFFFFFEh (FAIL) IF (VAR[1] >= 180000) THEN LOG: (PASS) "Wait Tim1 >= 180, Reset Tim1" VAR ACTION: VAR[1] = 0 GOTO State 0103h HB expected IF (VAR[2] >= 101) THEN LOG: (PASS) "Var2 reached 100 cycles, Free Tim1" VAR ACTION: FREE VAR[1] GOTO State 01FEh State 0103h: HB expected ALWAYS ON RECEIVE {0701h, 1,00h,00h,00h,00h,00h,00h,00h,00h} AND MATCH {0FFFh,Fh,00h,00h,00h,00h,00h,00h,00h,00h} LOG: (PASS) "HB OK, Reset Tim1" VAR ACTION: VAR[1] = 0 GOTO State 0104h Start next cycle IF (VAR[1] >= 40000) THEN LOG: (FAIL) "Tim 1 >= 40" VAR ACTION: FREE ALL GOTO State FFFFFFFEh (FAIL) State 0104h: Start next cycle ALWAYS LOG: (PASS) "Increment Var2" VAR ACTION: VAR[2] = VAR[2] + 1 GOTO State 0102h Early HB? State 01FEh: ALWAYS ON RECEIVE {0701h, 1,05h,00h,00h,00h,00h,00h,00h,00h} AND MATCH {0FFFh,Fh,FFh,00h,00h,00h,00h,00h,00h,00h} LOG: (PASS) "Gateway is operational, Free all" VAR ACTION: FREE ALL GOTO State FFFFFFFDh (PASS) State FFFFFFEFh: (ANY) Receives handled in EVERY state ALWAYS ON RECEIVE {0701h, 1,00h,00h,00h,00h,00h,00h,00h,00h} AND MATCH {0FFFh,Fh,FFh,00h,00h,00h,00h,00h,00h,00h} LOG: (FAIL) "GW Bootup" VAR ACTION: FREE ALL GOTO State FFFFFFFEh (FAIL) ALWAYS ON RECEIVE {0081h, 8,00h,00h,00h,00h,00h,00h,00h,00h} AND MATCH {0FFFh,Fh,FFh,00h,00h,00h,00h,00h,00h,00h} LOG: (FAIL) "GW EMCY > 100h" VAR ACTION: FREE ALL GOTO State FFFFFFFEh (FAIL)