Tài liệu này thuộc quyền sở hữu công ty TNHH Tự Động Hóa và Tin Học Công Nghiệp Bách Khoa (BKAII). Bất kỳ sự sao chép, sử dụng và tiết lộ mà không được sự cho phép từ phía công ty là vi phạm pháp luật của nước Cộng Hoà XHCN Việt Nam. Tài liệu này chỉ được sử dụng cho các thành viên và khách hàng của BKAII.

Nport 5150A là bộ chuyển đổi tín hiệu, cho phép truyền đổi dữ liệu hai chiều từ cổng vật lý RS232/RS485/RS422 sang Ethernet, hiện đang được BKAII phân phối và sử dụng rộng rãi trong nhiều ứng dụng tự động hóa và trạm điện. Hôm nay, BKAII xin giới thiệu với các bạn giải pháp sử dụng bộ chuyển đổi Nport 5150A trong bài toán truyền thông sử dụng giao thức DNP3. Mô hình bài toán như sau: Nport 5150A sẽ đóng vai trò là thiết bị trung chuyển, truyền dữ liệu  theo giao thức DNP3 từ thiết bị tại hiện trường như các RTU,IED,....về máy tính trung tâm scada theo giao thức DNP3.

 Để bạn đọc có cái nhìn trực quan, chúng tôi sẽ sử dụng ứng dụng Protocol Test Harness để mô phỏng DNP3 master và DNP3 serial ở hiện trường, mô hình demo sẽ như sau:

Trước hết, chúng ta sẽ cấu hình bộ chuyển đổi Nport 5150A cho bài toán này:

Chạy chương trình "NPort Windows Driver Manager" , click "Add" để map com ảo với cổng serial của Nport 5150A như hình dưới:

Tiếp theo, chúng ta sẽ cấu hình các thông số cho cổng serial của bộ Nport 5150A. Trên trình duyệt web cấu hình, click "Serial Setting ->Port 1" để setup các thông số như hình dưới:

  Tiếp theo, chúng ta sẽ chọn mode làm việc của bộ chuyển đổi là "Real COM" như hình dưới:

Bước tiếp theo, chúng ta sẽ cấu hình cho thiết bị DNP3 tại hiện trường ( là các RTU, IDE,....)

Mở chương trình Protocol Test harness, Chọn "Open -> Slave session  -> DNP3" để tạo mới một channel và session như ảnh dưới:

 Trong "session" tab, chúng ta sẽ cài đặt thông số cho "Link layer Addresses" như hình dưới:

Trong tab "Channel", chọn "Connection Type" là " Serial" và điền các thông số cấu hình của cổng serial như hình dưới (lưu ý thông số này phải giống thông số cấu hình cho cổng serial của bộ Nport):

Sau khi cấu hình xong, click "Open" để khởi động DNP3 tại hiện trường.

Tiếp theo, chúng ta sẽ cấu hình cho DNP3 master

Trong chương trình "protocol Test Harness", chọn "Open -> Master Session -> DNP3" để tạo một DNP3 Master channel và session như hình dưới:

Trong tab "session", chúng ta cài đặt thông số của "Link Layer Addresses" như ảnh dưới:

 Tiếp theo, ở tab "channel" , chọn "Connection Type" là serial và điền các thông số truyền thông của cổng serial. Click "Advanced settings" để cấu hình các thông số khác nếu cần. Sau khi xong các thông số của serial, click "Open" để khởi động DNP3 master như hình dưới:

Như vậy, ta đã xong phần cấu hình cho DPN3 master, DNP3 tại hiện trường và bộ chuyển đổi Nport 5150A. Tiếp theo, chúng ta sẽ thử truyền thông DNP3. 

Trong "DNP3 commands", click "Integrity Data poll - Class 0123". Cài đặt thông số "Repeat Interval" là 10 giây. Click "Start Repeat" để bắt đầu test demo.

Trong giao diện "Statistics" như ảnh dưới, chúng ta có thể thấy: hai ô "Request Sent" và "Responses Received" được tăng đều. Thông thường, mô phỏng thành công thì các trường Request fail, request timeout, channel errors sẽ đều là 0 các bạn nhé.

Như vậy, chúng ta đã test thành công. Nếu cần biết thêm chi tiết về thiết bị và giải pháp, xin vui lòng liên hệ với BKAII để được hỗ trợ và tư vấn miễn phí, các bạn nhé!

Xem thêm:

"BKAII - Thiết bị truyền thông trong công nghiệp TỐT nhất với giá CẠNH TRANH nhất!"

We are online - chat with us!
Sorry, we are not online at the moment. Leave a message and we will get back to you.
Please give us some info to serve you better.
×
File size larger than 50 Mb
×
File type not allowed
Send chat transcript to your email:
×
Transcript sent!
Are you sure you want to close this chat?
Thank you. We would appreciate it if you could rate this chat

