📄 daqthread.c
字号:
&& (pData->usL21 == 1) && (pData->usL22 == 0) && (pData->usL23 == 1) && (pData->usL24 == 1)
&& (pData->usL25 == 0))
{
g_SystemData.ptMeasureData.usPrimaryPosition = 3;
g_SystemData.ptMeasureData.usSecondryPosition = 9;
g_SystemData.ptMeasureData.ptPosition [8].usChecked = 1;
}
if ( (pData->usL01 == 0) && (pData->usL02 == 1) && (pData->usL04 == 0)
&& (pData->usL05 == 0) && (pData->usL06 == 1) && (pData->usL07 == 0) && (pData->usL08 == 0)
&& (pData->usL09 == 1) && (pData->usL10 == 0) && (pData->usL11 == 0) && (pData->usL12 == 0)
&& (pData->usL13 == 0) && (pData->usL14 == 1) && (pData->usL15 == 1) && (pData->usL16 == 0)
&& (pData->usL17 == 1) && (pData->usL18 == 0) && (pData->usL19 == 1) && (pData->usL20 == 1)
&& (pData->usL21 == 1) && (pData->usL22 == 1) && (pData->usL23 == 0) && (pData->usL24 == 1)
&& (pData->usL25 == 0))
{
g_SystemData.ptMeasureData.usPrimaryPosition = 3;
g_SystemData.ptMeasureData.usSecondryPosition = 10;
g_SystemData.ptMeasureData.ptPosition [9].usChecked = 1;
}
if ( (pData->usL01 == 1) && (pData->usL02 == 0) && (pData->usL04 == 0)
&& (pData->usL05 == 0) && (pData->usL06 == 1) && (pData->usL07 == 0) && (pData->usL08 == 0)
&& (pData->usL09 == 1) && (pData->usL10 == 0) && (pData->usL11 == 0) && (pData->usL12 == 0)
&& (pData->usL13 == 0) && (pData->usL14 == 1) && (pData->usL15 == 1) && (pData->usL16 == 0)
&& (pData->usL17 == 1) && (pData->usL18 == 0) && (pData->usL19 == 1) && (pData->usL20 == 1)
&& (pData->usL21 == 1) && (pData->usL22 == 1) && (pData->usL23 == 0) && (pData->usL24 == 1)
&& (pData->usL25 == 0))
{
g_SystemData.ptMeasureData.usPrimaryPosition = 3;
g_SystemData.ptMeasureData.usSecondryPosition = 11;
g_SystemData.ptMeasureData.ptPosition [10].usChecked = 1;
}
if ( (pData->usL01 == 1) && (pData->usL02 == 0) && (pData->usL04 == 0)
&& (pData->usL05 == 1) && (pData->usL06 == 0) && (pData->usL07 == 1) && (pData->usL08 == 0)
&& (pData->usL09 == 1) && (pData->usL10 == 0) && (pData->usL11 == 0) && (pData->usL12 == 0)
&& (pData->usL13 == 0) && (pData->usL14 == 1) && (pData->usL15 == 1) && (pData->usL16 == 0)
&& (pData->usL17 == 1) && (pData->usL18 == 0) && (pData->usL19 == 1) && (pData->usL20 == 1)
&& (pData->usL21 == 1) && (pData->usL22 == 1) && (pData->usL23 == 0) && (pData->usL24 == 1)
&& (pData->usL25 == 0))
{
g_SystemData.ptMeasureData.usPrimaryPosition = 3;
g_SystemData.ptMeasureData.usSecondryPosition = 12;
g_SystemData.ptMeasureData.ptPosition [11].usChecked = 1;
}
if ( (pData->usL01 == 1) && (pData->usL02 == 0) && (pData->usL04 == 0)
&& (pData->usL05 == 1) && (pData->usL06 == 0) && (pData->usL07 == 1) && (pData->usL08 == 0)
&& (pData->usL09 == 1) && (pData->usL10 == 0) && (pData->usL11 == 0) && (pData->usL12 == 0)
&& (pData->usL13 == 0) && (pData->usL14 == 1) && (pData->usL15 == 1) && (pData->usL16 == 0)
&& (pData->usL17 == 1) && (pData->usL18 == 0) && (pData->usL19 == 1) && (pData->usL20 == 1)
&& (pData->usL21 == 1) && (pData->usL22 == 1) && (pData->usL23 == 0) && (pData->usL24 == 0)
&& (pData->usL25 == 1))
{
g_SystemData.ptMeasureData.usPrimaryPosition = 3;
g_SystemData.ptMeasureData.usSecondryPosition = 13;
g_SystemData.ptMeasureData.ptPosition [12].usChecked = 1;
}
if ( (pData->usL01 == 1) && (pData->usL02 == 0) && (pData->usL04 == 0)
&& (pData->usL05 == 1) && (pData->usL06 == 0) && (pData->usL07 == 1) && (pData->usL08 == 1)
&& (pData->usL09 == 0) && (pData->usL10 == 1) && (pData->usL11 == 0) && (pData->usL12 == 0)
&& (pData->usL13 == 0) && (pData->usL14 == 1) && (pData->usL15 == 1) && (pData->usL16 == 0)
&& (pData->usL17 == 1) && (pData->usL18 == 0) && (pData->usL19 == 1) && (pData->usL20 == 1)
&& (pData->usL21 == 1) && (pData->usL22 == 1) && (pData->usL23 == 0) && (pData->usL24 == 1)
&& (pData->usL25 == 0))
{
g_SystemData.ptMeasureData.usPrimaryPosition = 3;
g_SystemData.ptMeasureData.usSecondryPosition = 14;
g_SystemData.ptMeasureData.ptPosition [13].usChecked = 1;
}
return;
}
//------------------------------------------------------------------------------------------------
//
void __stdcall DAQReadDIData(void)
{
short usState;
LPT_DAQCard pCard;
pCard = &g_PCI1754;
if (pCard->hDevice == NULL)
return;
if (ADCards_DIBit (pCard, DICH_L01, &usState) == 0)
g_SystemData.ptDAQData.usL01 = usState;
if (ADCards_DIBit (pCard, DICH_L02, &usState) == 0)
g_SystemData.ptDAQData.usL02 = usState;
if (ADCards_DIBit (pCard, DICH_L03, &usState) == 0)
g_SystemData.ptDAQData.usL03 = usState;
if (ADCards_DIBit (pCard, DICH_L04, &usState) == 0)
g_SystemData.ptDAQData.usL04 = usState;
if (ADCards_DIBit (pCard, DICH_L05, &usState) == 0)
g_SystemData.ptDAQData.usL05 = usState;
if (ADCards_DIBit (pCard, DICH_L06, &usState) == 0)
g_SystemData.ptDAQData.usL06 = usState;
if (ADCards_DIBit (pCard, DICH_L07, &usState) == 0)
g_SystemData.ptDAQData.usL07 = usState;
if (ADCards_DIBit (pCard, DICH_L08, &usState) == 0)
g_SystemData.ptDAQData.usL08 = usState;
if (ADCards_DIBit (pCard, DICH_L09, &usState) == 0)
g_SystemData.ptDAQData.usL09 = usState;
if (ADCards_DIBit (pCard, DICH_L10, &usState) == 0)
g_SystemData.ptDAQData.usL10 = usState;
if (ADCards_DIBit (pCard, DICH_L11, &usState) == 0)
g_SystemData.ptDAQData.usL11 = usState;
if (ADCards_DIBit (pCard, DICH_L12, &usState) == 0)
g_SystemData.ptDAQData.usL12 = usState;
if (ADCards_DIBit (pCard, DICH_L13, &usState) == 0)
g_SystemData.ptDAQData.usL13 = usState;
if (ADCards_DIBit (pCard, DICH_L14, &usState) == 0)
g_SystemData.ptDAQData.usL14 = usState;
if (ADCards_DIBit (pCard, DICH_L15, &usState) == 0)
g_SystemData.ptDAQData.usL15 = usState;
if (ADCards_DIBit (pCard, DICH_L16, &usState) == 0)
g_SystemData.ptDAQData.usL16 = usState;
if (ADCards_DIBit (pCard, DICH_L17, &usState) == 0)
g_SystemData.ptDAQData.usL17 = usState;
if (ADCards_DIBit (pCard, DICH_L18, &usState) == 0)
g_SystemData.ptDAQData.usL18 = usState;
if (ADCards_DIBit (pCard, DICH_L19, &usState) == 0)
g_SystemData.ptDAQData.usL19 = usState;
if (ADCards_DIBit (pCard, DICH_L20, &usState) == 0)
g_SystemData.ptDAQData.usL20 = usState;
if (ADCards_DIBit (pCard, DICH_L21, &usState) == 0)
g_SystemData.ptDAQData.usL21 = usState;
if (ADCards_DIBit (pCard, DICH_L22, &usState) == 0)
g_SystemData.ptDAQData.usL22 = usState;
if (ADCards_DIBit (pCard, DICH_L23, &usState) == 0)
g_SystemData.ptDAQData.usL23 = usState;
if (ADCards_DIBit (pCard, DICH_L24, &usState) == 0)
g_SystemData.ptDAQData.usL24 = usState;
if (ADCards_DIBit (pCard, DICH_L25, &usState) == 0)
g_SystemData.ptDAQData.usL25 = usState;
if (ADCards_DIBit (pCard, DICH_1A, &usState) == 0)
g_SystemData.ptDAQData.us1A = usState;
if (ADCards_DIBit (pCard, DICH_15V, &usState) == 0)
g_SystemData.ptDAQData.us15V = usState;
if (ADCards_DIBit (pCard, DICH_MANUAL, &usState) == 0)
g_SystemData.ptDAQData.usManual = usState;
if (ADCards_DIBit (pCard, DICH_AUTO, &usState) == 0)
g_SystemData.ptDAQData.usAuto = usState;
return;
}
//------------------------------------------------------------------------------------------------
//
void __stdcall DAQReadResisterLoop(int ulID, int ulIndex, short usChannel)
{
float fData;
if (g_SystemData.ptMeasureData.ptResister [ulIndex].usChecked)
return;
SetCtrlVal (plMain, PLMAIN_LED_CHECK, 1);
SetCtrlAttribute (plMain, ulID, ATTR_LABEL_COLOR, MakeColor (255, 0, 0));
ADCards_DOBit (&g_PCI1752, usChannel, 1);
DAQDelay (500);
g_SystemData.ptMeasureData.ptResister [ulIndex].usChecked = 1;
DAQFAIReadResister (&fData);
fData -= 300.0;
if (fData < 0.0)
fData = 0.0;
g_SystemData.ptMeasureData.ptResister [ulIndex].fResister = fData;
ADCards_DOBit (&g_PCI1752, usChannel, 0);
SetCtrlAttribute (plMain, ulID, ATTR_LABEL_COLOR, MakeColor (0, 0, 0));
SetCtrlVal (plMain, ulID, g_SystemData.ptMeasureData.ptResister [ulIndex].fResister);
}
//------------------------------------------------------------------------------------------------
//
void __stdcall DAQReadResister(void)
{
if (g_PCI1752.hDevice == NULL)
return;
if ((g_SystemData.ptDAQData.usAuto == 0)
|| (g_SystemData.ptDAQData.usManual == 1)
|| (g_SystemData.ptDAQData.us1A == 0)
|| (g_SystemData.ptDAQData.us15V == 0))
return;
if (g_SystemData.usRuning != 1)
return;
if (g_SystemData.ptMeasureData.usSecondryPosition <= 0)
return;
if (g_SystemData.ptDAQData.usL01 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L01, 0, DOCH_L01);
if (g_SystemData.ptDAQData.usL02 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L02, 1, DOCH_L02);
if (g_SystemData.ptDAQData.usL03 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L03, 2, DOCH_L03);
if (g_SystemData.ptDAQData.usL04 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L04, 3, DOCH_L04);
if (g_SystemData.ptDAQData.usL05 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L05, 4, DOCH_L05);
if (g_SystemData.ptDAQData.usL06 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L06, 5, DOCH_L06);
if (g_SystemData.ptDAQData.usL07 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L07, 6, DOCH_L07);
if (g_SystemData.ptDAQData.usL08 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L08, 7, DOCH_L08);
if (g_SystemData.ptDAQData.usL09 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L09, 8, DOCH_L09);
if (g_SystemData.ptDAQData.usL10 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L10, 9, DOCH_L10);
if (g_SystemData.ptDAQData.usL11 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L11, 10, DOCH_L11);
if (g_SystemData.ptDAQData.usL12 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L12, 11, DOCH_L12);
if (g_SystemData.ptDAQData.usL13 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L13, 12, DOCH_L13);
if (g_SystemData.ptDAQData.usL14 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L14, 13, DOCH_L14);
if (g_SystemData.ptDAQData.usL15 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L15, 14, DOCH_L15);
if (g_SystemData.ptDAQData.usL16 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L16, 15, DOCH_L16);
if (g_SystemData.ptDAQData.usL17 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L17, 16, DOCH_L17);
if (g_SystemData.ptDAQData.usL18 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L18, 17, DOCH_L18);
if (g_SystemData.ptDAQData.usL19 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L19, 18, DOCH_L19);
if (g_SystemData.ptDAQData.usL20 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L20, 19, DOCH_L20);
if (g_SystemData.ptDAQData.usL21 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L21, 20, DOCH_L21);
if (g_SystemData.ptDAQData.usL22 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L22, 21, DOCH_L22);
if (g_SystemData.ptDAQData.usL23 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L23, 22, DOCH_L23);
if (g_SystemData.ptDAQData.usL24 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L24, 23, DOCH_L24);
if (g_SystemData.ptDAQData.usL25 == 1)
DAQReadResisterLoop (PLMAIN_RESISTER_L25, 24, DOCH_L25);
DAQDelay (500);
g_SystemData.ptMeasureData.ptPosition [g_SystemData.ptMeasureData.usSecondryPosition - 1].fVoltage = g_SystemData.ptDAQData.fVoltage;
g_SystemData.usCheckResister = 0;
SetCtrlVal (plMain, PLMAIN_LED_CHECK, 0);
}
//------------------------------------------------------------------------------------------------
//
void WINAPI DAQCheckMeasure( void )
{
DWORD dwTicks;
DAQFAIReadAIData ();
DAQReadDIData ();
DAQCheckPosition ();
DAQReadResister ();
dwTicks = GetTickCount ();
if ((dwTicks - g_SystemData.dwDAQTicks) > 200)
{
g_SystemData.dwDAQTicks = dwTicks;
DAQDataDisplay();
}
}
//------------------------------------------------------------------------------------------------
//
void WINAPI DAQDelay(DWORD dwDelay)
{
DWORD dwTicks;
dwTicks = GetTickCount ();
while ((GetTickCount () - dwTicks) < dwDelay)
{
// DAQCheckMeasure ();
Sleep( 10 );
}
}
//------------------------------------------------------------------------------------------------
//
DWORD WINAPI DAQThreadRoutine( DWORD arg )
{
while ( g_SystemData.usThreadLoop )
{
DAQCheckMeasure ();
Sleep (10);
}
return 0;
}
//------------------------------------------------------------------------------------------------
//
int __stdcall DAQCreateThread( void )
{
// Enable thread loop
g_SystemData.usThreadLoop = TRUE;
// Set DAQ ticks used by DAQCheckMeasure
g_SystemData.dwDAQTicks = GetTickCount( );
// Crate Device Test thread
g_SystemData.uhDAQThread = CreateThread( NULL, 0, ( LPTHREAD_START_ROUTINE )&DAQThreadRoutine, NULL, 0, NULL );
if ( g_SystemData.uhDAQThread == NULL )
return FALSE;
return TRUE;
}
//------------------------------------------------------------------------------------------------
//
int __stdcall DAQTerminateThread( void )
{
// Disable thread loop
g_SystemData.usThreadLoop = FALSE;
// Terminate the thread
WaitForSingleObject( g_SystemData.uhDAQThread, 5000 );
CloseHandle (g_SystemData.uhDAQThread);
g_SystemData.uhDAQThread = NULL;
return TRUE;
}
//------------------------------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -