Este artículo es una colección de textos sobre triacs algunos sacados de nuestro libro Curso de Electrónica - Electrónica de Potencia. Los circuitos utilizan triacs comunes, pudiendo controlar cargas conectadas a la red de energía, siempre que no sean cargas electrónicas.

El Triac es un dispositivo indicado para la operación directa en la red de corriente alterna. En las aplicaciones básicas, la carga se conecta en serie con el componente en el lado MT2 (terminal principal 2), com

o se muestra en la figura 1.

 

Figura 1 – Conexión del Triac a una carga
Figura 1 – Conexión del Triac a una carga

 

 

Si el componente se utiliza con cargas inductivas, debemos agregar en paralelo al circuito un resistor típicamente de 100 ohms y un capacitor típicamente de 100 nF.

Este circuito forma un snubber, que ya hemos mostrado como utilizar en el caso de los SCRs. en la figura 2 se muestra este circuito.

 

   Figura 2 – Uso de un snubber
Figura 2 – Uso de un snubber

 

 

El propósito de estos componentes es prevenir el desfasaje de la corriente que ocurre con las cargas fuertemente inductivas (bobina de un motor, por ejemplo) afecten el funcionamiento del sistema de control.

En la figura 3 tenemos un interruptor de alimentación simple utilizando un Triac.

 

   Figura 3 – interruptor de potencia utilizando un Triac
Figura 3 – interruptor de potencia utilizando un Triac

 

 

Cuando el interruptor S1 se cierra, tenemos la corriente de disparo que "conecta" el Triac en los dos ciclos de corriente alterna y que son conducidos, alimentando así el circuito de carga.

Sin embargo, en las aplicaciones que implican la variación de la potencia aplicada a una carga, como vimos en el caso de los SCRs, debemos utilizar circuitos adicionales que generen impulsos de disparo cortos.

Estos pulsos se producirán al principio o al final del ciclo, ya que deseamos aplicar mayor o menor potencia a la carga, como se muestra en la figura 4.

 

Figura 4 – Disparo al principio y al final del semiciclo
Figura 4 – Disparo al principio y al final del semiciclo

 

 

Vea que el principio de funcionamiento es el mismo que los controles de potencia de SCR que vimos en el elemento anterior, con la diferencia de que tenemos un control de onda completa.

Entonces llegamos al interesante circuito de control de potencia del "Dimmer “para una lámpara común, que se ve en la figura 5, y funciona de la siguiente manera:

 

Figura 5 – Un control de potencia con Triac y Unijuntura
Figura 5 – Un control de potencia con Triac y Unijuntura | Haga click en la imagen para ampliar |

 

 

Nota: el rectificador de onda completa no es más que un puente de diodos que, en caso de controlar sólo el circuito de disparo, puede ser de muy baja corriente (unas decenas de miles de ampères o poco más)

 

Cuando comienza un ciclo de tensión de alimentación alterna, el capacitor C carga a través del resistor, hasta que se alcanza el punto de disparo del transistor de una juntura.

Cuando el transistor unijuntura dispara, tenemos la descarga rápida del capacitor C a través del bobinado primario del transformador de pulso utilizado en el disparo. Este transformador por lo general tiene una relación de espiras de 1 a 1 entre los elementos, ya que su propósito es sólo aislar el disparo del circuito del circuito del Triac.

Con el pulso en el primario del pequeño transformador, tenemos la aparición en el secundario de un pulso de corta duración de gran intensidad, lo que es suficiente para disparar el Triac.

Por la variación del valor R podemos obtener el pulso en cualquier punto de los dos ciclos de la corriente alterna, y así aplicar cualquier potencia en la carga, ya que se dispara el componente en varios ángulos de fase, como se muestra en la figura 6.

 

Figura 6 – Un potenciómetro cambia el punto de disparo
Figura 6 – Un potenciómetro cambia el punto de disparo

 

 

Podemos elaborar un control de potencia más sencillo utilizando un elemento de disparor que estudiaremos en el siguiente ítem que es el DIAC.

Lo que hace este elemento es producir un pulso de disparo para el Triac cuando la tensión alcanza un cierto valor. Con sus características de disparo rápido se dispara mejor SCRs y Triacs, como veremos y por lo que tenemos un control más eficiente.

El circuito de este control se muestra en la figura 7 y funciona de forma similar a la anterior: el DIAC produce pulsos en momentos que dependen del ángulo de fase ajustado en P1.

 

Figura 7 – Otro control de fase con Triac
Figura 7 – Otro control de fase con Triac

 

 

Quadrac

Los quadracs son dispositivos de la familia de los Tiristores que consisten en un Triac y un DIAC en la misma cubierta, como se muestra en la figura 8.

 

Figura 8 – el Quadrac
Figura 8 – el Quadrac

 

 

Con el uso de un DIAC la tensión de disparo se aumenta y consigue pulsos más intensos para este propósito, lo que mejora las características de la conmutación del Triac.

En lugar de disparar con sólo 1 o 2 V lo que sucede con un Triac, podemos hacer el disparo con tensiones más grandes, el orden de 20 a 35 V, que permite una mejor función de control de potencia.

Los Quadracs se utilizan precisamente en los controles de potencia de la red eléctrica, tales como duchas, dimmers, controles de motor, etc. En la figura 9 tenemos un circuito típico de un control de potencia utilizando un Quadrac.

 

Figura 9 – Control de potencia con Quadrac
Figura 9 – Control de potencia con Quadrac

 

 

Es importante notar que los Triacs y Quadracs se utilizan como controles de potencia para motores y dimmers.

Sin embargo, como dimmers sólo sirven para las bombillas incandescentes que están dejando para ser utilizados. Algunos circuitos con LEDs admiten el uso de este tipo de control, aunque una parte de ellos ya ha incorporado la característica de control.

 

Interferencia

El comportamiento del Triac como dispositivo de conmutación rápida es el mismo que los SCRs, por lo que se generan muchos armónicos cuando funciona.

Estos armónicos, que se extienden a la gama de unas pocas docenas de MHz, pueden interferir con el equipo de comunicaciones como radios, televisores analógicos de banda VHF y mucho más.

Las interferencias pueden ser propagadas por el espacio en forma de ondas electromagnéticas, en cuyo caso el equipo que interfiera o interfiera debe estar blindado, o por la línea de alimentación.

 

 

18.924MBMemory Usage41.66msRequest 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" => 1750216167 "last" => 1750216167...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.44KB) (283μs)
  • afterInitialise (1.14MB) (3.69ms)
  • afterRoute (179.16KB) (1.09ms)
  • beforeRenderComponent com_content (100.7KB) (425μs)
  • Before Access::preloadComponents (all components) (33.45KB) (164μs)
  • After Access::preloadComponents (all components) (107.06KB) (367μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (19.61ms)
  • Before Access::getAssetRules (id:16399 name:com_content.article.20353) (514.65KB) (750μs)
  • After Access::getAssetRules (id:16399 name:com_content.article.20353) (7.38KB) (45μs)
  • afterRenderComponent com_content (397.98KB) (7.3ms)
  • afterDispatch (2.25KB) (59μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (1.77ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (375μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (94μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (1.19ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (605μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (72μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (213μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (51μs)
  • afterRender (265.75KB) (3.38ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (47.08%)
    19.61ms
    1 x afterRenderComponent com_content (397.98KB) (17.52%)
    7.30ms
    1 x afterInitialise (1.14MB) (8.85%)
    3.69ms
    1 x afterRender (265.75KB) (8.11%)
    3.38ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (4.25%)
    1.77ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (2.86%)
    1.19ms
    1 x afterRoute (179.16KB) (2.63%)
    1.09ms
    1 x Before Access::getAssetRules (id:16399 name:com_content.article.20353) (514.65KB) (1.8%)
    750μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.45%)
    605μs
    1 x beforeRenderComponent com_content (100.7KB) (1.02%)
    425μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.9%)
    375μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.88%)
    367μs
    1 x afterLoad (85.44KB) (0.68%)
    283μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.51%)
    213μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.39%)
    164μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.23%)
    94μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.17%)
    72μs
    1 x afterDispatch (2.25KB) (0.14%)
    59μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    51μs
    1 x After Access::getAssetRules (id:16399 name:com_content.article.20353) (7.38KB) (0.11%)
    45μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    7μs
21 statements were executed, 5 of which were duplicates, 16 unique11.23ms1.58MB
  • SELECT @@SESSION.sql_mode;29μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 166μ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)164μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`47μ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` = :guest69μ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`444μ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)209μ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.67ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`375μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '20353'217μ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)184μ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`198μ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)235μ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`174μ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 ASC424μ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`176μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1159μ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)84μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context57μ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)172μ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` = 174μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy