Hacer Cálculos

En las lecciones anteriores aprendemos cómo funcionan las computadoras analógicas y específicamente como potenciómetros pueden ser usados para construir un ordenador simple capaz de realizar operaciones básicas usadas en matemáticas.

 

A continuación, aprendemos cómo montar un circuito práctico de una pequeña computadora experimental capaz de hacer diversas operaciones. En el análisis básico de su funcionamiento quedó claro cómo podemos hacer multiplicaciones. En estas lecciones le mostraremos cómo hacer otras operaciones.

Revisemos, sin embargo, la operación de la multiplicación mostrando cómo se puede hacer.

 

a) Multiplicación

Supongamos que deseamos hacer una multiplicación simple como 3,2 x 5,9;

En este caso tenemos:

X = 3,2

Y = 5,9

Z = resultado de la operación

 

El primer procedimiento es colocar en la escala el valor de la forma que sea más próxima que la escala usada suporte. Observe que la escala lineal va hasta 10. Así, tenemos en la figura el ajuste de X para este valor.

 

Figura 1
Figura 1

 

El segundo paso es ajustar el valor 5,9 en la escala Y. Procedemos de la misma forma que en la escala X, como muestra la figura 2.

 

Figura 2
Figura 2

 

Ver que ajustaríamos ese mismo punto si tuviéramos que trabajar con números más grandes, compensando los ceros. Por ejemplo, esto sería válido para la multiplicación: 32 x 59 = Y

Ahora, en la etapa final, vamos a accionar el circuito y girar Z hasta que el instrumento sea cero. Esto ocurrirá justamente en el punto 18,88, como muestra la figura 3.

 

Figura 3
Figura 3

 

Ver que en este caso tenemos que hacer una compensación de las escalas, deduciendo de cabeza que el valor encontrado esta aproximadamente en este punto y que debemos desconsiderar un cero en el resultado de la operación.

Como en las reglas de cálculo, el orden de magnitud tanto de los operandos como de los valores encontrados depende mucho más del operador que del propio dispositivo utilizado en el cálculo.

Otro punto importante a considerar es la precisión de los resultados. El valor 18,88 no se puede leer con precisión en la escala externa utilizada de la misma forma que los valores de los operandos.

Así, este tipo de calculadora no es para valores que exijan precisión, funcionando más con pequeños valores enteros. Se tiene en cuenta la tolerancia de los potenciómetros.

El resultado final se muestra en la disposición final de los potenciómetros según se detalla en la figura 4.

 

Figura 4
Figura 4 | Haga click en la imagen para ampliar |

 

Para las otras operaciones el procedimiento es básicamente el mismo, por lo que no necesitamos ilustrar con figuras. Sólo diremos qué escalas se utilizan.

 

b) Dividir

Considerando que la división es un procedimiento inverso al de la multiplicación el lector puede fácilmente deducir cómo realizarla en su computadora analógica.

Suponiendo que vamos a dividir 9 por 2.

En este caso, invertimos el procedimiento, colocando el 90 en la escala Z y el 20 en la escala Y.

Z = 90

Y = 20

X =?

El resultado se obtendrá en la escala X cuando giremos el potenciómetro y obtengamos el cero del instrumento.

Vea que también en este caso debemos considerar los puntos en que los valores serán ajustados.

Para 90 usamos 9, para 20 usamos 2 y el resultado no será obtenido en 45 pero sí y 4,5.

 

c) Potencias

Elevar un número al cuadrado, consiste en multiplicarlo por él mismo. Por ejemplo:

32 = 3 x 3 = 9

Así, para elevar al cuadrado, basta ajustar el mismo número en la escala x y en la escala Y encontrando la respuesta en la escala Z.

Elevar 4 al cuadrado, por ejemplo:

X = 4

Y = 4

Encontraremos Z = 16 cuando el instrumento sea cero.

Para otros exponentes ya tenemos un procedimiento que exige un poco más de habilidad. Por ejemplo, vamos a elevar 43.

En este caso, tenemos:

4 x 4 x 4

Entonces hacemos la primera multiplicación usando los potenciómetros x e y. Obtenemos el valor 16 en Z. Ajustamos nuevamente Y para el valor encontrado en Z y de nuevo ajustamos Z para un nuevo cero.

El valor encontrado será 4 x 4 x 4 = 64 o 43.

Para exponentes mayores también podemos usar las escalas intermedias B trabajando como si fueran multiplicaciones. Ver más adelante porque eso es posible.

 

d) Raíz cuadrada

La raíz cuadrada de un número a es el número b que multiplicado por él mismo resulta en a.

Por ejemplo, la raíz cuadrada de 9 es 3 porque 3 x 3 = 9. La raíz cuadrada de 16 es 4 porque 4 x 4 = 16.

Para calcular la raíz de un número en nuestro conmutador analógico utilizaremos las escalas de la banda intermedia B. Así, si queremos calcular la raíz de 9, ajustamos 9 en la escala B de X. Luego ajustamos nuevamente 9 en la escala B de Y y encontramos el resultado aproximado en la escala B de Z.

¿Por qué el resultado de las raíces se obtiene en estas escalas?

Para que el lector entienda debe conocer un poco sobre logaritmos.

Si tenemos los números a, b y c y realizamos la operación tal que ax = b, podemos decir que x es el logaritmo de b en la base a o:

X = loga b

Una escala logarítmica en que las divisiones se separan de forma exponencial, tienen propiedades interesantes cuando se usan en un ordenador como el nuestro.

Por ejemplo, vemos que la suma de los logaritmos de dos números es igual al logaritmo de su producto. En otras palabras, podemos multiplicar usando la suma.

De la misma forma, para obtener una potencia, basta multiplicar el logaritmo de la base por el logaritmo del exponente. En otras palabras, podemos calcular exponentes usando la multiplicación.

Como la raíz cuadrada es el inverso de la potenciación, usando un escalas logarítmicas podemos hacer su cálculo utilizando la división.

Así, la raíz cuadrada de un número se puede encontrar dividiendo el logaritmo de ese número por el logaritmo de 2. Las escalas B de nuestro ordenador sirven justamente para hacer esos cálculos usando logaritmos.

Pero lo interesante es que, como trabajar con magnitudes analógicas podemos ir mucho más allá de lo que sería posible con una calculadora digital.

Podemos elevar un número a un exponente no entero como 30,4 o aún la raíz "1,3" de 2.

 

Cálculos Complejos

Es claro que, a medida que el lector es adquiriendo experiencia con su computadora analógica puede ir entendiendo cómo realizar más cálculos. Por ejemplo, puede crear nuevas escalas, colocando por ejemplo funciones trigonométricas y trabajando con ellas.

Basta recordar que el circuito multiplica y que por lo tanto podemos realizar esta operación con los valores de las escalas. Si estas escalas se elaboran sobre la base de otras funciones, sus características se añaden al circuito.

Por ejemplo, si tenemos una escala que sigue la función "seno de un ángulo" en X y "coseno" en Y podremos multiplicar los senos por cosenos, bastando elaborar una escala apropiada en Z.

Otra posibilidad consiste en modificar la forma en que se encienden los potenciómetros. En la figura 5, por ejemplo, tenemos una variación que nos lleva a la fórmula de actuación del circuito como:

z = [ 10Y / (1 – X + 10Y) ]

 

 

Figura 5
Figura 5 | Haga click en la imagen para ampliar |

 

Un sistema de conmutación interno puede llevar a las diversas configuraciones del circuito.

Otra posibilidad interesante se muestra en la figura 6, siempre teniendo en cuenta que la relación de valores entre los potenciómetros de alta y de baja resistencia debe ser mantenida la más alta posible para obtener más precisión.

 

Figura 6
Figura 6 | Haga click en la imagen para ampliar |

 

Al analizar este circuito el lector puede llegar a la ecuación que describe su operación. Así, de la misma forma que en un ordenador analógico con amplificadores operativos, diferentes disposiciones de potenciómetros pueden ser creadas para realizar los cálculos específicos que deseamos.

También tenemos la posibilidad de aumentar el número de potenciómetros, como muestra la figura 7.

 

Figura 7
Figura 7 | Haga click en la imagen para ampliar |

 

 

En este circuito tenemos la posibilidad de resolver ecuaciones del tipo:

X x Y = W x Z

Para operaciones simples, como las normales, basta colocar W en el punto de máxima resistencia (Cursor en + B) de la alimentación y circuito pasa a tener la condición de Z = 1 llevando a:

X x Y = Z x 1

o

X x Y = Z

Que es la versión original.

Sin embargo, la ventaja de este circuito es que podemos resolver proporciones con él, calculando por ejemplo la cuarta proporcional en la fórmula:

X / Y = W / Z

Esta posibilidad de incrementar el proyecto, ciertamente puede ser atractiva para los lectores que deseen saber más sobre ordenadores analógicos.

Podemos incluso trabajar con seis potenciómetros siendo 3 en cada rama obteniendo así la ecuación de funcionamiento:

X x Y x Z = X1 x Y1 x Z1

El tercer potenciómetro de 100k o 1 M se conectar en el cursor de Y.

En la figura 8 tenemos un circuito para X x Y x W = Z

 

Figura 8
Figura 8

 

Debemos siempre recordar que en la elección de los valores de los componentes el potenciómetro de carga (que carga el divisor principal) debe ser lo más grande posible por los motivos que ya analizamos en las lecciones anteriores de nuestro curso.

En el circuito de la figura 9 P2 debe ser el mayor posible en relación a P1 para no "cargarlo" formando un divisor de tensión que afecta los resultados del circuito.

 

Figura 9
Figura 9

 

  


 

Sumário

Computación Analógica - Lección 1

Computación Analógica - Lección 2

Computación Analógica - Lección 3

Computación Analógica - Lección 4

18.96MBMemory Usage38.55msRequest 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
[]
$_SERVER
array:49 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "PATH_TRANSLATED" => "redirect:/ind...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1741899524 "last" => 1741899524...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.78KB) (323μs)
  • afterInitialise (1.14MB) (3.48ms)
  • afterRoute (123.27KB) (787μs)
  • beforeRenderComponent com_content (100.74KB) (407μs)
  • Before Access::preloadComponents (all components) (33.5KB) (190μs)
  • After Access::preloadComponents (all components) (107.06KB) (397μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (18.56ms)
  • Before Access::getAssetRules (id:8 name:com_content) (480.16KB) (1.7ms)
  • After Access::getAssetRules (id:8 name:com_content) (7.36KB) (30μs)
  • afterRenderComponent com_content (453.07KB) (5.47ms)
  • afterDispatch (2.25KB) (51μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.33KB) (1.56ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (314μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (92μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (1.07ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (543μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (64μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (184μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (47μs)
  • afterRender (312.8KB) (3.16ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (48.16%)
    18.56ms
    1 x afterRenderComponent com_content (453.07KB) (14.18%)
    5.47ms
    1 x afterInitialise (1.14MB) (9.03%)
    3.48ms
    1 x afterRender (312.8KB) (8.2%)
    3.16ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (480.16KB) (4.42%)
    1.70ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.33KB) (4.04%)
    1.56ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (2.77%)
    1.07ms
    1 x afterRoute (123.27KB) (2.04%)
    787μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.41%)
    543μs
    1 x beforeRenderComponent com_content (100.74KB) (1.06%)
    407μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.03%)
    397μs
    1 x afterLoad (85.78KB) (0.84%)
    323μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.81%)
    314μs
    1 x Before Access::preloadComponents (all components) (33.5KB) (0.49%)
    190μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (0.48%)
    184μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.24%)
    92μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (0.17%)
    64μs
    1 x afterDispatch (2.25KB) (0.13%)
    51μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.12%)
    47μs
    1 x After Access::getAssetRules (id:8 name:com_content) (7.36KB) (0.08%)
    30μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
23 statements were executed, 5 of which were duplicates, 18 unique10.84ms1.55MB
  • SELECT @@SESSION.sql_mode;31μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 172μ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)153μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`48μ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` = :guest75μ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`196μs3.98KBParams/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)242μ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.47ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_assets`302μs2.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `incbmx_assets` WHERE `name` = 'com_content.article.8181'70μs912B/libraries/src/Table/Table.php:780Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`263μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '8181'141μ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)156μ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`173μ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)215μ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`160μ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 ASC381μ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`162μ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)95μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context60μ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)155μ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
  • warningassets - No asset found for com_content.article.8181, falling back to com_content
  • warningassets - No asset found for com_content.article.8181, falling back to com_content
  • warningassets - No asset found for com_content.article.8181, falling back to com_content
  • warningassets - No asset found for com_content.article.8181, falling back to com_content
  • warningassets - No asset found for com_content.article.8181, falling back to com_content
  • warningassets - No asset found for com_content.article.8181, falling back to com_content
  • warningassets - No asset found for com_content.article.8181, falling back to com_content
  • warningassets - No asset found for com_content.article.8181, falling back to com_content
  • warningassets - No asset found for com_content.article.8181, falling back to com_content
  • warningassets - No asset found for com_content.article.8181, falling back to com_content