Last modified by superadmin on 2026/06/15 21:57

From version 2.1
edited by admin
on 2026/06/07 08:06
Change comment: Set default code macro language to java
To version 1.2
edited by admin
on 2026/05/30 23:27
Change comment: Normalize links: remove text-decoration:none

Summary

Details

Page properties
Content
... ... @@ -277,7 +277,7 @@
277 277  (% style="text-align: left;" %)
278 278  Подключение прикладного Lua-модуля осуществляется функцией require. Рекомендуемая форма использования:
279 279  
280 -{{code language="java"}}
280 +{{code}}
281 281  local log = require("log")
282 282  {{/code}}
283 283  
... ... @@ -284,7 +284,7 @@
284 284  (% style="text-align: left;" %)
285 285  Вызвать функцию Lua-модуля в таком случае можно следующим образом, например:
286 286  
287 -{{code language="java"}}
287 +{{code}}
288 288  local logger = log.get_logger("MyLogger")
289 289  {{/code}}
290 290  
... ... @@ -402,7 +402,7 @@
402 402  (% style="text-align: left;" %)
403 403  В перечислении {{code language="none"}}fec.TYPE{{/code}} описаны различные типы периферии. Для управления пригодны типы {{code language="none"}}fec.TYPE.RELE{{/code}} (выход на плате контроллера) и {{code language="none"}}fec.TYPE.SART_RELE{{/code}} (выход на модуле расширения). Для управления выходами следует использовать функцию set_value(тип периферии, ID элемента, состояние), где в первый параметр необходимо передать одно из значений перечисления {{code language="none"}}fec.TYPE{{/code}}, во второй параметр — идентификатор (адрес) элемента для управления, в третий параметр — требуемое состояние (для выходов это 0 = Выключено, 1 = Включено). Например:
404 404  
405 -{{code language="java"}}
405 +{{code}}
406 406  local fec = require("fec")
407 407  fec.set_value(fec.TYPE.RELE, 1, 1)
408 408  {{/code}}
... ... @@ -419,7 +419,7 @@
419 419  (% style="text-align: left;" %)
420 420  Поскольку управление светодиодной / звуковой индикацией на считывателях осуществляется в рамках алгоритмов доступа и состояние красного, зелёного светодиодов и звука взаимосвязано (если красный светодиод горит, то зелёный погашен и др.) — для удобства управления всей индикацией реализована функция-обёртка {{code language="none"}}fec.set_reader(ID считывателя, зелёный светодиод, красный светодиод, звук){{/code}}. Пример использования функции приведён ниже:
421 421  
422 -{{code language="java"}}
422 +{{code}}
423 423  local fec = require("fec")
424 424  fec.set_reader(1, fec.DIOD.MODE_OFF, fec.DIOD.MODE_025_025, fec.BEEPER.MODE_OFF)
425 425  {{/code}}
... ... @@ -441,7 +441,7 @@
441 441  (% style="text-align: left;" %)
442 442  Ниже приведён пример использования модуля HTTP для отправки GET-запроса на IP-адрес веб-сайта (% class="nolink" %)http:~/~/example.com.
443 443  
444 -{{code language="java"}}
444 +{{code}}
445 445  local log = require("log")
446 446  local http = require("http")
447 447  local logger = log.get_logger("script.lua")
... ... @@ -491,7 +491,7 @@
491 491  (% style="text-align: left;" %)
492 492  Пример:
493 493  
494 -{{code language="java"}}
494 +{{code}}
495 495  -- параметры запроса
496 496  local http_request = {
497 497   url = "http://93.184.216.34",
... ... @@ -513,7 +513,7 @@
513 513  (% style="text-align: left;" %)
514 514  Для передачи запроса с телом в форме текста достаточно присвоить параметру запроса body соответствующее строковое значение. Например:
515 515  
516 -{{code language="java"}}
516 +{{code}}
517 517  local http_request = {
518 518   url = "http://10.1.30.3:8080/myservice",
519 519   method = http.METHOD.POST,
... ... @@ -526,7 +526,7 @@
526 526  (% style="text-align: left;" %)
527 527  Модуль также позволяет передавать запрос с телом в форме JSON-документа, который автоматически формируется из Lua-таблицы. Например:
528 528  
529 -{{code language="java"}}
529 +{{code}}
530 530  local http_request = {
531 531   url = "http://10.1.30.3:8080/myservice",
532 532   method = http.METHOD.POST
... ... @@ -597,7 +597,7 @@
597 597  (% style="text-align: left;" %)
598 598  Пример приведён ниже:
599 599  
600 -{{code language="java"}}
600 +{{code}}
601 601  local log = require("log")
602 602  local logger = log.get_logger("MyLogger")
603 603   
... ... @@ -734,7 +734,7 @@
734 734  
735 735  Получить список точек доступа с их идентификаторами можно через поле {{code language="none"}}lonpacs.ap_instance{{/code}}, которое заполняется при инициализации модуля и виртуальной Lua-машины (до того, как будет выполняться пользовательский Lua-скрипт). Поле {{code language="none"}}lonpacs.ap_instance{{/code}} содержит Lua-таблицу, в которой ключами являются токены точек доступа, а значениями — Lua-таблицы с системными параметрами точек доступа. Структура таблицы представлена в коде ниже:
736 736  
737 -{{code language="java"}}
737 +{{code}}
738 738  lonpacs.ap = {
739 739   "токен первой точки доступа" = {
740 740   ...
... ... @@ -1133,7 +1133,7 @@
1133 1133  
1134 1134  Функция {{code language="none"}}parse_ap_status{{/code}} возвращает Lua-таблицу следующего вида:
1135 1135  
1136 -{{code language="java"}}
1136 +{{code}}
1137 1137  {
1138 1138   door_state = ..
1139 1139   lock_state = ..
... ... @@ -1304,7 +1304,7 @@
1304 1304  (% style="text-align: left;" %)
1305 1305  Получить список точек доступа с их идентификаторами можно через поле {{code language="none"}}pacs.ap{{/code}}, которое заполняется при инициализации модуля и виртуальной Lua-машины (до того, как будет выполняться пользовательский Lua-скрипт). Поле {{code language="none"}}pacs.ap{{/code}} содержит Lua-таблицу, в которой ключами являются токены точек доступа, а значениями — Lua-таблицы с системными параметрами точек доступа. Структура таблицы представлена в коде ниже:
1306 1306  
1307 -{{code language="java"}}
1307 +{{code}}
1308 1308  pacs.ap = {
1309 1309   "токен первой точки доступа" = {
1310 1310   "#" = 0,
... ... @@ -1320,7 +1320,7 @@
1320 1320  (% style="text-align: left;" %)
1321 1321  Соответственно, для перебора точек доступа (например, чтобы для каждой точки доступа проинциализировать свой алгоритм) удобно использовать следующий код:
1322 1322  
1323 -{{code language="java"}}
1323 +{{code}}
1324 1324  for key,item in pairs(pacs.ap) do
1325 1325   if item["#"] == 0 or item["#"] == 1 then
1326 1326   -- код обработки точки доступа с токеном = key
... ... @@ -1423,7 +1423,7 @@
1423 1423  (% style="text-align: left;" %)
1424 1424  В режиме доступа «Пользовательский» для реализации алгоритма может потребоваться задать из Lua-скрипта для каждой точки доступа системные параметры. Для указания параметров из Lua-скрипта предназначена функция {{code language="none"}}pacs.set_configuration(token, {...}){{/code}}, в первом аргументе необходимо передать токен точки доступа, во втором аргументе — Lua-таблицу с параметрами. Например:
1425 1425  
1426 -{{code language="java"}}
1426 +{{code}}
1427 1427  for key,item in pairs(pacs.ap) do
1428 1428   local configuration = {}
1429 1429   configuration["input.mode"] = "card"
... ... @@ -1555,7 +1555,7 @@
1555 1555  {{info title="ВНИМАНИЕ"}}
1556 1556  В данном случае это должны быть именно «глобальные функции», определённые, например, следующим образом:
1557 1557  
1558 -{{code language="java"}}
1558 +{{code}}
1559 1559  function pacs_reader_input(token, data)
1560 1560   -- тело функции
1561 1561  end
... ... @@ -1563,7 +1563,7 @@
1563 1563  
1564 1564  Локальные функции с таким же именем не будут вызваны:
1565 1565  
1566 -{{code language="java"}}
1566 +{{code}}
1567 1567  local pacs_reader_input = function(token, data)
1568 1568   -- функция не будет вызвана
1569 1569  end
... ... @@ -1596,7 +1596,7 @@
1596 1596  
1597 1597  В первом аргументе {{code language="none"}}token{{/code}} передаётся токен точки доступа, на которой предъявлен идентификатор; во втором аргументе передаётся Lua-таблица с идентификаторами:
1598 1598  
1599 -{{code language="java"}}
1599 +{{code}}
1600 1600  {
1601 1601   "facility_code" = "123",
1602 1602   "card_number" = "12345",
... ... @@ -1622,7 +1622,7 @@
1622 1622  
1623 1623  Второй аргумент {{code language="none"}}args{{/code}} — параметры разрешения доступа:
1624 1624  
1625 -{{code language="java"}}
1625 +{{code}}
1626 1626  {
1627 1627   "use_extended_time" = true,
1628 1628   "access_time_duration" = число (unix-timestamp),
... ... @@ -1771,7 +1771,7 @@
1771 1771  (% style="text-align: left;" %)
1772 1772  При изменении состояния какого-либо элемента периферии (обычно, это различные входы) вызывается функция-обработчик {{code language="none"}}pacs_input{{/code}}. Ниже приведён Lua-код, который позволит в зависимости от типа элемента периферии получить его логическое состояние.
1773 1773  
1774 -{{code language="java"}}
1774 +{{code}}
1775 1775  local fec = require("fec")
1776 1776   
1777 1777  -- Логическое состояние элемента
... ... @@ -1855,7 +1855,7 @@
1855 1855  (((
1856 1856  Первый аргумент — токен точки доступа. Второй аргумент — Lua-таблица с идентификаторами (такая же, какая получена в функции-обработчике {{code language="none"}}pacs_reader_input{{/code}}):
1857 1857  
1858 -{{code language="java"}}
1858 +{{code}}
1859 1859  {
1860 1860   "facility_code" = "123",
1861 1861   "card_number" = "12345",
... ... @@ -1944,7 +1944,7 @@
1944 1944  
1945 1945  Второй аргумент — Lua-таблица со значением состояния по различным «осям»:
1946 1946  
1947 -{{code language="java"}}
1947 +{{code}}
1948 1948  {
1949 1949   "lock" = Unlocked,
1950 1950   "door" = Open,
... ... @@ -1985,7 +1985,7 @@
1985 1985  (% style="text-align: left;" %)
1986 1986  Пример использования модуля приведён ниже:
1987 1987  
1988 -{{code language="java"}}
1988 +{{code}}
1989 1989  local storage = require("storage")
1990 1990   
1991 1991  local my_options = storage.get("my_key")
... ... @@ -2040,7 +2040,7 @@
2040 2040  (% style="text-align: left;" %)
2041 2041  Пример:
2042 2042  
2043 -{{code language="java"}}
2043 +{{code}}
2044 2044  local log = require("log")
2045 2045  local logger = log.get_logger("script.lua")
2046 2046   

Интерфейс НЕЙРОСС