 | |
Предыдущие результаты
Всем снова привет!
У меня возникла проблема следующая: не могу установить связь между панелью и контроллером.
В rs logix 500 установил коммуникационный порт 1 в DF1, в общем по умолчанию остальное.
порт 0 используется для связи с компьютером
в factorytalk не знаю что и как настраивать. В разделе "рс-линкс энтерпрайз" создаю драйвер, устройство но там не видит контроллер...
PS Панель соединена с контроллером кабелем штатным.
Помогите.
|
Спасибо большое ВСЕМ!
Дело было в следующем, время в контроллерах было нестабильным,
то и дело в минутах, секундах, иногда и в часах, что влияло на
формирование двухчасовок. Двухчасовки формировались во внутренних переменных контроллера, всего 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 и формирует сводку
|
Почему бы не выбросить этот скрипт, не поставить на каждую рабочую станцию RSLogix5000 Clock Update и не синхронизировать каждую из станций с помощью сей утилиты об контроллер?
|
[quote:6af5cfce99="dv_"][quote:6af5cfce99="Ayrat"]Вообще проект на 2 аппарата канадский. [/quote:6af5cfce99]
Хоть одним глазком бы глянуть - канадских еще не видел.[/quote:6af5cfce99]
Но потенциальную угрозу усмотрел:
[quote:6af5cfce99="Ayrat"]IF [color=red:6af5cfce99]HMI-PLC-HOUR[/color:6af5cfce99] <> [color=red:6af5cfce99]$Hour[/color:6af5cfce99] THEN
[color=red:6af5cfce99]HMI-PLC-HOUR[/color:6af5cfce99] = [color=red:6af5cfce99]$Hour [/color:6af5cfce99];
HMI-PLC-SYNCHRONIZE-INTERN = 1;
ENDIF;[/quote:6af5cfce99]
Читаем и пишем в одну переменную :(
Ох, будут проблемы даже с применением [b:6af5cfce99]Logix5000 Clock Update Tool[/b:6af5cfce99] - в контроллере придется удалять "зловредный код".
|
[quote:489efc5320="Ayrat"]....И если HMI-PLC-SYNCHRONIZE = 1, то присваивается например $Minute к внутреннему тегу контроллера Program:ProcessorStatus.HMI_DateTime[4], но дело в том, что там 2 АРМа и 2 контроллера на разных шасси и контроллер синхронизируется то с одним АРМом (opr-1) то со другим АРМом (opr-2), и в итоге получается нестабильность времени. Да можно было бы поставить RSLogix5000 Clock Update, но пока думаю только про скрипт этот myNodeName=="opr-1", он походу не работает. [/quote:489efc5320]
Сделай синхронизацию времени между АРМами (настройка служб в Windows) и пусть настраивают оба (на одно и тоже :D ).
[quote:489efc5320="Ayrat"]Вообще проект на 2 аппарата канадский. [/quote:489efc5320]
Хоть одним глазком бы глянуть - канадских еще не видел.
|
[quote:7149a391ed="Ayrat"]Спасибо, еще не подскажете как написать скрипт
если на АРМе с именем opr-1 запущен в работу intouch, то должна выполняться определенное условие, например присвоить тэгу syncronize=1, не могли бы привести примером?[/quote:7149a391ed]
В итоге выяснилось, что разработчики ПО организовали синхронизацию написанием скрипта в интаче
{ Синхронизация контроллера ПЛК-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 аппаратов вели наши.
|
[quote:c94600aaca="oldDad"][quote:c94600aaca="dv_"]Только зачем ему это:
[quote:c94600aaca="Ayrat"]...как написать скрипт, если на АРМе с именем opr-1 запущен в работу intouch, то должна выполняться определенное условие, например присвоить тэгу syncronize=1, не могли бы привести примером?[/quote:c94600aaca][/quote:c94600aaca]
Может, имеется в виду скрипт в InTouch? Но и там он не нужен.[/quote:c94600aaca]
Вопрошающего нет - все превращается в наш диалог.
Я, так и понял, что скрипт нужен в InTouch. Я пас.
Лет 5 назад мы "извернулись" (см. мое предыдущее) - в RSView32 был [b:c94600aaca]Event Detector[/b:c94600aaca], для пуска программы (made in мой коллега) - запись в Logix по OPC: дата время + бит [i:c94600aaca]новая дата[/i:c94600aaca], в контроллере кусок кода с [b:c94600aaca]SSV[/b:c94600aaca] на установку даты и времени.
С [b:c94600aaca]InTouch [/b:c94600aaca]такой вариант тоже пройдет (ту программу могу поискать), только зачем? Нас тогда устраивала точность до одной минуты.
Можно баловаться - передавать в контроллер дельту времени в секундах (особо актуально для MicroLogix).
|
[quote:cc645dea36="oldDad"][b:cc645dea36]2 Ayrat[/b:cc645dea36]
Поставьте Logix5000 Clock Update Tool на своём компьютере с InTouch и сконфигурируйте расписание синхронизации таким образом, чтобы часы в контроллере синхронизировались с часами этого компьютера, например, каждый час. Таким образом, часы контроллера и часы компьютера с InTouch всегда будут идти синхронно.[/quote:cc645dea36]
Причем по Ethernet погрешность будет около 3 мс, по другой связи думаю будет не сильно хуже.
И лучше делать расписание не ровно в 00 минут, а 01 (02, 03..) минуты - принципиальной разницы не будет, но возможный "бардак" на переходах "зима-лето-зима.." будет исключен.
Только зачем ему это:
[quote:cc645dea36="Ayrat"]...как написать скрипт, если на АРМе с именем opr-1 запущен в работу intouch, то должна выполняться определенное условие, например присвоить тэгу syncronize=1, не могли бы привести примером?[/quote:cc645dea36]
Когда был старый [b:cc645dea36]Logix5000 Clock Update Tool[/b:cc645dea36] (времен Logix V13), который не мог синхронизироваться по Ethernet, вот тогда пришлось извращаться...
На том объекте до обновленного [b:cc645dea36]Logix5000 Clock Update Tool [/b:cc645dea36]не дошло.
|
[b:042ab3c8ec]2 Ayrat[/b:042ab3c8ec]
Поставьте Logix5000 Clock Update Tool на своём компьютере с InTouch и сконфигурируйте расписание синхронизации таким образом, чтобы часы в контроллере синхронизировались с часами этого компьютера, например, каждый час. Таким образом, часы контроллера и часы компьютера с InTouch всегда будут идти синхронно.
|
[quote:1422f0cd7d="Ayrat"]Добрый день!
1. Каким образом можно контроллер ControlLogix 5561 синхронизировать с HMI Touch панелью? Соединение CPU с HMI Touch посредством Ethernet, на HMI Touch установлен Intouch. Не могли бы показать примером?
2. Необходимо внести изменения в Controller Properties, в закладке Data/Time, при каких изменениях CPU в закладке Data/Time попросит принять со стопом?
3. Что такое CST, насколько она необходима?[/quote:1422f0cd7d]
1. [url=http://www.rockwellsoftware.com/support/download/detail.cfm?ID=3837][b:1422f0cd7d]Logix5000 Clock Update Tool[/b:1422f0cd7d][/url] работает через [b:1422f0cd7d]RSLinx[/b:1422f0cd7d] - настрой связи и задай расписание.
[URL=http://piccy.info/][img:1422f0cd7d]http://i.piccy.info/i5/51/27/1802751/ClockSync.png[/img:1422f0cd7d][/URL]
2. Суть вопроса не понятна. Там для ручных действий: синхронизации с РС или просто ввод нужного.
3. Относительное время от момента включения контроллера. Есть модули которым это время необходимо, особенно в [b:1422f0cd7d]Motion[/b:1422f0cd7d].
|
Предыдущие результаты
Ещё результаты |
|
| |
|