-
2020-04-17 10:49:58
物理磁盘托盘上的LED表示每个物理磁盘的状态。
机柜中的每个驱动器托盘都有两个LED:
一个活动LED(绿色)和一个状态LED(双色,绿色/琥珀色);
每次访问驱动器时,活动 LED 灯都会闪烁。灯是灭的 插槽为空,系统尚未发现驱动器,托架上面的灯坏了
稳定绿色 驱动器处于联机状态。
呈绿色闪烁(250 毫秒) 正在识别驱动器或正在准备删除驱动器。
呈绿色闪烁(亮起 400 毫秒,熄灭 100 毫秒) 驱动器正在重建或正在进行Replace Member(更换成员)操作。
呈琥珀色闪烁(125 毫秒) 驱动器出现故障。
呈绿色/琥珀色闪烁(亮起绿色/琥珀色500毫秒,熄灭1000毫秒) 驱动器报告预测性故障。
呈绿色闪烁(亮起绿色3000毫秒,熄灭3000毫秒,亮起琥珀色3000毫秒,熄灭3000毫秒) 由于用户请求或其它非故障情况,驱动器正在停止旋转。
更多相关内容 -
qt实现状态指示灯——灯亮度可改变
2017-09-27 11:11:05qt实现的简易状态指示灯,灯的状态可闪烁,通过重载paintEvent来实现,可以通过自己定义状态指示变量来控制状态指示的状态。给出了qt4下实现的工程文件,可直接运行,定义了两个状态指示,大家可以根据自己的需要... -
西门子PLC的状态指示灯
2019-04-14 19:27:37西门子PLC的状态指示灯西门子PLC的状态指示灯西门子PLC的状态指示灯v -
C#读取指示灯状态
2017-09-10 08:49:04可以通过C#读取状态指示灯,可以通过C#读取状态指示灯,可以通过C#读取状态指示灯,可以通过C#读取状态指示灯, -
多路开关状态指示器设计
2020-08-11 10:09:13多路开关状态指示器设计:AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮状态,开关断开,对应的灯灭状态)。 -
易语言取键盘指示灯状态
2020-08-22 02:44:55易语言取键盘指示灯状态源码系统结构:系统_取键盘指示灯状态,虚拟键状态_,取错误信息_, ======窗口程序集1 || ||------_按钮1_被单击 || ||------__启动窗口_创建完毕 || || ======程序集1 || ||- -
Qt状态灯(红绿灯)实现
2018-11-05 21:40:27可以作为指示灯,可以随时切换黄灯、绿灯、红灯三种状态的。 -
易语言API取键盘指示灯状态
2020-08-22 05:22:46易语言API取键盘指示灯状态源码系统结构:取键盘指示灯状态_,API_最近的输入虚拟键状态, ======窗口程序集1 || ||------_按钮1_被单击 || ||------取键盘指示灯状态_ || || ======调用的Dll || ||--- -
C#指示灯自定义控件
2018-09-07 17:34:43自己写了一个指示灯控件,做了32位64位两个版本,可以自定义显示颜色,并且可以控制是否闪烁,以及控制闪烁速度 -
Demo2 状态指示灯、呼吸灯_keil5呼吸灯_stm32led_cameraiu1_STM32f103指示灯_
2021-10-01 17:26:59LED呼吸灯程序。开发平台:keil5;芯片类型:stm32F103VET6 -
易语言源码易语言API取键盘指示灯状态源码.rar
2020-03-30 09:57:57易语言源码易语言API取键盘指示灯状态源码.rar 易语言源码易语言API取键盘指示灯状态源码.rar 易语言源码易语言API取键盘指示灯状态源码.rar 易语言源码易语言API取键盘指示灯状态源码.rar 易语言源码易语言API... -
SiemensPLC状态指示灯的含义.rar
2019-09-22 20:57:08SiemensPLC状态指示灯的含义rar,SiemensPLC状态指示灯的含义 -
思科状态指示灯说明
2012-11-03 09:56:37SYST 系统指示灯 显示系统是否已经接通电源并且正常工作。 ( 绿色 系统运行正常 琥珀色 系统加电但运行不正常) -
如何写一个状态指示灯?
2020-08-03 16:34:05工作时,我们常常会有这样的需求:用一个 LED 灯指示机器的工作状态:正常或故障。这样一个需求,对于我们入门就写点灯程序的点灯小能手来说,根本就是小意思。因为这只需要控制IO输出高电平或者低电平就可以达到...工作时,我们常常会有这样的需求:用一个 LED 灯指示机器的工作状态:正常或故障。这样一个需求,对于我们入门就写点灯程序的点灯小能手来说,根本就是小意思。因为这只需要控制IO输出高电平或者低电平就可以达到要求。尽管如此简单,如果用的不好,那也是存在风险的:《引脚输出的隐藏BUG | 深入思考》。本篇笔记记录的当然不是简单的指示正常和故障这两种状态,而是多种状态。比如,快闪、慢闪、1秒闪1次,1秒闪3次等。不过,因精力有限,我先介绍一个简单的实现1.5秒闪烁1~5次的方法,并且通过对该方法的详细介绍,你也可以实现更复杂的指示功能(当然也可用于蜂鸣器等)。该方法有几点优势:1、代码实现简单;2、可用于多线程;3、移植方便;4、裸机、操作系统均可使用,可不需要定时器。当然也有缺点,就是只能指示最新的当前状态(也就是说,如果有多个线程同时调用,将指示最后一个调用时的状态),不过对于状态指示来说,这样足够了。为了实现1.5秒内闪烁5次,并且让代码尽可能的简单,我们可以将 1.5 s划分成 10 个等份,每个等份为 150 ms。
假定,高电平为灭,低电平为亮。那么,如果我们要实现1.5 s 闪烁一次的效果,只需要在0 时刻设置为低电平,1时刻设置为高电平即可,其他时刻不需要操作电平,此时电平效果如下:
这样,通过在指定时刻设置IO电平,即可达到闪烁的效果。现在的问题是,如何获得稳定的周期时间,这已经是老生常谈的问题,如果不明白,可以参考以下笔记:《延时功能进化论(合集)》。这里我们需要实现两个周期,一个是 1.5 s,一个是 150 ms,所以需要两个变量保存时间戳,同时为了实现单次延时,再增加一个变量,即关于时间的变量共有三个。下面贴代码,看看代码实现:
代码注释比较详尽,如果看不懂,说明还没有理解以前写的笔记,建议翻翻以前的笔记。简单说明几点:1、为了移植方便,使用了一个函数指针设置LED电平,因此可以很方便的修改。2、可以方便配置多个LED,如果一个LED不够,那就俩。3、为了减少空间的使用,原本 4 字节的时间戳通过强制转化,使用 2 字节即可实现。4、单次超时时间实现。5、时间戳单位为 1 毫秒,同时 led_set_handle 函数为了保证时间精度,调用周期为 10 ms,该函数需要周期性调用,并且只可以在一个地方调用(一个LED情况下)。6、led_show 函数用于更新闪烁次数,可在闪烁次数变化的时候调用;同时可多线程使用,当然因为没有缓存,始终保存最后一次调用时的显示次数。7、led 作为共享资源,使用变量 curr_number 控制资源访问,保证指示不会出现混乱。8、指示更新周期1.5秒,即上层即使更新了 next_number ,最迟需要 1.5 后才会更新,最早更新时间为立刻。9、使用 C99 的特性,简化初始化过程。
-
Qt:状态指示灯
2020-06-22 23:46:12基于QWidget实现的状态指示灯前言
emm… 懒得写描述了,直接看代码吧,或者先看看最后的效果图也行。
人比较懒,注释也没写,那凑合看好了。有问题请留言交流,看到会及时回复😄聊聊代码
fr_light.h
#ifndef FRLIGHT_H #define FRLIGHT_H #include <qwidget.h> class FrLight : public QWidget { Q_OBJECT public: enum State { kDefault, kNormal, kWorking, kWarning, kMalfunction }; public: explicit FrLight(QWidget *parent = nullptr); void set_state(const State& state); void set_default_color(const QColor& default_color); void set_normal_color(const QColor& normal_color); void set_working_color(const QColor& working_color); void set_warning_color(const QColor& warning_color); void set_malfunction_color(const QColor& malfunction_color); protected: void timerEvent(QTimerEvent *); void paintEvent(QPaintEvent *); private: int _step; int _timer_id; State _state; \ QColor _default_color; QColor _normal_color; QColor _working_color; QColor _warning_color; QColor _malfunction_color; }; #endif // FRLIGHT_H
fr_light.cc
#include "fr_light.h" #include <qpainter.h> #include <qbrush.h> FrLight::FrLight(QWidget *parent) : QWidget(parent), _step(60) , _timer_id(0) , _state(kWorking) , _default_color(127, 127, 127) , _normal_color(32, 255, 32) , _working_color(32, 255, 32) , _warning_color(255, 255, 32) , _malfunction_color(255, 32, 32) { update(); } void FrLight::set_state(const FrLight::State& state) { _state = state; if (kWorking == _state) { _timer_id = startTimer(16); } else { killTimer(_timer_id); _timer_id = 0; } update(); } void FrLight::set_default_color(const QColor& default_color) { _default_color = default_color; update(); } void FrLight::set_normal_color(const QColor& normal_color) { _normal_color = normal_color; update(); } void FrLight::set_working_color(const QColor& working_color) { _working_color = working_color; update(); } void FrLight::set_warning_color(const QColor& warning_color) { _warning_color = warning_color; update(); } void FrLight::set_malfunction_color(const QColor& malfunction_color) { _malfunction_color = malfunction_color; update(); } void FrLight::timerEvent(QTimerEvent*) { update(); --_step; if (_step == -60) { _step = 60; } } void FrLight::paintEvent(QPaintEvent*) { int side = qMin(width(), height()); QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); painter.translate(width() / 2, height() / 2); painter.scale(side / 100.0, side / 100.0); QColor start_color, mid_color, end_color; switch (_state) { case kDefault: start_color = _default_color; mid_color = _default_color; end_color = _default_color; mid_color.setAlpha(192); end_color.setAlpha(0); break; case kNormal: start_color = _normal_color; mid_color = _normal_color; end_color = _normal_color; mid_color.setAlpha(192); end_color.setAlpha(0); break; case kWorking: if (0 == _timer_id) { _timer_id = startTimer(16); } start_color = _working_color; mid_color = _working_color; end_color = _working_color; start_color.setAlpha(qAbs(int(_step * 4.25))); mid_color.setAlpha(qAbs(int(_step * 3.2))); end_color.setAlpha(0); break; case kWarning: start_color = _warning_color; mid_color = _warning_color; end_color = _warning_color; mid_color.setAlpha(192); end_color.setAlpha(0); break; case kMalfunction: start_color = _malfunction_color; mid_color = _malfunction_color; end_color = _malfunction_color; mid_color.setAlpha(192); end_color.setAlpha(0); break; default: start_color = _default_color; mid_color = _default_color; end_color = _default_color; mid_color.setAlpha(192); end_color.setAlpha(0); break; } QRadialGradient radial(0, 0, 50, 0, 0); //设置圆的原点和焦点在中心,半径50 radial.setSpread(QGradient::PadSpread); radial.setColorAt(0, start_color); radial.setColorAt(0.9, mid_color); radial.setColorAt(1, end_color); painter.setPen(Qt::transparent); painter.setBrush(radial); painter.drawEllipse(-50, -50, 100, 100); }
效果图
-
C#指示灯自定义控件-C#代码类资源
2021-05-11 22:28:11自己写了一个指示灯控件,做了32位64位两个版本,可以自定义显示颜色,并且可以控制是否闪烁,以及控制闪烁速度 -
qt5-led-indicator-widget:QT5的简单LED指示灯小部件
2021-04-29 10:06:47qt5-led指示灯小工具 QT5的简单LED指示灯小部件 该存储库包含类和示例项目。 该类具有一些基本功能,并且易于使用。 该存储库有一个基本的示例应用程序,该应用程序使... 设置指示灯状态 void setState(bool state); -
指示灯识别核心算法.docx
2019-06-05 15:56:11基于python和opencv的指示灯识别算法。详细描述了识别原理和识别过程,适合初学者 -
易语言API取键盘指示灯状态源码.zip易语言项目例子源码下载
2022-03-23 05:13:05易语言API取键盘指示灯状态源码.zip易语言项目例子源码下载易语言API取键盘指示灯状态源码.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考 -
易语言键盘指示灯操作
2020-07-15 13:50:57易语言键盘指示灯操作源码,键盘指示灯操作,初始化,取状态,置图标,事件处理,GetModuleHandle,CallNextHookEx,SetWindowsHookEx,UnhookWindowsHookEx,CopyMemory,keybd_event,MapVirtualKey,GetKeyState -
API取键盘指示灯状态.rar
2020-04-04 08:10:16API取键盘指示灯状态.rar -
LED指示灯在网卡中的作用
2021-01-19 20:15:48一般来讲,每块网路卡(NIC)都具有1个以上的LED(Light Emitting Diode,发光二极体)指示灯,用来表示网卡的不同工作状态,以方便我们查看网卡是否工作正常。典型的LED指示灯有... -
Android 通知及指示灯的DEMO源码
2016-09-30 12:25:19Eclipse的关于通知notification的小应用,源码有注释,供参考 -
基于视频图像的指示灯状态监测识别技术研究* (2010年)
2021-05-25 17:00:16利用计算机和视频图像处理技术来监测控制室内众多指示灯状态,并对异常情况进行提示和报警,可以极大的降低值班人员的劳动强度,提高效率。指示灯状态一般有亮、灭、慢闪烁、快闪烁、红、绿等,亮灭状态可以看成周期... -
indicator.email:您的电子邮件的状态指示灯
2021-07-09 12:10:08您的电子邮件的状态指示灯。 得到你自己的 在其域中可用,但是如果您想要自己的实例,则部署indicator.email相对容易。 indicator.email是为在 Heroku 上运行而编写的,这使得部署变得相当简单。 为此,您可以使用... -
qt 指示灯 状态灯 红绿灯 LED灯:使用QLabel实现
2021-02-01 15:19:49需要在界面上实时显示设备的状态,希望通过指示灯来显示,例如绿色代表正常,红色代表异常。 实现步骤 首先添加几个QLabel控件,下图添加了四个QLabel控件。对于QLabel,双击可以修改其text,在属性栏可以修改其...前言
需要在界面上实时显示设备的状态,希望通过指示灯来显示,例如绿色代表正常,红色代表异常。
实现步骤
首先添加几个QLabel控件,下图添加了四个QLabel控件。对于QLabel,双击可以修改其text,在属性栏可以修改其objectName,修改led1、led2的objectName为label_led1、label_led2。
使用自定义函数setLED来实现LED灯。// 该函数将label控件变成一个圆形指示灯,需要指定颜色color以及直径size // color 0:grey 1:red 2:green 3:yellow // size 单位是像素 setLED(QLabel* label, int color, int size) { // 将label中的文字清空 label->setText(""); // 先设置矩形大小 // 如果ui界面设置的label大小比最小宽度和高度小,矩形将被设置为最小宽度和最小高度; // 如果ui界面设置的label大小比最小宽度和高度大,矩形将被设置为最大宽度和最大高度; QString min_width = QString("min-width: %1px;").arg(size); // 最小宽度:size QString min_height = QString("min-height: %1px;").arg(size); // 最小高度:size QString max_width = QString("max-width: %1px;").arg(size); // 最小宽度:size QString max_height = QString("max-height: %1px;").arg(size); // 最小高度:size // 再设置边界形状及边框 QString border_radius = QString("border-radius: %1px;").arg(size/2); // 边框是圆角,半径为size/2 QString border = QString("border:1px solid black;"); // 边框为1px黑色 // 最后设置背景颜色 QString background = "background-color:"; switch (color) { case 0: // 灰色 background += "rgb(190,190,190)"; break; case 1: // 红色 background += "rgb(255,0,0)"; break; case 2: // 绿色 background += "rgb(0,255,0)"; break; case 3: // 黄色 background += "rgb(255,255,0)"; break; default: break; } const QString SheetStyle = min_width + min_height + max_width + max_height + border_radius + border + background; label->setStyleSheet(SheetStyle); }
在需要改变LED灯颜色的地方调用setLED即可。为了演示,我新建了MainWindow工程,在MainWindow类的构造函数中直接调用,运行程序时便会改变LED颜色。
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setLED(ui->label_led1, 1, 16); setLED(ui->label_led2, 2, 16); }
效果如下:
-
施耐德CANOpen状态指示灯及状态指示
2014-08-25 08:04:24施耐德PLC CANOpen状态详解 指示工作正常,错误,及各种解决办法。 -
使用指示灯了解 Storwize V7000 Gen1 系统状态.pdf
2021-05-27 23:35:53Storwize V7000 Gen1 指示灯系统状态查询 -
基于视觉的PLC外观及指示灯状态检测系统设计.pdf
2021-08-07 20:07:52#资源达人分享计划#