📄 icta_var.c
字号:
pstDiscreteQExt->TimeStamp = time(NULL) + TWO_YEARS; pstDiscreteQExt->COVCount++;#ifdef SISCO_THREADS pstDiscreteQExt = (icTypeDiscreteQExtended *)pstVar->extraPtr; pstDiscreteQExt->Flags++; pstDiscreteQExt->Value++; pstDiscreteQExt->TimeStamp = time(NULL) + TWO_YEARS; pstDiscreteQExt->COVCount++;#endif break; case IC_TYPE_REAL: pstReal = (icTypeReal *)pstVar->varPtr; *pstReal += (float) 1.01;#ifdef SISCO_THREADS pstReal = (icTypeReal *)pstVar->extraPtr; *pstReal += (float) 1.01;#endif break; case IC_TYPE_REAL_Q: pstRealQ = (icTypeRealQ *)pstVar->varPtr; pstRealQ->Flags++; pstRealQ->Value += (float) 1.01;#ifdef SISCO_THREADS pstRealQ = (icTypeRealQ *)pstVar->extraPtr; pstRealQ->Flags++; pstRealQ->Value += (float) 1.01;#endif break; case IC_TYPE_REAL_Q_TIME_TAG: pstRealQTimeTag = (icTypeRealQTimeTag *)pstVar->varPtr; pstRealQTimeTag->Flags++; pstRealQTimeTag->Value += (float) 1.01; pstRealQTimeTag->TimeStamp = time(NULL) + TWO_YEARS;#ifdef SISCO_THREADS pstRealQTimeTag = (icTypeRealQTimeTag *)pstVar->extraPtr; pstRealQTimeTag->Flags++; pstRealQTimeTag->Value += (float) 1.01; pstRealQTimeTag->TimeStamp = time(NULL) + TWO_YEARS;#endif break; case IC_TYPE_REAL_EXTENDED: pstRealExt = (icTypeRealExtended *)pstVar->varPtr; pstRealExt->Flags++; pstRealExt->Value += (float) 1.01; pstRealExt->TimeStamp = time(NULL) + TWO_YEARS; pstRealExt->COVCount++;#ifdef SISCO_THREADS pstRealExt = (icTypeRealExtended *)pstVar->extraPtr; pstRealExt->Flags++; pstRealExt->Value += (float) 1.01; pstRealExt->TimeStamp = time(NULL) + TWO_YEARS; pstRealExt->COVCount++;#endif break; default: ICA_Log_Err2("Update Variable %s Failed - Invalid Type %d", pstVar->varName, pstVar->iccpType); break; } }/************************************************************************//* incStateFlags: increment state flags *//************************************************************************/static void incStateFlags(icTypeState *stateFlags) {icChar valid, currSource, normVal; valid = *stateFlags & 0x30; valid >>= 4; valid++; valid %= 4; valid <<= 4; *stateFlags &= ~0x30; *stateFlags |= valid; currSource = *stateFlags & 0x0C; currSource >>= 2; currSource++; currSource %= 4; currSource <<= 2; *stateFlags &= ~0x0c; *stateFlags |= currSource; normVal = *stateFlags & 0x2; normVal >>= 1; normVal ^= 1; normVal <<= 1; *stateFlags &= ~0x2; *stateFlags |= normVal; }/************************************************************************//* incState: increment state *//************************************************************************/static void incState (icTypeState *state) {icChar justState; justState = *state & 0xC0; justState >>= 6; justState++; justState %= 4; justState <<= 6; *state &= ~0xc0; *state |= justState; }/************************************************************************//* showVarValue: display the value of the variable *//************************************************************************/static void showVarValue(ICTA_VAR_INFO *pstVar) {icTypeState *pstState;icTypeStateQ *pstStateQ;icTypeStateQTimeTag *pstStateQTimeTag;icTypeStateExtended *pstStateExt;icTypeDiscrete *pstDiscrete;icTypeDiscreteQ *pstDiscreteQ;icTypeDiscreteQTimeTag *pstDiscreteQTimeTag;icTypeDiscreteQExtended *pstDiscreteQExt;icTypeReal *pstReal;icTypeRealQ *pstRealQ;icTypeRealQTimeTag *pstRealQTimeTag;icTypeRealExtended *pstRealExt; switch (pstVar->iccpType) { case IC_TYPE_STATE: pstState = (icTypeStateQ *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", *pstState); ICA_Log_CData1 ("State Flags = 0x%x", *pstState); showStateFlags(*pstState); break; case IC_TYPE_STATE_Q: pstStateQ = (icTypeStateQ *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", *pstStateQ); ICA_Log_CData1 ("State Flags = 0x%x", *pstStateQ); showStateFlags(*pstStateQ); break; case IC_TYPE_STATE_Q_TIME_TAG: pstStateQTimeTag = (icTypeStateQTimeTag *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstStateQTimeTag->Flags); ICA_Log_CData1 ("State Flags = 0x%x", pstStateQTimeTag->Flags); showStateFlags(pstStateQTimeTag->Flags); if (bRunVerbose) printf ("\tTimeStamp = %s ", ctime((time_t *)&pstStateQTimeTag->TimeStamp)); ICA_Log_CData1("TimeStamp = %s ", ctime((time_t *)&pstStateQTimeTag->TimeStamp)); break; case IC_TYPE_STATE_EXTENDED: pstStateExt = (icTypeStateExtended *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstStateExt->Flags); ICA_Log_CData1 ("State Flags = 0x%x", pstStateExt->Flags); showStateFlags(pstStateExt->Flags); if (bRunVerbose) { printf ("\tCOV Count = %d TimeStamp = %s", pstStateExt->COVCount, ctime((time_t *)&pstStateExt->TimeStamp)); } ICA_Log_CData1 ("COV = %d", pstStateExt->COVCount); ICA_Log_CData1 ("TimeStamp = %s", ctime((time_t *)&pstStateExt->TimeStamp)); break; case IC_TYPE_DISCRETE: pstDiscrete = (icTypeDiscrete *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %ld \n", *pstDiscrete); ICA_Log_CData1 ("Value = %ld", *pstDiscrete); break; case IC_TYPE_DISCRETE_Q: pstDiscreteQ = (icTypeDiscreteQ *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstDiscreteQ->Flags); ICA_Log_CData1 ("State Flags = 0x%x", pstDiscreteQ->Flags); showStateFlags(pstDiscreteQ->Flags); if (bRunVerbose) printf ("\tValue = %ld \n", pstDiscreteQ->Value); ICA_Log_CData1 ("Value = %ld", pstDiscreteQ->Value); break; case IC_TYPE_DISCRETE_Q_TIME_TAG: pstDiscreteQTimeTag = (icTypeDiscreteQTimeTag *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstDiscreteQTimeTag->Flags); ICA_Log_CData1 ("State Flags = 0x%x", pstDiscreteQTimeTag->Flags); showStateFlags(pstDiscreteQTimeTag->Flags); if (bRunVerbose) { printf ("\tValue = %ld TimeStamp = %s", pstDiscreteQTimeTag->Value, ctime((time_t *)&pstDiscreteQTimeTag->TimeStamp)); } ICA_Log_CData1 ("Value = %ld", pstDiscreteQTimeTag->Value); ICA_Log_CData1 ("TimeStamp = %s", ctime((time_t *)&pstDiscreteQTimeTag->TimeStamp)); break; case IC_TYPE_DISCRETE_Q_EXTENDED: pstDiscreteQExt = (icTypeDiscreteQExtended *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstDiscreteQExt->Flags); ICA_Log_CData1 ("State Flags = 0x%x", pstDiscreteQExt->Flags); showStateFlags(pstDiscreteQExt->Flags); if (bRunVerbose) { printf ("\tValue = %ld COV Counter = %d TimeStamp = %s", pstDiscreteQExt->Value, pstDiscreteQExt->COVCount, ctime((time_t *)&pstDiscreteQExt->TimeStamp)); } ICA_Log_CData1 ("Value = %ld", pstDiscreteQExt->Value); ICA_Log_CData1 ("COV = %d", pstDiscreteQExt->COVCount); ICA_Log_CData1 ("TimeStamp = %s", ctime((time_t *)&pstDiscreteQExt->TimeStamp)); break; case IC_TYPE_REAL: pstReal = (icTypeReal *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %f \n", *pstReal); ICA_Log_CData1 ("Value = %f", *pstReal); break; case IC_TYPE_REAL_Q: pstRealQ = (icTypeRealQ *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstRealQ->Flags); ICA_Log_CData1 ("State Flags = 0x%x", pstRealQ->Flags); showStateFlags(pstRealQ->Flags); if (bRunVerbose) printf ("\tValue = %f \n", pstRealQ->Value); ICA_Log_CData1 ("Value = %f", pstRealQ->Value); break; case IC_TYPE_REAL_Q_TIME_TAG: pstRealQTimeTag = (icTypeRealQTimeTag *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstRealQTimeTag->Flags); ICA_Log_CData1 ("State Flags = 0x%x", pstRealQTimeTag->Flags); showStateFlags(pstRealQTimeTag->Flags); if (bRunVerbose) { printf ("\tValue = %f TimeStamp = %s", pstRealQTimeTag->Value, ctime((time_t *)&pstRealQTimeTag->TimeStamp)); } ICA_Log_CData1 ("Value = %f", pstRealQTimeTag->Value); ICA_Log_CData1 ("TimeStamp = %s", ctime((time_t *)&pstRealQTimeTag->TimeStamp)); break; case IC_TYPE_REAL_EXTENDED: pstRealExt = (icTypeRealExtended *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstRealExt->Flags); ICA_Log_CData1 ("State Flags = 0x%x", pstRealExt->Flags); showStateFlags(pstRealExt->Flags); if (bRunVerbose) { printf ("\tValue = %f COV Count = %d TimeStamp = %s", pstRealExt->Value, pstRealExt->COVCount, ctime((time_t *)&pstRealExt->TimeStamp)); } ICA_Log_CData1 ("Value = %f", pstRealExt->Value); ICA_Log_CData1 ("COV = %d", pstRealExt->COVCount); ICA_Log_CData1 ("TimeStamp = %s", ctime((time_t *)&pstRealExt->TimeStamp)); break; case IC_TYPE_USER_DEFINED: print_arb_data ((ST_CHAR*)(pstVar->varPtr), (NAMED_TYPE*)(pstVar->pstType->typeId)); break; default: if (bRunVerbose) printf ("\tInvalid Type - %d\n", pstVar->iccpType); break; } }/************************************************************************//* showValueOnly: *//************************************************************************/static void showValueOnly(ICTA_VAR_INFO *pstVar) {icTypeState *pstState;icTypeStateQ *pstStateQ;icTypeStateQTimeTag *pstStateQTimeTag;icTypeStateExtended *pstStateExt;icTypeDiscrete *pstDiscrete;icTypeDiscreteQ *pstDiscreteQ;icTypeDiscreteQTimeTag *pstDiscreteQTimeTag;icTypeDiscreteQExtended *pstDiscreteQExt;icTypeReal *pstReal;icTypeRealQ *pstRealQ;icTypeRealQTimeTag *pstRealQTimeTag;icTypeRealExtended *pstRealExt; switch (pstVar->iccpType) { case IC_TYPE_STATE: pstState = (icTypeStateQ *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", *pstState); ICA_Log_CData1 ("\tState Flags = 0x%x", *pstState); break; case IC_TYPE_STATE_Q: pstStateQ = (icTypeStateQ *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", *pstStateQ); ICA_Log_CData1 ("\tState Flags = 0x%x", *pstStateQ); break; case IC_TYPE_STATE_Q_TIME_TAG: pstStateQTimeTag = (icTypeStateQTimeTag *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstStateQTimeTag->Flags); ICA_Log_CData1 ("\tState Flags = 0x%x", pstStateQTimeTag->Flags); break; case IC_TYPE_STATE_EXTENDED: pstStateExt = (icTypeStateExtended *)pstVar->varPtr; if (bRunVerbose) printf ("\tState Flags = 0x%x", pstStateExt->Flags); ICA_Log_CData1 ("\tState Flags = 0x%x", pstStateExt->Flags); break; case IC_TYPE_DISCRETE: pstDiscrete = (icTypeDiscrete *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %ld ", *pstDiscrete); ICA_Log_CData1 ("\tValue = %ld", *pstDiscrete); break; case IC_TYPE_DISCRETE_Q: pstDiscreteQ = (icTypeDiscreteQ *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %ld", pstDiscreteQ->Value); ICA_Log_CData1 ("\tValue = %ld", pstDiscreteQ->Value); break; case IC_TYPE_DISCRETE_Q_TIME_TAG: pstDiscreteQTimeTag = (icTypeDiscreteQTimeTag *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %ld ", pstDiscreteQTimeTag->Value); ICA_Log_CData1 ("\tValue = %ld", pstDiscreteQTimeTag->Value); break; case IC_TYPE_DISCRETE_Q_EXTENDED: pstDiscreteQExt = (icTypeDiscreteQExtended *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %ld",pstDiscreteQExt->Value); ICA_Log_CData1 ("\tValue = %ld", pstDiscreteQExt->Value); break; case IC_TYPE_REAL: pstReal = (icTypeReal *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %f", *pstReal); ICA_Log_CData1 ("\tValue = %f", *pstReal); break; case IC_TYPE_REAL_Q: pstRealQ = (icTypeRealQ *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %f", pstRealQ->Value); ICA_Log_CData1 ("\tValue = %f", pstRealQ->Value); break; case IC_TYPE_REAL_Q_TIME_TAG: pstRealQTimeTag = (icTypeRealQTimeTag *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %f", pstRealQTimeTag->Value); ICA_Log_CData1 ("\tValue = %f", pstRealQTimeTag->Value); break; case IC_TYPE_REAL_EXTENDED: pstRealExt = (icTypeRealExtended *)pstVar->varPtr; if (bRunVerbose) printf ("\tValue = %f ", pstRealExt->Value); ICA_Log_CData1 ("\tValue = %f", pstRealExt->Value); break; case IC_TYPE_USER_DEFINED: print_arb_data ((ST_CHAR*)(pstVar->varPtr), (NAMED_TYPE*)(pstVar->pstType->typeId)); break; default: if (bRunVerbose) printf ("\tInvalid Type - %d\n", pstVar->iccpType); break; } }#ifdef SISCO_THREADS/************************************************************************//* showExtraVarValue: display the value of the extra variable ptr *//************************************************************************/static void showExtraVarValue(ICTA_VAR_INFO *pstVar) {icTypeState *pstState;icTypeStateQ *pstStateQ;icTypeStateQTimeTag *pstStateQTimeTag;icTypeStateExtended *pstStateExt;icTypeDiscrete *pstDiscrete;icTypeDiscreteQ *pstDiscreteQ;icTypeDiscreteQTimeTag *pstDiscreteQTimeTag;icTypeD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -