📄 usrinit.cpp
字号:
output1->textcolor(0); //正常数据以黑色显示
output1->value(s);
sprintf(s,"%.4f", databuf[3]); //单锤破轴承一温度
if (databuf[1]>DC_Axle1Temp_MAX or databuf[1]<DC_Axle1Temp_MIN)
output6->textcolor(1); //超标数据以红色显示
else
output6->textcolor(0); //正常数据以黑色显示
output6->value(s);
sprintf(s,"%.4f", databuf[4]); //单锤破轴承二温度
if (databuf[2]>DC_Axle2Temp_MAX or databuf[6]<DC_Axle2Temp_MIN)
output7->textcolor(1); //超标数据以红色显示
else
output7->textcolor(0); //正常数据以黑色显示
output7->value(s);
sprintf(s,"%.4f", x1buf[100]); //单锤破轴承一X方向振动
if (x1buf[100]>DC_Axle1DevX_MAX or x1buf[100]<DC_Axle1DevX_MIN)
output2->textcolor(1); //超标数据以红色显示
else
output2->textcolor(0); //正常数据以黑色显示
output2->value(s);
sprintf(s,"%.4f", y1buf[100]); //单锤破轴承一Y方向振动
if (y1buf[100]>DC_Axle1DevY_MAX or y1buf[100]<DC_Axle1DevY_MIN)
output3->textcolor(1); //超标数据以红色显示
else
output3->textcolor(0); //正常数据以黑色显示
output3->value(s);
sprintf(s,"%.4f", x2buf[100]); //单锤破轴承二X方向振动
if (x2buf[100]>DC_Axle2DevX_MAX or x2buf[100]<DC_Axle2DevX_MIN)
output4->textcolor(1); //超标数据以红色显示
else
output4->textcolor(0); //正常数据以黑色显示
output4->value(s);
sprintf(s,"%.4f", y2buf[100]); //单锤破轴承二Y方向振动
if (y2buf[100]>DC_Axle2DevY_MAX or y2buf[100]<DC_Axle2DevY_MIN)
output5->textcolor(1); //超标数据以红色显示
else
output5->textcolor(0); //正常数据以黑色显示
output5->value(s);
sprintf(s,"%.4f", current); //板喂机电机电流
if (current<BW_MotorCur_MIN or current>BW_MotorCur_MAX)
output8->textcolor(1); //超标数据以红色显示
else
output8->textcolor(0); //正常数据以黑色显示
output8->value(s);
OSTaskDelay(800);
}
}
/*
* 快速数据采集
*/
void adtest2()
{
while(1){
fastdatacollect(0,1024,x1buf);
OSTaskDelay(100);
fastdatacollect(1,1024,y1buf);
OSTaskDelay(100);
fastdatacollect(2,1024,x2buf);
OSTaskDelay(100);
fastdatacollect(3,1024,y2buf);
OSTaskDelay(100);
}
}
/*
* 慢速信号采集函数
*/
void slowdatacollect(unsigned int i ,float slowdatabuf[])
{
unsigned int Index;
float volt;
for(Index=0; Index<=i; Index++)
{
SetChannel(Index+4);
StartConversion();
while(ConversionDone() == 0);
volt=DigitalToSBS(ReadData()) ;
// volt=1.88;
//slowdatabuf[Index]=(volt*50-120);
if (Index==0)
{ float tmp=volt*35.4-100;
if(tmp<0){slowdatabuf[Index]=0;}
else {slowdatabuf[Index]=(volt*35.4-100);}
}
else if(Index!=1)
{
if(volt<voltref[0]){slowdatabuf[Index]=0;}
else if(volt>voltref[45]){slowdatabuf[Index]=45;}
else
{
for(int i=0;i<=45;i++)
{
if(volt<voltref[i]) {slowdatabuf[Index]=i;break;}
}
}
}
}
}
/**************************************************************************************
* 振动信号采集函数
* 输入: i 通道号
* AcquireTimes 每个通道采集的次数
* astdatabuf[] 采集量的存放数组
**************************************************************************************/
void fastdatacollect(unsigned int i ,int AcquireTimes,float fastdatabuf[])
{
int Index;
float volt;
for(Index=0; Index < AcquireTimes; Index++)
{
SetChannel(i);
StartConversion();
while(ConversionDone() == 0);
volt=DigitalToSBS( ReadData()) ;
// volt=DigitalToSBS( ReadData()) ;
fastdatabuf[Index]=(volt*6.2-5.7)-1.2;
//fastdatabuf[Index]=(volt*6.2-5.7);
}
}
/*
* 主函数
*/
void UserInit(void)
{
//AD卡初始化
ADCInit();
usrTffsConfig(0,0,"/tffs0");
/********************
Get IL.TXT Data
*********************/
read_il();
/******************************
* 建立并启动图形界面任务
******************************/
sc = OSTaskCreate("Gui",
105, //优先级,图形界面的优先级要设置的稍低一些
16*1024, //堆栈大小,估算值
OS_PREEMPT|OS_NO_TIMESLICE|OS_NO_ASR|OS_INTERRUPT_LEVEL(0),
OS_FP|OS_LOCAL,
&gui_id);
if (sc != OS_OK) {
printf("Can't create gui task \n");
return;
}
sc = OSTaskStart(gui_id, gui_main, 0);
if (sc != OS_OK) {
printf("Can't start gui task \n");
return;
}
/******************************
* 建立并启动慢速数据采集任务
******************************/
sc = OSTaskCreate ( "PTASK1",
100,
16*1024,
OS_PREEMPT|OS_NO_TIMESLICE|OS_NO_ASR|OS_INTERRUPT_LEVEL(0),
OS_FP|OS_LOCAL,
&t_id1 );
if ( sc != OS_OK )
printf( "OSTaskCreate ERROR\n");
else
printf( "OSTaskCreate OK\n");
sc = OSTaskStart ( t_id1,(os_task_entry)adtest1,0);
if ( sc != OS_OK )
printf( "OSTaskStart ERROR\n");
/******************************
* 建立并启动快速数据采集任务
******************************/
sc = OSTaskCreate ( "PTASK2",
100,
16*1024,
OS_PREEMPT|OS_NO_TIMESLICE|OS_NO_ASR|OS_INTERRUPT_LEVEL(0),
OS_FP|OS_LOCAL,
&t_id2 );
if ( sc != OS_OK )
printf( "OSTaskCreate ERROR\n");
else
printf( "OSTaskCreate OK\n");
sc = OSTaskStart ( t_id2,(os_task_entry)adtest2,0);
if ( sc != OS_OK )
printf( "OSTaskStart ERROR\n");
/******************************************
* 建立并启动网络通讯任务,用于和上位机通讯
******************************************/
sc = OSTaskCreate("NetTask",
90,
16*1024,
OS_PREEMPT|OS_NO_TIMESLICE|OS_NO_ASR|OS_INTERRUPT_LEVEL(0),
OS_FP|OS_LOCAL,
&net_id);
if (sc != OS_OK) {
printf("Can't create task \n");
return;
}
sc = OSTaskStart(net_id, netTask, 0);
if (sc != OS_OK) {
printf("Can't start gui task \n");
return;
}
/******************************************
* 建立并启动网络通讯任务,用于和板喂机通讯
******************************************/
/* sc = OSTaskCreate(" net_client",
90,
16*1024,
OS_PREEMPT|OS_NO_TIMESLICE|OS_NO_ASR|OS_INTERRUPT_LEVEL(0),
OS_FP|OS_LOCAL,
& net_client_id);
if (sc != OS_OK) {
printf("Can't create task \n");
return;
}*/
/* sc = OSTaskCreate(" net_client",
90,
16*1024,
OS_PREEMPT|OS_NO_TIMESLICE|OS_NO_ASR|OS_INTERRUPT_LEVEL(0),
OS_FP|OS_LOCAL,
& net_client_id);
if (sc != OS_OK) {
printf("Can't create task \n");
return;
}
sc = OSTaskStart(net_client_id ,cltnet, 0);
if (sc != OS_OK) {
printf("Can't start cltnet task \n");
return;
} */
/******************************
* 建立并启动软PLC任务
******************************/
sc = OSTaskCreate("SoftPLC",
101,
16*1024,
OS_PREEMPT|OS_NO_TIMESLICE|OS_NO_ASR|OS_INTERRUPT_LEVEL(0),
OS_FP|OS_LOCAL,
&softplc_id);
if (sc != OS_OK) {
printf("Can't create task \n");
return;
}
sc = OSTaskStart(softplc_id, (os_task_entry)PreRun, 0);
if (sc != OS_OK) {
printf("Can't start softplc task \n");
return;
}
// spawn prediag task
/*sc = OSTaskCreate("prediag",
115,
16*1024,
OS_PREEMPT|OS_NO_TIMESLICE|OS_NO_ASR|OS_INTERRUPT_LEVEL(0),
OS_NO_FP|OS_LOCAL,
&prediag_id);
if (sc != OS_OK) {
printf("Can't create prediag task \n");
return;
}
sc = OSTaskStart(prediag_id, PreDiagData , 0); //诊断任务
if (sc != OS_OK) {
printf("Can't start prediag task \n");
return;
} */
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -