Специальные системы mb*, которые не объявляются в net.cfg, а определяются в файле имя_щита.mb_cfg.
Эти системы не видны в веб-диспетчеризации и доступны обычным системам только из этого же контроллера.
Предназначены для выполнения modbus запросов.
Функция определяет новую переменную:
VAR(строка_тип_переменной,строка_имя_переменной,таблица_опций)
строка_тип_переменной - тип переменной, может иметь значения:
строка_имя_переменной - строка с названием переменной, например, 'DI1.module1'.
таблица_опции - необязательный параметр, в котором можно задать не обязательные опции:
Сначала, на верхнем уровне программы надо определить все переменные с помощью VAR().
Далее необходимо определить функцию run(), которая вызывается один раз:
function run()
end
В функции run() необходимо организовать бесконечный цикл для выполнения запросов modbus.
Бесконечный цикл функции run() должен прерываться для сетевого взаимодействия с другими системами, для обмена переменными, с помощью функции:
wait_from_net_and_sleep(pause_ms)
pause_ms - время задержки в миллисекундах.
Только с помощью этой функции нужно организовывать задержки между запросами.
Специальная таблица v обеспечивает чтение и запись переменных.
--Если определена переменная:
VAR('DS','Переменная')
--тогда чтение переменной:
local s = v['Переменная']
--или запись переменной:
v['Переменная'] = true
Как для обычных систем Lua.
Предназначена для получения времени в миллисекундах с начала работы контроллера. Используется для замеров например полного цикла опроса.
Не использовать mb.new_rtu (device, baud, parity, databits, stopbits), а использовать глобальную функцию rkt_new_rtu(device, baud, parity, databits, stopbits).
Реализовано на основе:
Copyright © 2023 | Москва | ООО «АОВ инженеры» | rktcontr.ru | тел. +7(985)681-58-00 | info@enaov.ru