Contrariamente a lo que muchos pueden pensar, los interruptores magnéticos del tipo "reed-switch" no se usan solamente en alarmas y circuitos de protección. Con un poco de imaginación, podemos encontrarles ilimitadas aplicaciones, entrando incluso en el campo profesional. En este artículo veremos algunas aplicaciones interesantes para los interruptores magnéticos, que podrán ayudara resolver problemas prácticos importantes.

Básicamente, un interruptor magnético consiste en una ampolla cerrada de vidrio, dentro de la cual existen gases nobles y dos láminas, que forman los contactos. La aproximación del campo magnético de un imán hace que las laminas se enderecen y se apoyen una contra la otra, estableciendo el contacto eléctrico, como vemos en la figura 1.

 

Figura 1
Figura 1

 

Los interruptores de este tipo, recomendados para utilización en alarmas, pueden tener formatos apropiados, como muestra la figura 2, en que ya tenemos el imán y el propio interruptor instalados en soportes de fácil fijación.

 

Figura 2
Figura 2

 

Sin embargo, incluso estos conjuntos, apropiados para el uso en alarmas, pueden ser empleados en aplicaciones diferentes, como explicaremos en el transcurso del artículo.

El punto principal que hay que tomar en consideración para la utilización de estos interruptores es el que se refiere a sus características eléctricas.

Estos interruptores no son proyectados para que operen con corrientes elevadas. La corriente máxima que soportan sus contactos está alrededor de 200 mA, lo que significa que, en la utilización en cualquier sistema de control de mayor potencia, deben usarse circuitos intermedios, que serán ejemplificados más adelante.

 

Control de nivel de líquidos

El nivel de tanques, de recipientes diversos o incluso de instrumentos de un laboratorio de química puede ser fácilmente controlado con el sistema propuesto en la figura 3.

 

Figura 3
Figura 3

 

En este sistema, que no hace conexión eléctrica alguna con el liquido, lo que es importante si este es combustible, una boya tiene un pequeño imán sujeto y corre por un riel, tubo o guía, de acuerdo con el nivel controlado.

Los reed-switches, o llaves magnéticas, son instalados del lado externo de la pared del tanque, en lugares donde se quiera accionarlos.

En la figura 4 damos un circuito simple de accionamiento de relé que puede controlar una alarma o bien una bomba de líquido. En el nivel más alto se hará la desconexión de la bomba y accionamiento de la alarma.

 

Figura 4
Figura 4

 

Un circuito interesante es el que muestra la figura 5, en que tenemos la inversión temporizada del sistema con integrados 555.

 

Figura 5
Figura 5

 

El tiempo de inversión de un sistema en los niveles controlados puede ser ajustado en el potenciómetro y es dado básicamente por el capacitor C1. Con un capacitor de 1000 µF y un potenciómetro de 2M2, obtenemos un tiempo de aproximadamente una hora.

Esta claro que, en un sistema en que se desea la indicación del nivel del tanque de una forma mas precisa, se pueden usar diversos interruptores magnéticos, como muestra la figura 6.

 

Figura 6
Figura 6

 

En este caso, sin embargo, la ubicación debe ser tal que no existan puntos intermedios "muertes", en que el imán no accione ninguno de ellos.

Para pequeños interruptores magnéticos, como los utilizados en algunos de nuestros prototipos y que se encuentran en el comercio especializado, la acción del íman se hace a una distancia de hasta 2 cm, 10 que es una separación ideal entre cada unidad y también el espesor máximo de la pared del tanque.

Por supuesto que mediante la utilización de imanes más potentes, se puede ampliar esta distancia.

 

Recuento de objetos de pasaje

El número de vueltas que da una pieza en una máquina o el recuento de objetos puede ser realizada con la utilización de los interruptores en la forma que muestra la figura 7.

 

Figura 7
Figura 7

 

Normalmente, los interruptores son suficientemente rápidos para responder a velocidades de pasaje elevadas. Para una pieza en rotación, valores en la banda de hasta 600 rpm pueden ser respondidos con facilidad.

Sin embargo, para la obtención de pulsos apropiados para la excitación 'de circuitos contadores, deben usarse elementos adicionales.

En la figura 8 tenemos un monoestable con el 555, el que la salida es una señal perfectamente rectangular, compatible con las características de entrada de contadores TTL y CMOS.

 

Figura 8
Figura 8

 

Los componentes R2 y C1 deben ser calculados para obtener un tiempo de salida (t) no mayor que el intervalo mínimo entre los pulsos que vamos a contar.

La fórmula para calcular este tiempo es:

t = 1,1 x R2 x C1

En la figura 9 tenemos un conformador de impulsos, usando el integrado CMOS 4081, que consiste en 4 puertas AND. Solo una de estas cuatro puertas se usa en conjunto con un transistor, a fin de obtener pulsos rectangulares.

 

Figura 9
Figura 9

 

Estos pulsos pueden usarse en un contador.

Con este mismo circuito, podemos elaborar fácilmente un tacómetro, en que la producción de los pulsos la hace el pasaje de un imán cercano a un interruptor magnético. Un circuito analógico para recuento de impulsos, o sea, un tacómetro, aparece en la figura 10.

 

Figura 10
Figura 10

 

Este circuito tiene por base un integrado 555 en la configuración monoestable, en que la constante de tiempo R1 /C1 determina la rotación máxima que se puede medir, o sea, el intervalo mínimo entre los pulsos.

Los pulsos de entrada, provenientes del sensor magnético, son aplicados al pin 2 del integrado, llevando su salida al nivel alto por un tiempo determinado por los valores de R1 y C1.

El diodo zener, el potenciómetro de ajuste (P1) y el capacitor en paralelo con el instrumento, determinan la constante de integración de la señal de salida.

Obtenemos de esta forma una indicación de comente proporcional a la rotación o número de pulsos de entrada. En la figura 11 tenemos las formas de las señales de salida y la corriente media en el instrumento indicador para números pequeños y grandes de impulsos por segundo en el sensor.

 

Figura 11
Figura 11

 

Observe que la indicación de máximo ocurre cuando el intervalo entre los pulsos de entrada se iguala a la constante de tiempo del monoestable o sea, cuando no existe intervalo entre los pulsos de salida, que se mantienen constantemente en el nivel alto.

La alimentación de este circuito puede hacerse con tensiones entre 9 y 20 V, debiendo ser utilizado un regulador intermediario para garantizar la precisión de indicación. En el caso, este regulador es un integrado 7806.

 

Inversión a partir de impulsos

Una aplicación interesante para los sensores magnéticos es la parada o inversión de un sistema mecánico cuando la posición de una pieza alcanza cierto punto.

En la figura 12 mostramos un ejemplo, en que el motor debe ser desconectado de su sentido de rotación invertido, cuando la pieza llega ala posición X.

 

Figura 12
Figura 12

 

En este punto se coloca el sensor magnético, mientras que el imán es sujeto al objeto movible.

El circuito de accionamiento es un biestable, mostrado en la figura 13.

 

Figura 13
Figura 13

 

Vea que en las entradas 1 y 2 de este circuito podemos conectar un único sensor magnético o un par de ellos.

En el caso de un sensor único, tendremos también un interruptor de presión o un relé en paralelo, como muestra la figura 14, a través del cual tenemos el comando externo para nueva inversión.

 

Figura 14
Figura 14

 

Con dos interruptores en paralelo tenemos una inversión continua en dos puntos del recorrido del objeto (en el caso, X e Y de la figura 12).

El objeto controlado por el motor tendrá, entonces, un movimiento de vaivén continuo, y la ventaja del sistema es que este recorrido puede ser alterado por el cambio de posición de los imanes de control o de interruptores en las posiciones de referencia.

El circuito consiste en un biestable, en que el pulso de comando os producido por un monoestable 555. la finalidad básica de este monoestable es evitar repiques del interruptor de láminas, que podrían llevar al circuito a un funcionamiento inestable.

La constante de tiempo de este circuito es dada por R2 y C1 y depende de la aplicación del sistema.

El biestable en si, tiene por base la mitad de un4013, CMOS.

En un primer impulso, producido por sensores conectados a las amadas 1 y 2 tenemos la operación del relé. En el pulso siguiente, el relé se desconecta y el ciclo se repite, mientras la alimentación esté conectada. El circuito puede ser alimentado con tensiones de 6 6 12 V, bastando solamente elegir el relé apropiado. Para 6 V podemos usar el MC2RC1 y para 12 V, el MC2RC2.

En algunos tipos de aplicaciones, como por ejemplo en la inversión de motores de comente continua, puede ser necesario el uso de una fuente separada para la alimentación del motor. Esto ocurre porque el ruido de conmutación de las escobillas puede generar transitorios fuertes que, incluso con el uso de C2, ocasionarían la conmutación errática del biestable.

El circuito del Módulo de Control aparece en la figura 15.

 

Figura 15
Figura 15

 

Como podemos ver, tenemos dos relés que pueden ser llevados a operación biestable o monoestable. segun las posiciones de las llaves S1 y S2, a partir de señales de control aplicadas a las entradas 1, 2, 3 y 4.

Las senales consisten en la puesta a tierra momentánea del pin 2 del 555, o sea, por el corto momentáneo entre los puntos 1 y 2 o bien 3 y 4.

La constante de tiempo de los circuitos monoestables está dada por R3/C1 y R4/C2.

En la aplicación monoestable pura, el capacitor de cada integrado puede ser aumentado hasta 1000 µF y el resistor hasta 2M2, de modo de obtener largos intervalos de temporización.

El circuito puede ser alimentado con tensiones de 6 ó 12 V, bastando apenas elegir el relé apropiado.

Vea que, en todas las aplicaciones, nada impide que diversos sensores sean conectados a la misma entrada.

 

Indicadores de posición

Una Rosa de los Vientos electrónica puede ser implementada fácilmente en función de interruptores magnéticos, como sugiere el dibujo dela figura 16.

 

Figura 16
Figura 16

 

Cada sensor es colocado en una determinada posición de indicación y en la parte móvil, que es accionada por el viento, tenemos un pequeño imán.

Este mismo principio puede ser usado en la elaboración de un joystick o incluso un comando de posición para microcomputadora por acción magnética como muestra la figura 17.

 

Figura 17
Figura 17

 

Será accionado el interruptor magnético que esté alineado con el imán dela parte móvil.

 

Otras aplicaciones

En la figura 18 tenemos un interesante circuito de control magnético de ganancia para un amplificador operacional.

 

Figura 18
Figura 18

 

Dependiendo del interruptor accionado, por la presencia del campo magnético de un imán, tenemos un resistor de valor diferente colocado en el circuito de realimentación. Como la ganancia depende de este resistor, o mejor, de la relación entre este resistor y el resistor en serie con la entrada, con diversos resistores tenemos diversas ganancias posibles.

Así, en el circuito ejemplificado, estas ganancias son de 10, 22 y 47 veces. Pero está claro que se pueden emplear otros valores.

En la figura 19 tenemos un circuito interesante, que consiste en un conversor digital/analógico, en que se obtienen varios niveles de tensión a partir de la combinación de los interruptores, activados por la acción de campos magnéticos de pequeños imanes.

 

Figura 19
Figura 19

 

Este circuito puede ser usado para la indicación remota de posiciones, asociado, por ejemplo, a la Rosa de los Vientos que ya vimos, utilizándose para la transmisión de datos un único conductor.

Un instrumento analógico conectado a la salida de este circuito proporciona una indicación que permite saber cuales son las llaves activadas en cada instante.

 

Conclusión

Evidentemente, no vimos todo lo que puede hacerse con interruptores magnéticos. Basadas en los circuitos que dimos en este artículo, creemos que se pueden idear muchas otras aplicaciones.

 

19.068MBMemory Usage40.88msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.20
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
[]
$_SERVER
array:49 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "PATH_TRANSLATED" => "redirect:/ind...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1749154282 "last" => 1749154282...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.72KB) (209μs)
  • afterInitialise (1.14MB) (3.19ms)
  • afterRoute (179.21KB) (823μs)
  • beforeRenderComponent com_content (100.98KB) (399μs)
  • Before Access::preloadComponents (all components) (33.44KB) (168μs)
  • After Access::preloadComponents (all components) (107.06KB) (364μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (20.69ms)
  • Before Access::getAssetRules (id:8 name:com_content) (480.06KB) (2.06ms)
  • After Access::getAssetRules (id:8 name:com_content) (7.36KB) (38μs)
  • afterRenderComponent com_content (464.81KB) (5.58ms)
  • afterDispatch (2.25KB) (43μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (422.53KB) (1.53ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (314μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (97μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (63.02KB) (1.11ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (566μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (63μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (188μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (48μs)
  • afterRender (312.75KB) (3.26ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (50.62%)
    20.69ms
    1 x afterRenderComponent com_content (464.81KB) (13.65%)
    5.58ms
    1 x afterRender (312.75KB) (7.97%)
    3.26ms
    1 x afterInitialise (1.14MB) (7.79%)
    3.19ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (480.06KB) (5.03%)
    2.06ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (422.53KB) (3.73%)
    1.53ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (63.02KB) (2.72%)
    1.11ms
    1 x afterRoute (179.21KB) (2.01%)
    823μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.38%)
    566μs
    1 x beforeRenderComponent com_content (100.98KB) (0.98%)
    399μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.89%)
    364μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.77%)
    314μs
    1 x afterLoad (85.72KB) (0.51%)
    209μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.46%)
    188μs
    1 x Before Access::preloadComponents (all components) (33.44KB) (0.41%)
    168μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.24%)
    97μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.15%)
    63μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.12%)
    48μs
    1 x afterDispatch (2.25KB) (0.11%)
    43μs
    1 x After Access::getAssetRules (id:8 name:com_content) (7.36KB) (0.09%)
    38μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    7μs
23 statements were executed, 5 of which were duplicates, 18 unique11.65ms1.63MB
  • SELECT @@SESSION.sql_mode;32μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 169μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `incbmx_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)150μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`50μs656B/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` = :guest67μ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`241μ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)216μ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.99ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_assets`375μs2.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `incbmx_assets` WHERE `name` = 'com_content.article.154'78μs912B/libraries/src/Table/Table.php:780Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`279μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '154'147μ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)153μs46.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`180μ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)221μs3.97KBParams/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`240μ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 ASC386μs6.06KBParams/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`199μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1149μs656B/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)88μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context65μ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)199μs46.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` = 174μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy
  • warningassets - No asset found for com_content.article.154, falling back to com_content
  • warningassets - No asset found for com_content.article.154, falling back to com_content
  • warningassets - No asset found for com_content.article.154, falling back to com_content
  • warningassets - No asset found for com_content.article.154, falling back to com_content
  • warningassets - No asset found for com_content.article.154, falling back to com_content
  • warningassets - No asset found for com_content.article.154, falling back to com_content
  • warningassets - No asset found for com_content.article.154, falling back to com_content
  • warningassets - No asset found for com_content.article.154, falling back to com_content
  • warningassets - No asset found for com_content.article.154, falling back to com_content
  • warningassets - No asset found for com_content.article.154, falling back to com_content