This is topic Резервирование ПЛК in forum Общие вопросы / Common questions at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/45/t/000123.html

Posted by Demus1 (Участник № / Member № 3844) on :
 
Есть 2 ПЛК, подключены по Ethernet. Необходимо сделать из них один рзервный, а другой основной. Критерий выхода из строя ПЛК - потеря связи с TM. Возможно ли это с ТМ6 и как это сделать?
Мой вариант (пока только в задумке): читать атрибут аппаратная недостоверность для каждого канала, в случае установления этого признака у одного из каналов, программно перекидываю на каналы со второго ПЛК и посылаю ему команду перейти в рабочий режим.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Задумка правильная.
Только при этом надо обеспечить переадресацию остальных каналов связи, получающих информацию от ПЛК и передающих управляющие команды.
 
Posted by Demus1 (Участник № / Member № 3844) on :
 
Есть ли способы для переадресации каналов input и output, кроме следующего:
Источники/приемники для ПЛК1 связываем с каналами для ПЛК1. Тоже делаем для ПЛК2. Делаем программу, где входами будут все каналы для 1 и 2 ПЛК. Выходов будет в 2 раза меньше. В программе также входным аргументом будет аппаратная недостоверность одного из каналов (любого, т.к. при выходе из строя линии связи или ПЛК у всех будет этот атрибут=1). Допустим у меня 4 канала у одного и 4 у другого. Я беру 2 FBD блока Пересылка четырех значений (MOVE4) и на один из входов управления состоянием подаю сигнал аппаратной недостоверности, а на другой тот же, но инверсный сигнал.
Выходы каждого блока суммирую попарно и получаю уже каналы, которые буду использовать для управления и отображения. Также сигнал апп. недостоверности будет передаваться в каждый ПЛК для управления режимом работы.
Оцените, пожалуйста будет ли работать такая схема и что еще нужно добавить?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Такая программа работать не будет, т.к. если FB не пересчитывается, на его выходах сохраняются последние пересчитанные значения.
При таком алгоритме надо на каждую пару одноименных входов от разных контроллеров ставить не MOVE и SUM, а SEL.
Сейчас другого варианта нет.
Но в следующем релизе будет возможность переключать, например, IP-адреса источников MODBUS TCP.
 
Posted by Demus1 (Участник № / Member № 3844) on :
 
quote:
Отправитель / Originally posted by AdAstra Technical Support:

Сейчас другого варианта нет.
Но в следующем релизе будет возможность переключать, например, IP-адреса источников MODBUS TCP.

Появилась ли такая возможность для резервирования в 6.07?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Да, такая возможность есть.

Реализовать это можно через канал канал Call.ChGroupReq, к которому привязана источник @e_TCP_ModBus.

С помощью такого канала Call можно проводить диагностику состояния соединения.

Также этот канал позволяет произвести переключение IP-адресов источников.

Для этого в атрибуте (90, I0) канала Call.ChGroupReq нужно задать адрес источников, которые требуется переключить на новый IP-адресс. В атрибуте 98, C5 задать номер протокола (например, для Modbus это 9). А в атрибут 97, C4 ввести 10. После этого произойдет переключение на новый IP-адрес.
Если провести эту процедуру еще раз, то источники переключатся на первоначальный IP-адрес.

Для задания резервных IP-адресов, для источников в файле ip_modbus, после строки определяющей IP-адрес источника нужно добавить строку "TCP2=<адрес резервного источника>". Следует отметить, что ip-адрес резервного устройства в файл ip_modbus нужно вносить после сохранения проекта для МРВ. После нового сохранения для МРВ информация в файле ip_modbus будет затёрта.

Подробно данный механизм описан в разделе справочной системы «Управление и диагностика обмена по встроенным протоколам».
 
Posted by Demus1 (Участник № / Member № 3844) on :
 
Спасибо.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2