Los sensores de oxígeno encuentran una amplia gama de uso doméstico (detectores de fugas de gas), industrial y automotriz. Vea en este artículo cómo funcionan y cómo se utilizan estos sensores.

   El oxígeno (O2) es un gas comburente, o sea, es la reacción que ocurre entre este gas y otros materiales que provoca lo que denominamos combustión o quema. No hay combustión en ausencia de oxígeno. y un cambio en su concentración en un ambiente puede indicar fugas de gas.

   Como detectar las variaciones de concentración de oxígeno en un ambiente es un problema cuya solución puede llevar a diversos equipos electrónicos de gran utilidad.

   Podemos citar, por ejemplo, los detectores de fugas de gas de uso doméstico, que se basan en el cambio de la concentración del oxígeno por la presencia del gas combustible. Podemos citar las denominadas "sondas lambda" usadas en las salidas de los motores de automóviles, que comprueba si todo el combustible ha sido quemado y si es necesario aumentar o disminuir la presencia de este gas en la mezcla.

   En escala industrial estos equipos pueden ser usados para detectar la presencia de oxígeno en ambientes en los cuales no puede estar presente.

   Hay varios tipos de sensores de oxígeno que involucran técnicas químicas, tales como células galvánicas y dispositivos semiconductores.

   El tipo más común es el de Óxido de Zirconio, que es justamente lo que vamos a analizar en este artículo.

 

   SENSORES DE ZIRCONIO

   En la figura 1 tenemos una vista en corte de un sensor cerámico de zirconio (óxido de circonio) a partir del cual analizamos su principio de funcionamiento.

 


 

 

 

   Entre dos electrodos porosos (para dar paso al aire ambiente) existe un disco de óxido de circonio.

   Este material tiene propiedades semiconductoras donde los portadores de carga que establecen la corriente son iones de oxígeno.

   Así, si establecemos una tensión entre los electrodos, la corriente que va circular depende justamente de la concentración de iones de oxígeno que existe en el material.

   Esta corriente es extremadamente baja, del orden de 5 ?A exigiendo circuitos amplificadores apropiados.

   Las propiedades semiconductoras del zirconio, sin embargo, sólo se manifiestan a una temperatura muy alta, del orden de 400 grados Celsius.

   Para el caso de los sensores de oxígeno usados ??en los coches, como el gas ya sale calentado del motor, el sensor se puede colocar directamente de la manera indicada.

   Sin embargo, para el caso de una medida de la concentración de oxígeno del aire ambiente o de un lugar en el que se encuentre a baja temperatura, el sensor necesita ser calentado.

   Esto se hace normalmente por un elemento adicional que se encuentra en estos sensores y que sirve como elemento de calentamiento.

   El elemento de calentamiento es un hilo de platino que es recorrido por una corriente algo intensa que lo calienta hasta la temperatura de operación del sensor.

   En la figura 2 vemos una curva de operación de este tipo de sensor mostrando de qué forma la corriente depende de la concentración de oxígeno.

 


 

 

 

   Los tipos comerciales comunes como los de Fujikura, Pasco, Electrovac y otros (cuyas páginas con información pueden ser accedidas por Internet) pueden detectar concentraciones de oxígeno en el rango del 0 al 98% con buena precisión, llegando a 1000 ppm según el tipo.

   En la figura 3 tenemos foto sensor de oxígeno comercial de las empresas citadas arriba.

 


 

 

 

CIRCUITOS TIPICOS

   Un circuito típico de sensor de oxígeno para uso ambiental (gas a temperatura ambiente) tiene la configuración en bloques mostrada en la figura 4.

 


 

 

 

   Un circuito de calefacción mantiene la temperatura del sensor en aproximadamente 400 grados Celsius para que pueda funcionar. El ideal para las aplicaciones en que se requiere más precisión es usar en este circuito una fuente de corriente constante. En las aplicaciones menos críticas, tales como simples alarmas de fugas o de presencia de oxígeno, una fuente común puede ser usada.

   Los electrodos son polarizados por una baja tensión que aparece sobre un circuito externo una corriente (o una tensión) proporcional a la concentración de oxígeno.

   Un paso amplificador, normalmente usando un amplificador operacional, se coloca para aumentar la señal de la salida del sensor.

   Esta señal se puede aplicar a un indicador numérico o un relé o un circuito que dispara un sistema de advertencia. El circuito de aviso se puede ajustar para que el disparo ocurra con determinada concentración de gas.

      

CIRCUITO PRÁCTICO

   En la figura 5 tenemos un circuito bastante simple de alarma de gas, que utiliza el sensor TGS308.

 


 

 

 

   El circuito acciona un relé de 24 V cuando la concentración de oxígeno supera un determinado valor.

   Otros sensores equivalentes se pueden utilizar en esta misma configuración y sólo el lector debe comprobar cuál es la tensión de calentamiento.

   En este circuito el elemento de calentamiento está conectado al bobinado de 1,2 V de un transformador especial.

   El punto de ajuste del disparo es obtenido por el trimpot de 2,2 k. Esta tensión será del orden de 20 V para una concentración de gas más alta.

   En la figura 6 tenemos una sugerencia de placa de circuito impreso para esta alarma.

    El SCR no necesita ser montado en radiador de calor y la corriente del secundario del transformador es de 50 mA para el devanado de 30 V y 500 mA para el devanado de 1,2 V.

   Observamos que este circuito, por ser simple, no tiene retardo de accionamiento pudiendo disparar al ser conectado. Si esto ocurre, un capacitor de 470 ?F debe conectarse después del diodo en serie con el relé, y un resistor de 100 ohms asociado en serie con el diodo.

 

   Semiconductores:

   SCR - TIC106 o MCR106 - diodo controlado de silicio

   D1, D2 y D3- 1N4002 - diodos rectificadores

   

Resistores: (1/8 W, 5%)

   R1 - 4,7 k ohms

   R2 - 10 k ohms

   P1 - 2,2 k ohms - trimpot

   

Capacitores:

   C1 - 10 ?F / 30 V - electrolítico

   K1 - relé de 24 V

   X1 - Sensor TGS38 o equivalente

   T1 - Transformador con primario según la red local y secundaria de 1,2 V x 500 mA y 30 V x 50 mA.

 

Nota: Este artículo se publicó en el año 2000. Antes de realizar el montaje, asegúrese de que puede obtener el sensor. En este proyecto, el transformador también puede ser difícil de obtener.

                 

 

18.929MBMemory Usage40.63msRequest 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
array:1 [ "c2123392c06423339225f3431360b7e6" => "hkknog869hjr25lo6oueuds07q" ]
$_SERVER
array:52 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 2 "timer" => array:3 [ "start" => 1751890993 "last" => 1751890993...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.48KB) (271μs)
  • afterInitialise (1.14MB) (3.77ms)
  • afterRoute (179.16KB) (1.1ms)
  • beforeRenderComponent com_content (100.7KB) (543μs)
  • Before Access::preloadComponents (all components) (33.45KB) (267μs)
  • After Access::preloadComponents (all components) (107.06KB) (420μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (10μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (19.12ms)
  • Before Access::getAssetRules (id:24397 name:com_content.article.28097) (514.65KB) (723μs)
  • After Access::getAssetRules (id:24397 name:com_content.article.28097) (7.38KB) (42μs)
  • afterRenderComponent com_content (384.58KB) (6.28ms)
  • afterDispatch (2.25KB) (57μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.44KB) (1.6ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (348μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (102μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (129.21KB) (1.33ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (633μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.22KB) (74μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (199μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (51μs)
  • afterRender (258.06KB) (3.56ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (47.05%)
    19.12ms
    1 x afterRenderComponent com_content (384.58KB) (15.47%)
    6.28ms
    1 x afterInitialise (1.14MB) (9.27%)
    3.77ms
    1 x afterRender (258.06KB) (8.77%)
    3.56ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.44KB) (3.95%)
    1.60ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (129.21KB) (3.28%)
    1.33ms
    1 x afterRoute (179.16KB) (2.71%)
    1.10ms
    1 x Before Access::getAssetRules (id:24397 name:com_content.article.28097) (514.65KB) (1.78%)
    723μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.56%)
    633μs
    1 x beforeRenderComponent com_content (100.7KB) (1.34%)
    543μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.03%)
    420μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.86%)
    348μs
    1 x afterLoad (85.48KB) (0.67%)
    271μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.66%)
    267μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.49%)
    199μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.25%)
    102μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.22KB) (0.18%)
    74μs
    1 x afterDispatch (2.25KB) (0.14%)
    57μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.13%)
    51μs
    1 x After Access::getAssetRules (id:24397 name:com_content.article.28097) (7.38KB) (0.1%)
    42μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    10μs
21 statements were executed, 5 of which were duplicates, 16 unique10.93ms1.58MB
  • SELECT @@SESSION.sql_mode;30μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 158μ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`44μ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` = :guest66μ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`262μ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)220μ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.69ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`349μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '28097'198μ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)164μ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`178μ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)266μ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`178μ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 ASC388μ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`203μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1168μ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)95μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context63μ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)183μ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` = 172μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy