Добрый день!
Вам нужно обратить внимание на Application -> Library -> Target variables -> переменные sysMbMRtu*
Там есть массивы структур, размерностью от 0 до 127. Каждый элемент массива связан со своим слэйвом.
1.
Цитата
Можно ли из программы Application включать и отключать работу порта RS485-2?
Насчёт отключения порта RS485-2 - не нашёл. Возможно, эта функция не понадобится, если можно запретить обмен по Modbus с этого порта?
2.
Цитата
Можно ли из программы Application включать/отключать опрос отдельных Slave?
Да, можно.
Массив структур
sysMbMRtuNodeDisableWrites ARRAY [127] of bool - "1" в элементе запрещает
запись в устройство
Массив структур
sysMbMRtuNodePresence ARRAY [127] of bool - "0" в элементе запрещает
опрос устройства
Например,
sysMbMRtuNodePresence[2] := FALSE - узел 2 исключён из опроса
3.
Цитата
Как можно получить информацию о том есть ли связь со Slave устройствами? Для этого есть ссылка на sysMbRtuNodeStatus, как применить? Т.е. диагностика работы связи
sysMbMRtuNodeStatus ARRAY[0..127] OF MBMNODESTATUS - массив структур для каждого слэйва
com_hdlr : BYTE; Communication handler
addr_1 : USINT; Network address part 1
addr_2 : USINT; Network address part 2
addr_3 : USINT; Network address part 3
addr_4 : USINT; Network address part 4
cfg : BOOL; Configurated
pres : BOOL; Present - присутствует
miss : BOOL; Slave failure - ошибка слэйва
missCnt: UINT; Number of Task Timed cycles with Slave failure - сколько циклов существует ошибка
Например,
sysMbMRtuNodeStatus[2].pres = TRUE -> узел 2 присутствует
4.
Цитата
Что если не будет связи с одним из Slave, например ATV2? Контроллер опросит ATV1, получит данные. Далее опросит ATV2, получит ошибку по time out и связь зависнет? Или продолжит опрос только для ATV1, а опрос ATV2 будет игнорироваться до установления связи или перезагрузки контроллера.
Если не будет связи с одним из Slave, например ATV2, то обмен будет тормозить, если не отключить из обмена узел с ошибкой.
sysMbMRtuNodeAct USINT - показывает какое устройство опрашивается
Получили ошибку слэйва - отключаете опрос данного слэйва
В зависимости от задачи можно пробовать автоматически возобновлять опрос слэйва и по получению ошибки снова отключать.
5. Не забывайте, что если Альтивар сконфигурирован на канал задания и канал управления по Modbus, то при отключении опроса мастером он по сконфигурированному тайм-ауту в настройках ПЧ выдаст ошибку SLF (serial line fault), которую нужно будет сбросить, например, записав в командное слово CMD значение 128.
Успехов!