El circuito presentado fue sugerido por Texas Instruments y proporciona una señal de salida de 10 mV por cada grado de diferencia entre las señales aplicados en las entradas. Existen muchas aplicaciones en electrónica industrial y de instrumentación y control a este circuito y será el lector emplear este bloque en un proyecto de acuerdo al objetivo deseado.

El proyecto se basa en el circuito integrado de Texas Instruments TL051 que consta de un amplificador operacional con transistor JFET de alta tensión en la entrada y transistores bipolares en otros pasos.

Una de las características importantes de este circuito integrado hacemos hincapié en que el proceso de fabricación utilizado permite que bajas tensiones de offset se logran debido a la presencia de un zener "on-chip” que puede ser ajustado y también debido a la variación de tensiones offset compensadas con el tiempo.

Los dispositivos con el sufijo C funcionan en el rango de temperatura de 0 a 70 grados centígrados, mientras que aquellos con sufijo I funcionamiento - 40 a + 85°C. Para el sufijo M, que corresponden a la banda militar, la operación temperaturas rango de-55 a + 125°C.

Otras características importantes de TL051 son los siguientes:

 

* Máximo offset: 800 ?V

* Alta tasa de crecimiento: 19,8 V/?s (tip a 25°C)

* Distorsión armónica total: 0.002% para Rl= 2 k ohmios

* Baja tensión de ruido: 18 nV/Hz a 1 kHz

* Baja corriente de polarización: 30 pA (tip)

 

En la figura 1 tenemos las conexiones del circuito integrado TL051.

 

 

 

EL CIRCUITO

 

En la figura 2 tenemos el diagrama de medidor de fase completo sugerido por Texas Instruments en el Datasheet del TL051.

 

Figura 2
Figura 2

 

 

Como se explica en la introducción, la tensión de salida será de 10 mV por cada grado de desfase de las señales aplicadas en Va y Vb.

 

Las frecuencias de entrada de Va y Vb deben ser iguales.

 

Los amplificadores operacionales U1a y U1b trabajan como comparadores convirtiendo señales sinusoidales en salidas cuadras +/-5 V de amplitud.

 

El divisor de voltaje formado por resistores de 100 k proporcionan valores lógicos para el disparo de los flip-flops que coinciden con los circuitos integrados U2a y U2b.

 

U2 consiste en un doble flip-flop del tipo J-K 74 (HC109) y que tiene como objetivo generar una señal cuya frecuencia es la mitad la frecuencia de las señales de entrada.

 

En este circuito, la duración del pulso generado por U2a va desde cero a la mitad el período de la señal de entrada, donde cero corresponde a un retraso de fase nula entre Va y Vb y la mitad del período corresponde a un intervalo entre Vb y Va de 360 grados.

 

Los pulsos de salida de U2a hacen la llave lógica U3 (4066) interruptor conmute U4 (TL051), que se configura como un integrador. La constante de integración está determinada básicamente por los capacitores C1 y C2.

 

Cuando la salida de U2a acerca a una forma de onda cuadrada, U4 es una salida de aprox. 2,5 V.

 

El circuito integrado U5 (TL051) funciona como un amplificador no inversor con ganancia de 1.44 veces, con el fin de obtener una escala de 0 a 3,6 V para los rangos de 0 a 360 grados de desfasaje.

 

Los resistores R8 y R10 determinan el ajuste de ganancia de salida y nulo respectivamente. El circuito mostrado puede funcionar en el rango de frecuencias de 100 Hz a 100 kHz.

 

APLICACIONES

Un instrumento que puede diseñar fácilmente de este bloque se muestra en la figura 3.

 


 

 

 

Las señales del Medidor de fase se aplican a un indicador digital de voltaje de 3 dígitos, configurado para funcionar en una escala de 0 a 3.6 V.

 

De esta manera, es posible medir ángulos de desfase de señales sinusoidales de la red eléctrica (u otra fuente hasta 10 kHz) con una resolución de 1 grado. Con un mostrador de 4 dígitos podemos ir más allá y tener una precisión de 0,1 grados.

 

MONTAJE

Como se trata de bloque constructivo debe ser parte de un proyecto específico, la placa del circuito impreso debe establecerse de acuerdo con este proyecto.

Sin embargo, para iniciar el circuito puede montarse fácilmente en una matriz de contactos, mientras que las pruebas no son críticas.

 

 

 

 

18.841MBMemory Usage57.58msRequest 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" => "opr3fjv4sse23hitqc2b4f9qj6" ]
$_SERVER
array:50 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "PATH_TRANSLATED" => "redirect:/ind...
session
array:3 [ "counter" => 2 "timer" => array:3 [ "start" => 1751962736 "last" => 1751962736...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.34KB) (246μs)
  • afterInitialise (1.14MB) (3.18ms)
  • afterRoute (89.95KB) (777μs)
  • beforeRenderComponent com_content (100.41KB) (420μs)
  • Before Access::preloadComponents (all components) (33.45KB) (200μs)
  • After Access::preloadComponents (all components) (107.06KB) (479μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (35.88ms)
  • Before Access::getAssetRules (id:2635 name:com_content.article.2143) (514.65KB) (843μs)
  • After Access::getAssetRules (id:2635 name:com_content.article.2143) (7.38KB) (50μs)
  • afterRenderComponent com_content (362.05KB) (7.25ms)
  • afterDispatch (2.25KB) (68μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.44KB) (1.75ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (380μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (95μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (129.21KB) (1.43ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (741μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (86μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (205μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (49μs)
  • afterRender (259.44KB) (3.33ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (62.31%)
    35.88ms
    1 x afterRenderComponent com_content (362.05KB) (12.59%)
    7.25ms
    1 x afterRender (259.44KB) (5.78%)
    3.33ms
    1 x afterInitialise (1.14MB) (5.52%)
    3.18ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.44KB) (3.04%)
    1.75ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (129.21KB) (2.49%)
    1.43ms
    1 x Before Access::getAssetRules (id:2635 name:com_content.article.2143) (514.65KB) (1.46%)
    843μs
    1 x afterRoute (89.95KB) (1.35%)
    777μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.29%)
    741μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.83%)
    479μs
    1 x beforeRenderComponent com_content (100.41KB) (0.73%)
    420μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.66%)
    380μs
    1 x afterLoad (85.34KB) (0.43%)
    246μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.36%)
    205μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.35%)
    200μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.16%)
    95μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.15%)
    86μs
    1 x afterDispatch (2.25KB) (0.12%)
    68μs
    1 x After Access::getAssetRules (id:2635 name:com_content.article.2143) (7.38KB) (0.09%)
    50μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.08%)
    49μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.01%)
    8μs
21 statements were executed, 5 of which were duplicates, 16 unique19.58ms1.57MB
  • SELECT @@SESSION.sql_mode;28μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 157μ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_id49μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`48μ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` = :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`212μs3.86KBParams/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)317μ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` = 016.05ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`384μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '2143'255μ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)196μ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`251μs3.91KBParams/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)230μ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`172μs3.91KBParams/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)) AND `a`.`access` IN (:preparedArray3,:preparedArray4)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5,:preparedArray6)) 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 ASC463μs4.75KBParams/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`213μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1174μ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)113μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context88μ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)149μ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` = 168μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy