Tener un indicador LED en el panel de un aparato, en una toma para indicar que está encendido o que hay energía disponible es algo que muchos desean. También existe la posibilidad de colocar un indicador luminoso en un interruptor para mostrar su ubicación en la oscuridad, cuando una lámpara está apagada. Esto se puede hacer con LEDs energizados directamente por la red de energía. Vea en este artículo cómo hacerlo.

Una solución que hasta entonces era la más adoptada para indicar con un punto de luz si había energía en una toma o un aparato estaba conectado era la que hacía uso de una lámpara neón.

Esta solución también se veía en los interruptores de luz que tenían una pequeña lámpara de neón que encendía cuando el interruptor estaba abierto (lámpara apagada), indicando su posición.

En la figura 1 tenemos un ejemplo de indicador de interruptor que publicamos hace un buen tiempo, pero que todavía puede ser implementado, pues pequeñas lámparas de neón todavía se pueden encontrar con facilidad en el mercado especializado.

 

Figura 1 - Indicador de interruptor
Figura 1 - Indicador de interruptor

 

En esta configuración más elaborada la lámpara parpadea a una velocidad que depende del capacitor.

Sin embargo, para un simple encendido de la lámpara de neón basta con retirar el diodo y el capacitor, lo que reduce el indicador a dos componentes.

El mismo circuito se puede utilizar para indicar el funcionamiento de los aparatos y la disponibilidad de energía en una toma de corriente.

La ventaja de este circuito está en las características de la lámpara neón que requiere un alto voltaje para encender (por encima de 80 V), pero la corriente es del orden de micro-que significa el consumo de energía despreciable.

En la actualidad, los LEDs se encargan de todas las aplicaciones que requieren una fuente de luz.

Y disponibles en una gran variedad de colores, sin embargo, tienen una desventaja respecto a las lámparas de neón: necesitan una corriente más grande para funcionar.

Pero, aun así, si sabemos trabajar con ellos, tendremos excelentes indicadores de interruptores, de funcionamiento de aparatos y de disponibilidad de energía en tomas.

Veamos cómo es posible.

 

Uso de LED

En nuestro artículo ART055 (LED de 110 V y 220 V) dimos diversas configuraciones que permiten usar LED de una alimentación de 110 V o 220 V.

Sin embargo, estos circuitos se dirigían antes de conectar muchos LEDs para obtener iluminación (lámparas de LED) o aún efectos (tiras de LED).

Para un indicador de interruptor o toma, necesitamos circuitos diferentes. Necesitamos antes circuitos que accionan sólo un LED y que tengan un consumo muy bajo.

Para este propósito tenemos diversas opciones.

 

1) Reducción por resistor

La desventaja de la reducción por resistor está en el hecho de que los resistores disipan calor. Será tanto más calor cuanto mayor sea la corriente en el LED indicador.

En el caso de la lámpara neón no había este problema, pues la corriente de estas lámparas son extremadamente bajas, del orden de 0,1 mA, lo que, con una resistencia de 1 M significa una disipación de sólo:

P = R x I2

P = 106 x 10-4 x 10-4

P = 10-2

P = 0,01 W

 

Para un LED de 10 mA, despreciando los 2 V que aparecen en el LED y la tensión de 110 V, tenemos una potencia de.

P = 110 / 0,01

P = 1,1 W

Ver que aunque baja, se trata de una potencia 100 veces mayor que en el caso de una lámpara neón.

Es claro que si consideramos que 1 kWh cuesta algo alrededor de R $ 0,50, (Nota 1) un indicador resistivo tendría que funcionar 1 000 horas para gastar ese valor.

(1) En Brasil en la época en que el artículo fue escrito.

EL resistor R reductor para el circuito de la figura 2 se calcula mediante la siguiente fórmula.

 

Figura 2 - Reductor resistivo para 1 LED
Figura 2 - Reductor resistivo para 1 LED

 

 

R = (V / I) / 2

 

Donde:

R es el valor del resistor en ohms

I es la corriente deseada en el LED

V es la tensión de la red de energía

El valor es dividido por 2 porque, como el diodo D2 conduciendo la mitad de los semiciclos, debemos calcular una resistencia para el doble de la corriente del LED.

Por ejemplo, para 110 V y un LED de 5 mA, tenemos una resistencia de:

R = (110 / 0,005) / 2

R = 22k / 2

R = 11 k ohms

 

Podemos aproximar al valor comercial más cercano a 12k.

La potencia disipada será:

P = 110 x 0,005

P = 0,55 W

 

Un resistor de 1 W debe ser suficiente.

Para un menor consumo, reduce la corriente de los LED. Los indicadores LED como indicadores pueden funcionar bien con corrientes tan bajas como 1 mA.

También podemos tener menor consumo usando un diodo más, como muestra la figura 3.

 

Figura 3 - Circuito con dos diodos
Figura 3 - Circuito con dos diodos

 

Para este circuito, el resistor será calculado por:

R = V / I

 

Donde:

R es el valor del resistor en ohms

I es la corriente deseada en el LED

V es la tensión de la red de energía

 

2) Reducción por capacitor

Reducción por capacitor, o aprovechando la reactancia capacitiva de un capacitor en un circuito de corriente alterna tiene por ventaja tener una disipación de calor mucho menor y con ello un gasto insignificante de energía.

El circuito típico para este reductor se muestra en la figura 4.

 

Figura 4 - Reductor con capacitor
Figura 4 - Reductor con capacitor

 

 

La reactancia capacitiva presentada por un capacitor en un circuito de corriente alterna se calcula mediante la fórmula:

Xc = 1 / (2 x π x f x C)

 

Donde:

Xc es la reactancia capacitiva, en ohms

f es la frecuencia de la corriente alterna del circuito, en hertz

C es la capacitancia del capacitor, en farads ? es la constante 3,14

 

En nuestro caso, partimos del cálculo anterior, tomando como reactancia el valor de la resistencia del resistor que debe ser conectado en serie con el LED, por ejemplo, 22k para una corriente del orden de 0,5 mA.

Tenemos: f = 60 Hz

C =?

Xc = 22 k o 22 x 103 ohms

 

Aplicando la fórmula:

Xc = 1 / (2 x 3,14 x f x C)

 

Tenemos:

22 x 103 = 1 / (2 x 3,14 x 60 x C)

22 x 103 = 1 / (376,8 x C)

C = 1 / (22 x 103 x 376,8)

C = 1 / (82 896 x 103)

C = 1/82 x 10-6

C = 0,012 x 10-6

C = 12 nF

 

3) Reducción por capacitor sin diodo con dos LEDs

Podemos retirar el diodo rectificador del circuito sustituyendo por un segundo LED, de modo que uno de los LEDs se encienda en el semiciclo positivo de la tensión de alimentación y el otro LED en el semiciclo negativo, como muestra la figura 5.

 

Figura 5 - Uso de dos LED
Figura 5 - Uso de dos LED

 

El cálculo de C se hace como en el caso anterior.

 

4) Reducción en serie

Otra manera de agregar un LED indicador es usando un diodos en serie con la alimentación.

Este proceso, mostrado en la figura 6 se recomienda sólo en los casos en que el consumo del aparato monitoreado no es alto, menos de 100 W.

En este proceso, los diodos producen una pequeña caída de tensión en el aparato alimentado, del orden de 2 V, tensión que se utiliza para alimentar el LED indicador.

En la figura 6 tenemos el indicador, usando diodos 1N4004 para la red de 110 V y 1N4007 para la red de 220 V.

 

Figura 6 - Indicación en serie con el aparato alimentado
Figura 6 - Indicación en serie con el aparato alimentado

 

 

5) Indicación en el secundario de los transformadores

Finalmente, si el aparato que debe monitorear ya tiene un transformador que baja la tensión, la conexión del LED puede ser hecha en su secundario, en la salida de la fuente, como muestra la figura 7.

 

Figura 7 - LED en la fuente de alimentación
Figura 7 - LED en la fuente de alimentación

 

 

El resistor en serie con el LED se calcula de la siguiente manera:

 

Figura 8 - LED en corriente continua
Figura 8 - LED en corriente continua

 

 

Para limitar la corriente en un LED necesitamos conocer la tensión de entrada, y la corriente en el LED para poder calcular la resistencia que debe ser usada. La fórmula siguiente se utiliza para estos cálculos.

El valor 1,6 es para LED rojo. Para verdes y amarillos utilice 1,8 V o 2 V y para LEDs blancos 2,7 V.

Para calcular la disipación del resistor, multiplique el valor del resistor (R) por el valor de la corriente al cuadrado (I2). Dé un margen de seguridad usando una resistencia con el doble de la disipación calculada.

 

18.906MBMemory Usage39.63msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.16
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
array:1 [ "c2123392c06423339225f3431360b7e6" => "t54bc2en0p7k11ndg0gtr0uaj2" ]
$_SERVER
array:52 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 2 "timer" => array:3 [ "start" => 1741930035 "last" => 1741930035...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (86.05KB) (216μs)
  • afterInitialise (1.14MB) (3.3ms)
  • afterRoute (179.16KB) (886μs)
  • beforeRenderComponent com_content (100.65KB) (464μs)
  • Before Access::preloadComponents (all components) (33.5KB) (197μs)
  • After Access::preloadComponents (all components) (107.06KB) (355μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (20.11ms)
  • Before Access::getAssetRules (id:241 name:com_content.article.9921) (514.65KB) (758μs)
  • After Access::getAssetRules (id:241 name:com_content.article.9921) (7.38KB) (33μs)
  • afterRenderComponent com_content (408.55KB) (6.03ms)
  • afterDispatch (2.25KB) (55μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.23KB) (1.61ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (318μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (90μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.1ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (555μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (66μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (182μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (48μs)
  • afterRender (265.73KB) (3.15ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (50.74%)
    20.11ms
    1 x afterRenderComponent com_content (408.55KB) (15.2%)
    6.03ms
    1 x afterInitialise (1.14MB) (8.33%)
    3.30ms
    1 x afterRender (265.73KB) (7.95%)
    3.15ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.23KB) (4.06%)
    1.61ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.77%)
    1.10ms
    1 x afterRoute (179.16KB) (2.24%)
    886μs
    1 x Before Access::getAssetRules (id:241 name:com_content.article.9921) (514.65KB) (1.91%)
    758μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.4%)
    555μs
    1 x beforeRenderComponent com_content (100.65KB) (1.17%)
    464μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.9%)
    355μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.8%)
    318μs
    1 x afterLoad (86.05KB) (0.55%)
    216μs
    1 x Before Access::preloadComponents (all components) (33.5KB) (0.5%)
    197μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.46%)
    182μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.23%)
    90μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.17%)
    66μs
    1 x afterDispatch (2.25KB) (0.14%)
    55μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    48μs
    1 x After Access::getAssetRules (id:241 name:com_content.article.9921) (7.38KB) (0.08%)
    33μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
21 statements were executed, 5 of which were duplicates, 16 unique10.77ms1.57MB
  • SELECT @@SESSION.sql_mode;31μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 155μs1.31KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • UPDATE `incbmx_session` SET `guest` = :guest , `time` = :time , `userid` = :user_id , `username` = :username , `client_id` = :client_id WHERE `session_id` = :session_id55μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`48μs608B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `incbmx_usergroups` AS `a` LEFT JOIN `incbmx_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest73μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`231μs20.2KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)206μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 07.63ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`333μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '9921'156μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)167μs22.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`196μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `incbmx_contentitem_tag_map` AS `m` INNER JOIN `incbmx_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)290μs3.98KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`172μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM incbmx_fields AS a LEFT JOIN `incbmx_languages` AS l ON l.lang_code = a.language LEFT JOIN incbmx_users AS uc ON uc.id=a.checked_out LEFT JOIN incbmx_viewlevels AS ag ON ag.id = a.access LEFT JOIN incbmx_users AS ua ON ua.id = a.created_user_id LEFT JOIN incbmx_fields_groups AS g ON g.id = a.group_id LEFT JOIN `incbmx_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC402μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`180μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1151μs1.89KB/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)90μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context59μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)170μs22.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `incbmx_scheduler_tasks` AS `a` WHERE `a`.`state` = 171μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy