Зарегистрирован: Jun 20, 2010 Сообщения: 10 Рейтинг: +0/-0
Добавлено: Вс 31 Июл, 2011 8:50:04 Заголовок сообщения: Синхронизация времени в CPU
Добрый день!
1. Каким образом можно контроллер ControlLogix 5561 синхронизировать с HMI Touch панелью? Соединение CPU с HMI Touch посредством Ethernet, на HMI Touch установлен Intouch. Не могли бы показать примером?
2. Необходимо внести изменения в Controller Properties, в закладке Data/Time, при каких изменениях CPU в закладке Data/Time попросит принять со стопом?
3. Что такое CST, насколько она необходима?
Добавлено: Пн 01 Авг, 2011 8:15:09 Заголовок сообщения: Re: Синхронизация времени в CPU
Ayrat писал(а):
Добрый день!
1. Каким образом можно контроллер ControlLogix 5561 синхронизировать с HMI Touch панелью? Соединение CPU с HMI Touch посредством Ethernet, на HMI Touch установлен Intouch. Не могли бы показать примером?
2. Необходимо внести изменения в Controller Properties, в закладке Data/Time, при каких изменениях CPU в закладке Data/Time попросит принять со стопом?
3. Что такое CST, насколько она необходима?
Спасибо, еще не подскажете как написать скрипт
если на АРМе с именем opr-1 запущен в работу intouch, то должна выполняться определенное условие, например присвоить тэгу syncronize=1, не могли бы привести примером?
Спасибо, еще не подскажете как написать скрипт
если на АРМе с именем opr-1 запущен в работу intouch, то должна выполняться определенное условие, например присвоить тэгу syncronize=1, не могли бы привести примером?
Про intouch не ко мне, если бы про RSView**, тогда другое дело, но и в этом случае мой предыдущий совет никак не связан с каким-либо HMI.
Поставьте Logix5000 Clock Update Tool на своём компьютере с InTouch и сконфигурируйте расписание синхронизации таким образом, чтобы часы в контроллере синхронизировались с часами этого компьютера, например, каждый час. Таким образом, часы контроллера и часы компьютера с InTouch всегда будут идти синхронно. _________________ Обращайтесь к профессионалам.
Поставьте Logix5000 Clock Update Tool на своём компьютере с InTouch и сконфигурируйте расписание синхронизации таким образом, чтобы часы в контроллере синхронизировались с часами этого компьютера, например, каждый час. Таким образом, часы контроллера и часы компьютера с InTouch всегда будут идти синхронно.
Причем по Ethernet погрешность будет около 3 мс, по другой связи думаю будет не сильно хуже.
И лучше делать расписание не ровно в 00 минут, а 01 (02, 03..) минуты - принципиальной разницы не будет, но возможный "бардак" на переходах "зима-лето-зима.." будет исключен.
Только зачем ему это:
Ayrat писал(а):
...как написать скрипт, если на АРМе с именем opr-1 запущен в работу intouch, то должна выполняться определенное условие, например присвоить тэгу syncronize=1, не могли бы привести примером?
Когда был старый Logix5000 Clock Update Tool (времен Logix V13), который не мог синхронизироваться по Ethernet, вот тогда пришлось извращаться...
На том объекте до обновленного Logix5000 Clock Update Tool не дошло.
...как написать скрипт, если на АРМе с именем opr-1 запущен в работу intouch, то должна выполняться определенное условие, например присвоить тэгу syncronize=1, не могли бы привести примером?
Может, имеется в виду скрипт в InTouch? Но и там он не нужен. _________________ Обращайтесь к профессионалам.
...как написать скрипт, если на АРМе с именем opr-1 запущен в работу intouch, то должна выполняться определенное условие, например присвоить тэгу syncronize=1, не могли бы привести примером?
Может, имеется в виду скрипт в InTouch? Но и там он не нужен.
Вопрошающего нет - все превращается в наш диалог.
Я, так и понял, что скрипт нужен в InTouch. Я пас.
Лет 5 назад мы "извернулись" (см. мое предыдущее) - в RSView32 был Event Detector, для пуска программы (made in мой коллега) - запись в Logix по OPC: дата время + бит новая дата, в контроллере кусок кода с SSV на установку даты и времени.
С InTouch такой вариант тоже пройдет (ту программу могу поискать), только зачем? Нас тогда устраивала точность до одной минуты.
Можно баловаться - передавать в контроллер дельту времени в секундах (особо актуально для MicroLogix).
Спасибо, еще не подскажете как написать скрипт
если на АРМе с именем opr-1 запущен в работу intouch, то должна выполняться определенное условие, например присвоить тэгу syncronize=1, не могли бы привести примером?
В итоге выяснилось, что разработчики ПО организовали синхронизацию написанием скрипта в интаче
{ Синхронизация контроллера ПЛК-1}
.....................................................
IF HMI-PLC-HOUR <> $Hour THEN
HMI-PLC-HOUR = $Hour ;
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;
IF HMI-PLC-MINUTE <> $Minute THEN
HMI-PLC-MINUTE = $Minute ;
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;
IF Abs(HMI-PLC-SECOND - $Second) > 10 THEN
HMI-PLC-SECOND = $Second;
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;
IF HMI-PLC-SYNCHRONIZE-INTERN == 1 AND
myNodeName=="opr-1" THEN
HMI-PLC-SYNCHRONIZE = 1;
HMI-PLC-SYNCHRONIZE-INTERN = 0;
ENDIF;
И если HMI-PLC-SYNCHRONIZE = 1, то присваивается например $Minute к внутреннему тегу контроллера Program:ProcessorStatus.HMI_DateTime[4], но дело в том, что там 2 АРМа и 2 контроллера на разных шасси и контроллер синхронизируется то с одним АРМом (opr-1) то со другим АРМом (opr-2), и в итоге получается нестабильность времени. Да можно было бы поставить RSLogix5000 Clock Update, но пока думаю только про скрипт этот myNodeName=="opr-1", он походу не работает.
Вообще проект на 2 аппарата канадский. ПНР и доработку на 5 аппаратов вели наши.
....И если HMI-PLC-SYNCHRONIZE = 1, то присваивается например $Minute к внутреннему тегу контроллера Program:ProcessorStatus.HMI_DateTime[4], но дело в том, что там 2 АРМа и 2 контроллера на разных шасси и контроллер синхронизируется то с одним АРМом (opr-1) то со другим АРМом (opr-2), и в итоге получается нестабильность времени. Да можно было бы поставить RSLogix5000 Clock Update, но пока думаю только про скрипт этот myNodeName=="opr-1", он походу не работает.
Сделай синхронизацию времени между АРМами (настройка служб в Windows) и пусть настраивают оба (на одно и тоже ).
Ayrat писал(а):
Вообще проект на 2 аппарата канадский.
Хоть одним глазком бы глянуть - канадских еще не видел.
Почему бы не выбросить этот скрипт, не поставить на каждую рабочую станцию RSLogix5000 Clock Update и не синхронизировать каждую из станций с помощью сей утилиты об контроллер? _________________ Обращайтесь к профессионалам.
Спасибо большое ВСЕМ!
Дело было в следующем, время в контроллерах было нестабильным,
то и дело в минутах, секундах, иногда и в часах, что влияло на
формирование двухчасовок. Двухчасовки формировались во внутренних переменных контроллера, всего 12. И в итоге влияло на сводку. Т.е.,например 10-00, в ячейку 4 записывалась текущая двухчасовка с 8-00 по 10-00, далее время контроллера "перескакивала" на 9-57 и обратно в 10-00, после которой ячейка 4 обнулялась. ИЗ-ЗА КОРЯВОГО СКРИПТА, КОНТРОЛЛЕРЫ СИНХРОНИЗИРОВАСЬ СРАЗУ С 4-х АРМов.
Можно было бы конечно установить Logix5000 Clock Update Tool
Но в итоге переписал
IF myNodeName == "opr-1" THEN
IF HMI-PLC-YEAR <> $Year THEN
HMI-PLC-YEAR = $Year ;
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;
IF HMI-PLC-MONTH <> $Month THEN
HMI-PLC-MONTH = $Month ;
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;
IF HMI-PLC-DATE<> $Day THEN
HMI-PLC-DATE = $Day ;
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;
IF HMI-PLC-HOUR <> $Hour THEN
HMI-PLC-HOUR = $Hour ;
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;
IF HMI-PLC-MINUTE <> $Minute THEN
HMI-PLC-MINUTE = $Minute ;
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;
IF Abs(HMI-PLC-SECOND - $Second) > 10 THEN
HMI-PLC-SECOND = $Second;
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;
IF HMI-PLC-SYNCHRONIZE-INTERN == 1 THEN
HMI-PLC-SYNCHRONIZE = 1;
HMI-PLC-SYNCHRONIZE-INTERN = 0;
ENDIF;
ENDIF;
И она работает, пробывал менять время в 3-х АРМах время в контроллере не меняется, поменял в oper-1 время изменилось.
Время в системе АСУТП должна быть единой, т.е. синхронизироваться. В моем случае данные с ControLogix 5561 через FSGateway в Intouch (это на сервере историй, скрипт на АРМ оператора) далее в INSQL Server. Есть программа которая собственно и берет данные с INSQL Server и формирует сводку
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна. Открытие страницы: 0.138 секунды