No, thanks
27.637MBMemory Usage318msRequest Duration
Joomla! Version4.4.13
PHP Version8.1.29
Identityguest
Response200
Templatet3_bs3_blank
Database
Server
mysql
Version
10.11.8-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
array:2 [ "print" => "1" "tmpl" => "component" ]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:50 [ "PATH" => "/usr/local/bin:/bin:/usr/bin" "HTTP_ACCEPT" => "text/html,application/xhtm...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1749018580 "last" => 1749018580...
registry
array:3 [ "data" => array:3 [ "current_theme" => "red" "current_direction" => "ltr" "c...
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (4.1MB) (27.61ms)
  • afterInitialise (7.13MB) (64.39ms)
  • afterRoute (4.34MB) (71.43ms)
  • beforeRenderComponent com_content (380.38KB) (3.62ms)
  • Before Access::preloadComponents (all components) (477.52KB) (4.07ms)
  • After Access::preloadComponents (all components) (121.71KB) (906μs)
  • Before Access::preloadPermissions (com_content) (4.07KB) (26μs)
  • After Access::preloadPermissions (com_content) (1.09MB) (3.52ms)
  • Before Access::getAssetRules (id:723 name:com_content.article.545) (66.8KB) (68μs)
  • After Access::getAssetRules (id:723 name:com_content.article.545) (26.37KB) (350μs)
  • afterRenderComponent com_content (2.72MB) (75.37ms)
  • afterDispatch (1.93KB) (119μs)
  • afterRender (6.83MB) (65.16ms)
  • 1 x afterRenderComponent com_content (2.72MB) (23.73%)
    75.37ms
    1 x afterRoute (4.34MB) (22.49%)
    71.43ms
    1 x afterRender (6.83MB) (20.51%)
    65.16ms
    1 x afterInitialise (7.13MB) (20.27%)
    64.39ms
    1 x afterLoad (4.1MB) (8.69%)
    27.61ms
    1 x Before Access::preloadComponents (all components) (477.52KB) (1.28%)
    4.07ms
    1 x beforeRenderComponent com_content (380.38KB) (1.14%)
    3.62ms
    1 x After Access::preloadPermissions (com_content) (1.09MB) (1.11%)
    3.52ms
    1 x After Access::preloadComponents (all components) (121.71KB) (0.29%)
    906μs
    1 x After Access::getAssetRules (id:723 name:com_content.article.545) (26.37KB) (0.11%)
    350μs
    1 x afterDispatch (1.93KB) (0.04%)
    119μs
    1 x Before Access::getAssetRules (id:723 name:com_content.article.545) (66.8KB) (0.02%)
    68μs
    1 x Before Access::preloadPermissions (com_content) (4.07KB) (0.01%)
    26μs
34 statements were executed, 11 of which were duplicates, 23 unique13.72ms1.24MB
  • SELECT @@SESSION.sql_mode;65μs1.57KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `idc_session` WHERE `session_id` = ?116μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `idc_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1297μs1.73KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `idc_viewlevels`85μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `idc_usergroups` AS `a` LEFT JOIN `idc_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest138μs2.27KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `idc_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`659μs4.3KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `idc_menu` AS `m` LEFT JOIN `idc_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`4.57ms820.55KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • 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 `idc_categories` AS `s` INNER JOIN `idc_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`331μs5.11KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `idc_template_styles` AS `s` LEFT JOIN `idc_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1225μs2.45KB/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT * FROM `idc_languages` WHERE `published` = 1 ORDER BY `ordering` ASC131μs2.22KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `idc_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,:preparedArray40,:preparedArray41,:preparedArray42,:preparedArray43,:preparedArray44)509μs8.12KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `idc_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 01.37ms173.8KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `idc_content`551μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `idc_content` SET `hits` = (`hits` + 1) WHERE `id` = '545'231μs48B/libraries/src/Table/Table.php:1325Copy
  • 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 `idc_content` AS `a` INNER JOIN `idc_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `idc_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `idc_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `idc_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `idc_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)412μs24.63KBParams/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 `idc_categories` AS `s` INNER JOIN `idc_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`347μs5.16KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `idc_contentitem_tag_map` AS `m` INNER JOIN `idc_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)205μs7.72KBParams/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 `idc_categories` AS `s` INNER JOIN `idc_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`410μs5.16KBParams/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 idc_fields AS a LEFT JOIN `idc_languages` AS l ON l.lang_code = a.language LEFT JOIN idc_users AS uc ON uc.id=a.checked_out LEFT JOIN idc_viewlevels AS ag ON ag.id = a.access LEFT JOIN idc_users AS ua ON ua.id = a.created_user_id LEFT JOIN idc_fields_groups AS g ON g.id = a.group_id LEFT JOIN `idc_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 ASC824μs6KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • 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 `idc_categories` AS `s` INNER JOIN `idc_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`409μs5.16KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT * FROM idc_hikashop_config346μs152.94KB/administrator/components/com_hikashop/classes/config.php:16Copy
  • SET sql_mode=(SELECT REPLACE(REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''), 'STRICT_TRANS_TABLES', ''));40μs0B/administrator/components/com_hikashop/helpers/helper.php:3422Copy
  • 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 `idc_scheduler_tasks` AS `a` WHERE `a`.`state` = 1134μs1.68KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `alias` FROM `idc_content` WHERE `id` = :id100μs1.63KBParams/components/com_content/src/Service/Router.php:168Copy
  • 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 `idc_categories` AS `s` INNER JOIN `idc_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`324μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `idc_content` WHERE `id` = :id106μs1.63KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `idc_content` WHERE `id` = :id83μs1.63KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `idc_content` WHERE `id` = :id103μs1.63KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `idc_content` WHERE `id` = :id91μs1.63KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `idc_content` WHERE `id` = :id75μs1.63KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `idc_content` WHERE `id` = :id73μs1.63KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `idc_content` WHERE `id` = :id71μs1.63KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `session_id` FROM `idc_session` WHERE `session_id` = ?88μs12.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • INSERT INTO `idc_session` (`data`,`time`,`session_id`) VALUES (?, ?, ?)192μs864BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy