PDA

Просмотр полной версии : ИП 320-2007 г.- авт. смена экранов не робит



kait-leon
11.12.2011, 13:42
На объекте стоит ПР-110. По пожеланиям задумал вывести всё на панель через МИ 485. Всвязи с бюджетностью, т. е. инициатива наша, нашёл у себя дома панельку 320-одна из первых 2007 г. выпуска. Не помню по каким причинам я её не использовал, но рабочая. Нашёл конф 6,5 начертал и ...... Короче работает всё-регистры и т. д. кроме смены экрана. Как только добавляю регистр смены экрана то полный нон стоп.. Создал отдельный проект для ПР с генератором страниц по кругу с 1-4 и одна выходная целочисленная перем. и соответственно для 320 4-экрана. Перепробовал всё и ничего. Может сама панель в то время не имела такой функции?

kait-leon
12.12.2011, 12:54
Похоже я понял в чём дело. Панель суёт в регистр зачем то "0" после выполнения перехода. Вот и происходит затык. Хотя зачем это сделано для меня непонятно если есть функция обратной связи с номером страницы через следующий регистр. По этому тоже не понятно зачем сделана жёсткая привязка к № входного регистра прибавляя "1". Если в ПР-110 интервал вх. и вых. переменных около 200. Т. е. применить чтение я уже не могу.
Да и ещё.. Нашёл баг в конфигураторе ПР (еси лоджиг). При ошибке в проекте связанной с неопределением переменных в макросах после сохранения он не открывается. Вернее открывается но якобы весит. Если через диспетчер задач закрыть не прогу а "приветствие" (по крайней мере так отображается в 7-ке) то под ней окно с причиной ошибки обработки компилятором. Если системное сообщение будет активным поверху то всё нормально. Зашол и исправил ошибку....

kait-leon
12.12.2011, 13:54
Так всё же кто поможет грамотней организовать регистр смены экранов в ПР что бы он не затыкался "0" панели с помощью ФБ. Как в ПЛК понимаю...

capzap
12.12.2011, 14:50
:) ни чего не понятно, но интересно

kait-leon
12.12.2011, 15:18
Могу попробовать обьяснить. Что не ясно?

capzap
12.12.2011, 17:05
не знаю как в ПР, в ПЛК я в регистр автоматической смены экрана заношу номер требуемого экрана, если в этом регистре при чтении появился ноль, значит смена произошла успешно, в регистре текущего номера экрана должно прочитаться то значение которое вносили и все работает. Если необходимо переходить на следующий попорядку экран, нужно взять значение из регистра текущего экрана прибавить единицу и записать в регистр автоматической смены экрана. Про интервал вообще не понятно чего не читается и что такое 200

kait-leon
12.12.2011, 18:18
Вот в этом то и суть. В плк всё понятно, там ты кинул значение в регистр и ждёшь ответ. А в ПР так не сделаешь. Там прога в ФБ и выходной регистр может быть только постоянно занятым со стороны ПР целочисленным значением, т. е. если в нем цифра 5 то в ответ получить 0 он не может., так как в регистр постоянно пишется значение 5. В ФБ регистр свободным быть не может. Короче коротыш по русски. А если на вход любого ФБ ничего не подавать он на выход подаёт постоянно по умолчанию значение 0. Опять занят регистр. Я чё только не пробовал, и запись в регистр кратковременный по переднему фронту, всё равно после записи регистр обнуляется так как у него не может быть вход без значения. Если бы панель не присылала бы 0 то всё бы работало.
А насчёт "200" интервал номеров входных регистров от 200(512)-20В(523) а выходных 300(768)-31F(799). Т. е панель пишет своё состояние в соседний регистр со входным, а у меня между ними промежуток 768-523=245

kait-volga
12.12.2011, 18:36
Вклинюсь в диалог. Сегодня вдвоем ломали головы по этому вопросу... Безрезультатно.

не знаю как в ПР, в ПЛК я в регистр автоматической смены экрана заношу номер требуемого экрана, если в этом регистре при чтении появился ноль, значит смена произошла успешно
В ПЛК все работает, пробовали сегодня. Но видать есть небольшая разница в работе ПЛК и ПР. Я понимаю примерно так:
ПЛК: Запустили по фронту R или F триггер, по выходу триггер.Q выдали номер требуемого экрана в регистр и более в него ничего не пихаем.
ПР: Записали в ФБ значение и ФБ при каждом цикле пишет это значение в сетевую переменную. А тут панель невзначай сует свой ответный 0.
Результат - конфликт, панель выдает "нет связи" и виснет моментом.

capzap
12.12.2011, 19:02
все равно понять не могу, по модбасу если функция записи, то она только может записать значение в регистр, читать значение из этого же регистра может заставить только сам программист другой функцией, так же и у Вас, если Вы что то записываете в сетевую переменную, то какая разница что в ней появляется, Вы же все равно через цикл по новой её перепишите. У rovki не пробовали спросить?

kait-volga
12.12.2011, 21:14
все равно понять не могу, по модбасу если функция записи, то она только может записать значение в регистр, читать значение из этого же регистра может заставить только сам программист другой функцией, так же и у Вас, если Вы что то записываете в сетевую переменную, то какая разница что в ней появляется, Вы же все равно через цикл по новой её перепишите. Да это понятно. С ПЛК так все и происходит. А вот в паре с ПР, панель (а может и сама ПР???) ведет себя неоднозначно. Думаю завтра АС4 посадить на RS485, посмотреть кто виснет, да и вообще что происходит. Не посоветуете какой нибудь сниффер modbus?

Евгений Сергеевич
14.12.2011, 10:30
сниффер- portmon или comport tool kit

уточню правильно ли я понял задачу: необходимо с ПР переключать экраны на ИП320?

kait-volga
14.12.2011, 12:30
сниффер- portmon или comport tool kit

уточню правильно ли я понял задачу: необходимо с ПР переключать экраны на ИП320?
Именно так. Ошибки настройки уже исключены. Было опробованы соединения:
1) ПЛК100 - ИП320 = работает.
2) ПЛК100 (имитация ИП320) - ПР110+МИ485 = работает.
3) ПР110+МИ485 - ИП320 = не единого переключения экрана, на МИ485 RS485 мигает, на панели "потеря связи".
Для решения проблемы в программах было убрано все лишнее:
1) В панели создано четыре экрана, настройки связи, регистр переключения экранов.
2) В ПР110 простенькая программа изменяющая через выдержку времени значение в выходной сетевой переменной.

Подсел на 485 через AC4, через программку Multiway, обмен идет, но разобраться времени не было. Сейчас попытаюсь проанализировать, что там идет по обмену.

Евгений Сергеевич
14.12.2011, 13:21
там сложилась следующая ситуация. После того как ИП читает номер нужного экрана и пытается сразу же туда чтото записать. А писать в эту область памяти нельзя => возникает потеря связи.

Сейчас решаем этот вопрос.

kait-volga
14.12.2011, 13:24
там сложилась следующая ситуация. После того как ИП читает номер нужного экрана и пытается сразу же туда чтото записать. А писать в эту область памяти нельзя => возникает потеря связи.

Сейчас решаем этот вопрос.
Ну мы так в принципе и поняли. Т.е. мучить железки не имеет смысла? Ждем
Вашего решения.