?? graph.cpp
字號:
/*
* 控制界面程序
*/
#include <stdlib.h>
#include "graph.h"
extern float DC_MotorCur_MIN; //單錘破電機(jī)電流,最小值
extern float DC_MotorCur_MAX; //單錘破電機(jī)電流,最大值
extern float DC_Axle1DevX_MIN; //單錘破軸承一X方向振動幅值,最小值
extern float DC_Axle1DevX_MAX; //單錘破軸承一X方向振動幅值,最大值
extern float DC_Axle1DevY_MIN; //單錘破軸承一Y方向振動幅值,最小值
extern float DC_Axle1DevY_MAX; //單錘破軸承一Y方向振動幅值,最小值
extern float DC_Axle2DevX_MIN; //單錘破軸承二X方向振動幅值,最小值
extern float DC_Axle2DevX_MAX; //單錘破軸承二X方向振動幅值,最大值
extern float DC_Axle2DevY_MIN; //單錘破軸承二Y方向振動幅值,最小值
extern float DC_Axle2DevY_MAX; //單錘破軸承二Y方向振動幅值,最小值
extern float DC_Axle1Temp_MIN; //單錘破軸承一溫度,最小值
extern float DC_Axle1Temp_MAX; //單錘破軸承一溫度,最大值
extern float DC_Axle2Temp_MIN; //單錘破軸承二溫度,最小值
extern float DC_Axle2Temp_MAX; //單錘破軸承二溫度,最大值
extern float BW_MotorCur_MIN; //板喂機(jī)電機(jī)電流,最小值
extern float BW_MotorCur_MAX; //板喂機(jī)電機(jī)電流,最大值
extern int sc;
extern unsigned32 net_client_id;
extern char ConnectState;
extern bool CPI[8], CPO[8]; //軟PLC輸入量和輸出量數(shù)組
extern void InitDisp(void); //初始化軟PLC界面顯示
extern void cb_DCpoweron();
extern void cb_DCpoweroff();
extern void cb_DCstart();
extern void cb_DCstop();
extern void cb_DCreset();
extern void cb_DCemcstop();
extern void cb_BWstart();
extern void cb_BWstop();
extern "C" void cltnet(void*p);
extern void Read_Para(void);
extern void DispChg(void);
//extern "C" void Connect_BW(void);
Fl_Window *data_window=(Fl_Window *)0; //數(shù)據(jù)顯示窗口
Fl_Window *para_window=(Fl_Window *)0; //參數(shù)設(shè)置窗口
Fl_Light_Button *lb_DCpoweron = (Fl_Light_Button *)0;
Fl_Light_Button *lb_DCstart = (Fl_Light_Button *)0;
Fl_Light_Button *lb_DCpoweroff = (Fl_Light_Button *)0;
Fl_Light_Button *lb_DCstop = (Fl_Light_Button *)0;
Fl_Light_Button *lb_DCreset = (Fl_Light_Button *)0;
Fl_Light_Button *lb_DCemcstop = (Fl_Light_Button *)0;
Fl_Light_Button *lb_BWstart = (Fl_Light_Button *)0;
Fl_Light_Button *lb_BWstop = (Fl_Light_Button *)0;
Fl_Light_Button *lb_ConnectBW = (Fl_Light_Button *)0;
Fl_Output *output1=(Fl_Output *)0; //單錘破電機(jī)電流
Fl_Output *output2=(Fl_Output *)0; //單錘破軸承一X方向振動幅值
Fl_Output *output3=(Fl_Output *)0; //單錘破軸承一Y方向振動幅值
Fl_Output *output4=(Fl_Output *)0; //單錘破軸承二X方向振動幅值
Fl_Output *output5=(Fl_Output *)0; //單錘破軸承二Y方向振動幅值
Fl_Output *output6=(Fl_Output *)0; //單錘破軸承一溫度
Fl_Output *output7=(Fl_Output *)0; //單錘破軸承二溫度
Fl_Output *output8=(Fl_Output *)0; //板喂機(jī)電機(jī)電流
//Fl_Output *output9=(Fl_Output *)0; //CPO[0],測試用
//Fl_Output *output10=(Fl_Output *)0; //CPO[1],測試用
Fl_Value_Input *input11=(Fl_Value_Input *)0; //單錘破電機(jī)電流,最小值
Fl_Value_Input *input12=(Fl_Value_Input *)0; //單錘破電機(jī)電流,最大值
Fl_Value_Input *input21=(Fl_Value_Input *)0; //單錘破軸承一X方向振動幅值,最小值
Fl_Value_Input *input22=(Fl_Value_Input *)0; //單錘破軸承一X方向振動幅值,最大值
Fl_Value_Input *input31=(Fl_Value_Input *)0; //單錘破軸承一Y方向振動幅值,最小值
Fl_Value_Input *input32=(Fl_Value_Input *)0; //單錘破軸承一Y方向振動幅值,最大值
Fl_Value_Input *input41=(Fl_Value_Input *)0; //單錘破軸承二X方向振動幅值,最小值
Fl_Value_Input *input42=(Fl_Value_Input *)0; //單錘破軸承二X方向振動幅值,最大值
Fl_Value_Input *input51=(Fl_Value_Input *)0; //單錘破軸承二Y方向振動幅值,最小值
Fl_Value_Input *input52=(Fl_Value_Input *)0; //單錘破軸承二Y方向振動幅值,最大值
Fl_Value_Input *input61=(Fl_Value_Input *)0; //單錘破軸承一溫度,最小值
Fl_Value_Input *input62=(Fl_Value_Input *)0; //單錘破軸承一溫度,最大值
Fl_Value_Input *input71=(Fl_Value_Input *)0; //單錘破軸承二溫度,最小值
Fl_Value_Input *input72=(Fl_Value_Input *)0; //單錘破軸承二溫度,最大值
Fl_Value_Input *input81=(Fl_Value_Input *)0; //板喂機(jī)電機(jī)電流,最小值
Fl_Value_Input *input82=(Fl_Value_Input *)0; //板喂機(jī)電機(jī)電流,最大值
/*************************************************************
* Code Start *
*************************************************************/
/*
* 切換至參數(shù)設(shè)置窗口
*/
static void change_to_para_window(Fl_Button*, void*) {
data_window->hide();
para_window->show();
}
/*
* 切換至數(shù)據(jù)顯示窗口
*/
static void change_to_data_window(Fl_Button*, void*) {
para_window->hide();
data_window->show();
}
/*
* 連接板喂機(jī)實(shí)現(xiàn)函數(shù)
*/
static void Connect_BW() {
// para_window->hide();
// data_window->show();
// taskSpawn("NETCLIENT",90,0,8*1024,cltnet,0,0,0,0,0,0,0,0,0,0);
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;
}
}
/*
* 參數(shù)設(shè)置
*/
//static void parameterset(Fl_Button*, void*) {
static void parameterset() {
DC_MotorCur_MIN = input11->value();
DC_MotorCur_MAX = input12->value();
DC_Axle1DevX_MIN = input21->value();
DC_Axle1DevX_MAX = input22->value();
DC_Axle1DevY_MIN = input31->value();
DC_Axle1DevY_MAX = input32->value();
DC_Axle2DevX_MIN = input41->value();
DC_Axle2DevX_MAX = input42->value();
DC_Axle2DevY_MIN = input51->value();
DC_Axle2DevY_MAX = input52->value();
DC_Axle1Temp_MIN = input61->value();
DC_Axle1Temp_MAX = input62->value();
DC_Axle2Temp_MIN = input71->value();
DC_Axle2Temp_MAX = input72->value();
BW_MotorCur_MIN = input81->value();
BW_MotorCur_MAX = input82->value();
}
void Para_Display() {
input11->value(DC_MotorCur_MIN);
input12->value(DC_MotorCur_MAX);
input21->value(DC_Axle1DevX_MIN);
input22->value(DC_Axle1DevX_MAX);
input31->value(DC_Axle1DevY_MIN);
input32->value(DC_Axle1DevY_MAX);
input41->value(DC_Axle2DevX_MIN);
input42->value(DC_Axle2DevX_MAX);
input51->value(DC_Axle2DevY_MIN);
input52->value(DC_Axle2DevY_MAX);
input61->value(DC_Axle1Temp_MIN);
input62->value(DC_Axle1Temp_MAX);
input71->value(DC_Axle2Temp_MIN);
input72->value(DC_Axle2Temp_MAX);
input81->value(BW_MotorCur_MIN);
input82->value(BW_MotorCur_MAX);
}
Fl_Window* make_window() {
Fl_Window* w;
/*
* 初始化數(shù)據(jù)顯示窗口
*/
{ Fl_Window* o = data_window = new Fl_Window(638, 472, "重礦設(shè)備嵌入式控制系統(tǒng)數(shù)據(jù)顯示窗口");
w = o;
{ Fl_Box* o = new Fl_Box(163, 25, 225, 40, "重礦設(shè)備嵌入式控制系統(tǒng)");
o->box(FL_NO_BOX);
o->align(FL_ALIGN_TOP);
}
{ Fl_Group* o = new Fl_Group(7, 57, 240, 405);
o->box(FL_THIN_DOWN_BOX);
o->align(FL_ALIGN_TOP_LEFT);
{ Fl_Box* o = new Fl_Box(65, 81, 147, 30, "單錘破主要數(shù)據(jù)顯示");
o->box(FL_NO_BOX);
o->align(FL_ALIGN_TOP);
}
{ Fl_Box* o = new Fl_Box(65, 392, 147, 30, "板喂機(jī)主要數(shù)據(jù)顯示");
o->box(FL_NO_BOX);
o->align(FL_ALIGN_TOP);
}
{ output1 = new Fl_Output(133, 106, 100, 25, "電機(jī)電流 (A)");
output1->box(FL_THIN_DOWN_BOX);
}
{ output2 = new Fl_Output(133, 142, 100, 25, "軸承一X方向振動(m/s2)");
output2->box(FL_THIN_DOWN_BOX);
}
{ output3 = new Fl_Output(133, 179, 100, 25, "軸承一Y方向振動(m/s2)");
output3->box(FL_THIN_DOWN_BOX);
}
{ output4 = new Fl_Output(133, 216, 100, 25, "軸承二X方向振動(m/s2)");
output4->box(FL_THIN_DOWN_BOX);
}
{ output5 = new Fl_Output(133, 252, 100, 25, "軸承二Y方向振動(m/s2)");
output5->box(FL_THIN_DOWN_BOX);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -