Este es uno de los circuitos integrados de la familia CMOS que destaca por su gama de servicios públicos sirviendo, por esta razón, para una multitud de proyectos. En este artículo explicamos cuál es el 4093 y qué puede hacer en términos de versatilidad de proyectos.

De hecho, el circuito integrado 4093 es tan versátil que publicamos en los Estados Unidos un libro entero al respecto. El libro llamado CMOS Projects and Experiments – using the 4093 fue uno de nuestros mayores éxitos, tanto que ya estamos preparando una versión en español, en la época en que republicamos este artículo (2019).

El circuito integrado 4093 que puede presentar varios sufijos, dependiendo del fabricante pertenece a la familia CMOS de circuitos lógicos digitales (vea en el sitio varios artículos sobre el tema). El 4093 se compone de 4 puertos de activación (Schmitt Triggers) que se pueden utilizar de forma independiente.

El circuito integrado 4093 se puede alimentar con tensiones de 3 a 15 V que consumen una corriente típica de 0,5 mA con alimentación de 10 V. En la figura 1 tenemos la cubierta DIL de este componente con su pinaje.

 

   Figura 1 –Pinaje del 4093
Figura 1 –Pinaje del 4093 | Clique na imagem para ampliar |

 

 

Para entender cómo funciona el 4093, será interesante analizar cómo funciona un disparador NAND.

 

 

 

Los disparadores NAND

 

 

Al igual que cada circuito de lógica digital, el 4093 funciona con sólo dos niveles de señales que interpreta como 0 o 1, o LO y HI (bajo y alto). Por supuesto que hay aplicaciones en las que podemos hacerle trabajar a niveles intermedios, que veremos más adelante.

 

Así, en la función lógica convencional NAND (no E) representada en la figura 2, la señal que aparece en la salida depende de las señales aplicadas a la entrada y todo sólo puede ser 0 o 1.

 

   Figura 2 – La función NAND
Figura 2 – La función NAND | Clique na imagem para ampliar |

 

 

El nivel cero (0) se representa por la tensión de 0 V o tierra del circuito, mientras que el nivel uno (1) está representado por la tensión positiva de la alimentación o + Vcc. Dependiendo de estos niveles tendremos en la salida también 0m o 1, es decir, 0 V o +Vcc según la combinación de niveles aplicados a la entrada.

 

Para ello tenemos la tabla mostrada en la figura 3, con 4 posibilidades.

 

 

   Figura 3 – La tabla verdad de la puerta NAND de dos entradas
Figura 3 – La tabla verdad de la puerta NAND de dos entradas | Clique na imagem para ampliar |

 

 

Tenga en cuenta que para tres combinaciones de señales en la entrada tendremos el nivel 1 en la salida, es decir, Vcc, y sólo uno donde las entradas son ambas 1 (+ Vcc) en las que la salida va a cero.

 

En una puerta convencional, los valores de tensión de entrada aplicados al circuito deben tener límites bien establecidos y la transición de un nivel a otro en la salida es más o menos lenta. Por lo tanto, suponiendo que en el circuito de la figura 4, la entrada B está en el nivel de 0 V, vamos a aumentar gradualmente la tensión.

 

   Figura 4 – Verificando el comportamiento de un puerto NAND
Figura 4 – Verificando el comportamiento de un puerto NAND | Clique na imagem para ampliar |

 

 

Luego viene un instante cuando el circuito no reconoce esta tensión de entrada como de nivel bajo y comienza a reconocerlo como de nivel alto.

 

En este punto, la salida pasa a través de una transición que va desde el nivel alto al nivel bajo, es decir, pasando de + Vcc a 0 V. En una puerta convencional este proceso es lento y en cierto modo indefinido, pero si el circuito tiene una configuración especial, con fuerte retroalimentación interna, puede hacer la transición en puntos definidos y de una manera muy rápida con la curva mostrada en la figura 5.

 

 Figura 5 – La característica de 4093
Figura 5 – La característica de 4093 | Clique na imagem para ampliar |

 

 

Según esta curva, a medida que aumentamos el tensión en la entrada, nada ocurre hasta que se alcanza el punto VP cuando el componente comienza a reconocer este tensión como 1, y no más cero, ocurriendo una transición en la salida. Por otro lado, la tensión de entrada en el Nivel 1 (+Vcc) y empezando a caer lentamente, también tenemos un punto donde el componente deja de reconocerlo como 1, y comienza a verlo como 0, y se produce una nueva transición en la salida.

 

Esta tensión, llamada Vn, es diferente del Vp, lo que nos lleva a un gráfico donde la "subida" es diferente de la "bajada". Esta diferencia da como resultado lo que llamamos una característica de "histéresis" y que es un punto prominente en este circuito, diferenciándolo de los otros.

 

La frecuencia máxima de funcionamiento depende de la tensión de alimentación.

 

Funciones:

• Rango de tensión de alimentación: 3 a 15 V

• Frecuencia máxima: 5 MHz

• Corriente de reposo: 0,5 mA

• Corriente máxima de salida (drenaje o alimentado) – 2,3 mA (tip)

• Umbral positivo: 5,9 V (10 V)

• Umbral negativo: 3,9 (10 V)

 

 

 

Aplicaciones:

Cientos de proyectos que utilizan el 4093 se pueden encontrar en el sitio web del autor, simplemente escribiendo 4093 en la " search " de la homepage.

 

a) Circuito monoestable

En la figura 6 tenemos un circuito simple de monoestable con el 4093.

 

   Figura 6 – Monoestable 4093
Figura 6 – Monoestable 4093 | Clique na imagem para ampliar |

 

 

 

En este circuito una de las entradas se mantiene positiva, pero podemos utilizar el 4093 como inversor uniendo de las dos entradas en esta configuración. El pulso de entrada debe ser compatible con CMOS y el tiempo obtenido se calcula mediante la fórmula situada junto al diagrama. El resistor R puede tener valores entre 50k y 1 M ohms típicamente y el capacitor depende del tiempo deseado pudiendo alcanzar 1 000 uF.

 

b) Generador de señales rectangulares

El circuito mostrado en la figura 7 genera una señal rectangular a partir de señales de otras formas de onda. Este circuito funciona con el umbral Vp de cualquier señal de forma de onda, generando pulsos en los puntos donde la entrada excede el valor de disparo. El circuito es directo, mostrado en la figura 7.

 

Figura 7
Figura 7 | Clique na imagem para ampliar |

 

 

Para una señal de entrada triangular, tenemos la forma de onda generada como se muestra en la figura 8.

 

 

   Figura 8 – Entrada triangular
Figura 8 – Entrada triangular | Clique na imagem para ampliar |

 

El límite de funcionamiento de este circuito depende de la tensión de alimentación en unos pocos megahercios con 10 V.

 

c) Oscilador rectangular

La configuración de la figura 9, sin duda, es la más popular para el 4093, encontrándose en multitud de proyectos.

 

   Figura 9 – Oscilador 4093
Figura 9 – Oscilador 4093 | Clique na imagem para ampliar |

 

 

 

La frecuencia exacta de la señal rectangular generada se puede encontrar a través de la fórmula junto al diagrama, pero podemos trabajar con una fórmula simplificada.

 

 

T = 0,7 x R x C

 

Esta fórmula ayuda en proyectos menos comprometidos porque tiene en cuenta la tolerancia de los componentes utilizados.

 

d) Pulsador de sonido

El circuito mostrado en la figura 10 genera una señal de audio de buena potencia en un altavoz de 10 cm pesado.

 

   Figura 10 –Pulsador de sonido
Figura 10 –Pulsador de sonido | Clique na imagem para ampliar |

 

Tanto la frecuencia del sonido como la repetición de los pulsos se pueden ajustar en los trimpots. La alimentación se puede hacer con tensiones de 6 a 12 V y la corriente está en el orden de unos pocos cientos miliamperes.

 

e) Generador de señales

El circuito mostrado en la figura 11 genera señales en una amplia banda de frecuencias, sirviendo como un excelente inyector de señal para la prueba e incluso como un transmisor sin bobinas.

 

   Figura 11 – Generador de señal
Figura 11 – Generador de señal | Clique na imagem para ampliar |

 

 

 

La alimentación se puede hacer por las pilas, porque el consumo es muy bajo. La señal rectangular generada es rica en armónicos, permitiendo el uso del aparato en pruebas de circuito de RF.

 

f) Intermitente luminoso

El circuito en la figura 12 genera pulsos luminosos cuya frecuencia se puede ajustar en el trimpot. Este circuito se puede controlar con un microcontrolador, operando como un shield.

 

   Figura 12 – Pulsador luminoso
Figura 12 – Pulsador luminoso | Clique na imagem para ampliar |

 

 

En esta aplicación se muestra una pequeña lámpara incandescente como una carga, pero pueden ser utilizados los LEDs de alta potencia en serie con resistores de valores apropiados. La corriente máxima controlada con el transistor indicado puede ser de hasta 3 A, si el transistor está equipado con un radiador de calor.

 

g) Activación de relé

En la figura 13 mostramos cómo activar un relé intermitentemente usando un 4093.

 

 

   Figura 13 – Control de relé
Figura 13 – Control de relé

 

 

Con el transistor indicado, el relé puede tener corrientes de hasta 100 mA.

 

h) Clock CMOS

En la figura 14 tenemos el circuito final de este artículo, un Clock para excitar lógica CMOS, por ejemplo, secuencial 4017.

 

   Figura 14 – Clock CMOS
Figura 14 – Clock CMOS | Clique na imagem para ampliar |

 

 

La frecuencia máxima, que depende de la tensión de alimentación puede llegar a 1 o 2 MHz. La señal generada es rectangular y su frecuencia puede fijarse en función de los componentes (vea oscilador 4093) o ajustarse en un trimpot, en un sistema secuencial, por ejemplo.

Las otras puertas del 4093 se pueden utilizar en otros osciladores o funciones de búfer, como en este ejemplo. El circuito se puede utilizar como shield para microcontroladores.

 

 

 

18.935MBMemory Usage42.5msRequest 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" => "cf7lqob42ej8qv4jf71h8mg5uk" ]
$_SERVER
array:52 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 5 "timer" => array:3 [ "start" => 1741939828 "last" => 1741939830...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.8KB) (422μs)
  • afterInitialise (1.14MB) (5.25ms)
  • afterRoute (179.16KB) (1.2ms)
  • beforeRenderComponent com_content (100.65KB) (623μs)
  • Before Access::preloadComponents (all components) (33.5KB) (322μs)
  • After Access::preloadComponents (all components) (107.06KB) (488μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (12μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (19.7ms)
  • Before Access::getAssetRules (id:27430 name:com_content.article.31063) (514.65KB) (585μs)
  • After Access::getAssetRules (id:27430 name:com_content.article.31063) (7.38KB) (41μs)
  • afterRenderComponent com_content (423.9KB) (6.42ms)
  • afterDispatch (2.25KB) (54μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.23KB) (1.58ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (325μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (92μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.09ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (551μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (65μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (187μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (47μs)
  • afterRender (269.23KB) (3.3ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (46.35%)
    19.70ms
    1 x afterRenderComponent com_content (423.9KB) (15.11%)
    6.42ms
    1 x afterInitialise (1.14MB) (12.34%)
    5.25ms
    1 x afterRender (269.23KB) (7.77%)
    3.30ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.23KB) (3.73%)
    1.58ms
    1 x afterRoute (179.16KB) (2.82%)
    1.20ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.57%)
    1.09ms
    1 x beforeRenderComponent com_content (100.65KB) (1.47%)
    623μs
    1 x Before Access::getAssetRules (id:27430 name:com_content.article.31063) (514.65KB) (1.38%)
    585μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.3%)
    551μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.15%)
    488μs
    1 x afterLoad (85.8KB) (0.99%)
    422μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.77%)
    325μs
    1 x Before Access::preloadComponents (all components) (33.5KB) (0.76%)
    322μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.44%)
    187μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.22%)
    92μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.15%)
    65μs
    1 x afterDispatch (2.25KB) (0.13%)
    54μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.11%)
    47μs
    1 x After Access::getAssetRules (id:27430 name:com_content.article.31063) (7.38KB) (0.1%)
    41μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.03%)
    12μs
21 statements were executed, 5 of which were duplicates, 16 unique11.4ms1.61MB
  • SELECT @@SESSION.sql_mode;49μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 189μ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_id171μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`63μ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` = :guest81μ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`260μ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)271μ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` = 08.01ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`347μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '31063'175μ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)166μ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`188μ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)232μs4KBParams/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`168μ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 ASC380μ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`198μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1153μ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)92μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context66μ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)169μ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` = 171μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy