system(35, <аргумент>)
Вызов функции system(35, <аргумент>) применяется на мастер-модуле для принудительного обмена с модулем ввода-вывода данными из блоков "statistic" и "param".
Для справки! В модулях ввода-вывода фирмы TREI имеются стандартные блоки:
![]() Мастер-модуль и модуль ввода-вывода автоматически обмениваются данными из блоков "in" и "out": данные со входов модуля ввода-вывода в начале каждого цикла контроллера передаются на мастер-модуль и записываются в блок "in" соответствующей модульной структуры, а в конце цикла данные из блока "out" модульной структуры передаются на модуль ввода-вывода, где записываются в выходные каналы.
Обмен данными для блоков "statistic" и "param" между мастер-модулем и модулем ввода-вывода осуществляется только по запросу. Для этого используются параметры "read_statistic", "read_param" и "write_param" из служебного блока "control" модульной структуры. Пока значение параметра TRUE, обмен соответствующими данными осуществляется в каждом цикле контроллера.
![]() Альтернативным вариантом обмена данными "statistic" и "param" между мастер-модулем и модулем ввода-вывода является вызов системной функции system(35, ...).
|
Формат аргумента функции:
|
3 байт
|
2 байт
|
1 байт
|
0 байт
| |||
|
7 бит
|
…
|
1 бит
|
0 бит
| |||
|
Всегда равен 0
|
Адрес модуля
|
Номер блока
|
|
|
Выполнить запись
|
Выполнить чтение
|
Пример формирования аргумента для записи блока №3 "param" на модуль ввода-вывода с адресом 5:

Примеры вызовов:
Ret_Val:=SYSTEM(35, 16#010301); //Чтение блока 3 с модуля 1;
Ret_Val:=SYSTEM(35, 16#050301); //Запись блока 3 на модуль 5.
|
Функция возвращает код завершения операции:
|
Код
|
Краткое описание
|
|
0
|
Команда не выполнена (ошибка в передаваемых значениях / модуль не в работе и т.д.)
|
|
1
|
Команда “Выполнить чтение” поставлена в очередь
|
|
2
|
Команда “Выполнить запись” поставлена в очередь
|


