⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 panel.cpp

📁 Vxworks 下重矿设备应用开发
💻 CPP
字号:
// Eci OS Group Designer (ReUid) version 1.0104

#include "system.h"
#include "graph.h"
#include "panel.h"

//#include "panel_cb.h"

#include <stdio.h>
#include <stdlib.h>
#include <reworks/sem.h>

/*
 * 时域故障诊断例程
 * 上下限 + 延时
 * 
 */

/* OSTimerFireAfter OSTimerFireWhen */

/*
 * 可诊断的信号量	变量名				编号		下限		上限		单位			可接受延时(ms)
 * 轴承振动			axis_dis			0						微米(um)			10
 * 单锤破电机电流	motor1_current		1		0		100		安培(A)			100
 * 轴承温度			axis_temperature	2						摄氏度			2000
 * 润滑油液位		oil_level			3		0.8		1		立方米			1000
 * 润滑油温			oil_temperature		4						摄氏度			2000
 * 润滑泵油压		oil_pressure		5 		0.6		1		兆帕(mPa)		1000
 * 
 */ 

//#define SIGNAL_NUMBER 6	// 信号量个数
//
//int SignalDelay[SIGNAL_NUMBER]={10000,100000,2000000,1000000,2000000,1000000};
//
//int DC_Cur; 	// 单锤破电流
//
//char* prediag_result;  //诊断结果     1--正常		2--低于下限	3--高于上限
//
//unsigned char ctb;		// 控制字节,用8个位表示单锤破和板喂机的当前状态
///*
// *    板喂机					单锤破
// *  b7    b6	|   b5   b4   b3   b2   b1   b0
// *  停止  启动 	|  紧停 复位  停车 启动 断电 上电
// *  
// */
//const unsigned char DCrefb = 0x3F;	//单锤破参考控制字节 0011 1111
//const unsigned char BWrefb = 0xC0;  //板喂机参考控制字节 1100 0000
//
//
//Fl_Input *DC_Current_Input=(Fl_Input *)0;
//Fl_Input *TimerFireAfter=(Fl_Input *)0;
//Fl_Button *PreDiagData=(Fl_Button *)0;
//Fl_Value_Output *vo1=(Fl_Value_Output *)0;
//
//extern void prediag(int, float, char*);
//extern void delete_timer(int);

//
//char cs_DC;   // DanChui Current Status
//char cs_BW;   // BanWei Current Status
//
//Fl_Input *StatusShow=(Fl_Input *)0;

void cb_DCpoweron(void);
void cb_DCpoweroff(void);
void cb_DCstart(void);
void cb_DCstop(void);
void cb_DCreset(void);
void cb_DCemcstop(void);
void cb_BWstart(void);
void cb_BWstop(void);


extern bool CPI[8];
extern bool CPO[8];

//extern void InitDisp(void);
//extern bool CPI_FLAG;

int Flag_SPLC = 1;    // SoftPLC Permit Flag
int Flag_SPLC_NET = 0;	  // SoftPLC Net Control Flag
int Flag_SPLC_NET_NO;    // SoftPLC Net Control No
int Flag_BW =0;

extern char ConnectState;


void cb_DCpoweron(void)
{
	CPI[0] = 1;
	Flag_SPLC = 1;
}

void cb_DCpoweroff(void)
{
	CPI[1] = 1;
	Flag_SPLC = 1;
}

void cb_DCstart(void)
{
	CPI[2] = 1;
	Flag_SPLC = 1;
}

void cb_DCstop(void)
{
	CPI[3] = 1;
	Flag_SPLC = 1;
}

void cb_DCreset(void)
{
	CPI[4] = 1;
	Flag_SPLC = 1;
}

void cb_DCemcstop(void)
{
	CPI[5] = 1;
	Flag_SPLC = 1;
}

void cb_BWstart(void)
{
	CPI[6] = 1;
	Flag_SPLC = 1;
	Flag_BW =1;
	//printf(" have recieve the CPI 6...............\n");	
}

void cb_BWstop(void)
{
	CPI[7] = 1;
	Flag_SPLC = 1;
	Flag_BW =1;	
	//printf(" have recieve the CPI 7...............\n");	
}


void DispChg(void)
{
	lb_DCpoweron	->	value(CPO[0]);
	lb_DCpoweroff	->	value(CPO[1]);
	lb_DCstart		->	value(CPO[2]);
	lb_DCstop		->	value(CPO[3]);
	lb_DCreset		->	value(CPO[4]);
	lb_DCemcstop	->	value(CPO[5]);
	lb_BWstart		->	value(CPO[6]);
	lb_BWstop		->	value(CPO[7]);
	
//	char s[10];
//	
//	sprintf(s,"%d", CPO[0]);
//	output9->value(s);
//
//	sprintf(s,"%d", CPO[1]);
//	output10->value(s);
}


void InitDisp(void)
{
	lb_DCpoweron  -> callback((Fl_Callback*)cb_DCpoweron);
    lb_DCstart    -> callback((Fl_Callback*)cb_DCstart);
    lb_DCpoweroff -> callback((Fl_Callback*)cb_DCpoweroff);
    lb_DCstop     -> callback((Fl_Callback*)cb_DCstop);
    lb_DCreset    -> callback((Fl_Callback*)cb_DCreset);
    lb_DCemcstop  -> callback((Fl_Callback*)cb_DCemcstop);
    lb_BWstart    -> callback((Fl_Callback*)cb_BWstart);
    lb_BWstop     -> callback((Fl_Callback*)cb_BWstop);

	lb_DCpoweroff->value(1);
	lb_BWstop->value(1);
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -