Просмотр полной версии : регистр чтение-запись
Денис_NTS
08.10.2009, 16:06
Расскажите как сделать один регистр на чтение и запись.....???????я делаю так PLC_Configuration задаю RegisterInput RegisterOutput с одинаковым адресом,
с ИП320 задаю некий параметр (регистр на ИП с галочкой "Настр") он должен сохраниться в энергонезависимой переменной,но он даже отобразиться не успевает сбрасывается в ноль RegisterOutput -ом.Как быть не пойму???????:confused:
lara197a
08.10.2009, 19:06
Регистры input и output содинакоавыми номерами будут обращать к одной ячейки с разными запросами(по разным командам протокола).
Галочка "настр" определяет будет ли значение только читаться или служит для записи значения
Денис_NTS
09.10.2009, 08:53
Да всё понытно.........вопрос не о том ...как расставить приоритет чтения или записи...ведь получается что когда пишешь значение с панели в In регистр оно(значение) сбрасывается Out регистром с PLC так как там другое значение....
значит в цикле самой программе плк идёт постоянная запись этого значения, а это уже логика вашей программы - записывайте значение по какому-нибудь условию или событию, по какому вам должно быть видней..
например у меня при возникновении аварии плк (плк150) переключает лист аварии на панельке, с динамическим текстом, меняя текущий лист, после переключением листов управляет панелька....
с уставками других регистров тоже самое - либо с панельки, либо с плк...
Денис_NTS
09.10.2009, 11:12
а тут я не согласен ,никакая моя программа этого не делает,моя программа тестовая это ";"на St....плк автоматически перезаписывает значения - кто вперед...короче решение проблемы , я так понимаю , в использовании двух окон отображения регистров одно на чтение другое на запись на панели.......как то не очень хорошо.....только если панель мастер можно пользоваться одним окном отображения регистра........жаль!!!
а, конечно, удобней всего с панелькой работать когда она мастер, у меня так и сделано, да и разработчики советуют делать её мастером...
кстати, при увеличении количества регистров периодически пропадает связь с панелькой - поэтому, если предполагается использовать много регистров, можно смело ставить скорость обмена на максимум...
Денис_NTS
09.10.2009, 11:42
А вот и решение нашел.....можно использовать Register Input(Output) module State,тогда можно не постоянно опрос производить ,а по команде.....вот так!!!!!
Денис_NTS
09.10.2009, 11:44
да согласен панель мастер это удобно...но увы плк мастером должен быть.....кстати а много это сколько???????
Тоесть Register Input и Register Output module State с одним адресом...?
А на панельке, при изменении регистра с ПЛК, изменялось значения управляемое с панельки?
Совсем забыл что на стенде не обращал внимания изменялось ли значения уставок на панельке (вроде да)
Пока с аппоратурой работаю через визуализацию..
как только мне подключат панель, стазу уточню етот момент... (в текущих задачах это пока не нужно, но знать полезно)
да согласен панель мастер это удобно...но увы плк мастером должен быть.....кстати а много это сколько???????
у мну ща 12 регистров двубайтных и парочка байт на биты...
проверил, изменения регистра благополучно отображается на панели и может изменяться этой же панелью в этой же визуализации регистра...
Денис_NTS
14.10.2009, 15:17
если панель мастер???
если панель мастер???
да, мастер...
Денис_NTS
14.10.2009, 16:27
а со слэйвом не пробовал???????
со слейвом только с псишки, когда контроллера ещё не было - читал 3-им кодом, писал 16-ым... катся проблем не возникало: и оттуда и туда всё читалось и писалось...
Максим Tomahawk
21.02.2013, 11:52
ИП320 - мастер, ПЛК - slave, связь по 485. В конфигурацию добавлен регистр 2 byte и его адрес точно совпадает с тем, что отмечено в ИП320.
Мне нужно просто изменить значение в этом регистре с панели (самая простая задача). В настройках регистра установлено, что он изменяемый и указан диапазон. Связь установлена, время из ПЛК отображается в регистрах на ИП320. Нажимаю кнопку SET, регистр выделяется белым, жму цифры, указываю например 15, жму ENT, слышу звуковой сигнал, далее ESC и... ничего не происходит, регистр по-прежнему нулевой.
Что я делаю не так? В документации только сказано, что вход в режим редактирования кнопкой SET и всё на этом.
кстати а много регистров это сколько???????
Судя по моему опыту 21 регистр на одном экране уже не тянет, а 16 работают нормально. А всего в моем проекте 67 регистров, так что важно лишь количество на одном экране, хотя общий объём памяти на панеле никто не отменял.
ИП320 - мастер, ПЛК - slave, связь по 485. В конфигурацию добавлен регистр 2 byte и его адрес точно совпадает с тем, что отмечено в ИП320.
Мне нужно просто изменить значение в этом регистре с панели (самая простая задача). В настройках регистра установлено, что он изменяемый и указан диапазон. Связь установлена, время из ПЛК отображается в регистрах на ИП320. Нажимаю кнопку SET, регистр выделяется белым, жму цифры, указываю например 15, жму ENT, слышу звуковой сигнал, далее ESC и... ничего не происходит, регистр по-прежнему нулевой.
Что я делаю не так? В документации только сказано, что вход в режим редактирования кнопкой SET и всё на этом.
Судя по моему опыту 21 регистр на одном экране уже не тянет, а 16 работают нормально. А всего в моем проекте 67 регистров, так что важно лишь количество на одном экране, хотя общий объём памяти на панеле никто не отменял.
а проект в плк в каком состоянии, видите ли в слейв сделанный через конфигурацию может писать как внешний источник, так и сам плк, не выходит ли так что значение обнуляет сам плк, а раз у него врнмя цикла мало, то Вы и не замечаете как туда поступает значение с панели
Максим Tomahawk
22.02.2013, 04:39
Переменные, прописанные в конфигурации глобальные. Эта переменная нигде в программе не используется, следовательно если я её изменю через панель, то должно получаться. Кстати говоря, через визуализацию Codesys переменная меняется и в этот момент я вижу что на ИП320 она тоже поменялась. Отсюда у меня подозрение, что данная функция самой панелью просто не поддерживается... кто-нибудь менял регистры с панели?))
Выделили кнопкой SET переменную, ввели цифры, нажали кнопку ENT для записи, убрали выделение кнопкой ESC или переключили на другой регистр кнопкой SET - я всё правильно делаю? Не работает, и всё...
*Время на цикл ПЛК 10 мс, увеличивал до 100 мс - не помогает. Скорость панели 115200. Может быть дело в типе регистра 2 byte? Но для ПЛК slave я не могу задать другой тип переменных.
я как бы делал намек, чтоб выложили проекты, ну да ладно. Объясните подробнее, какой смысл вкладываете в фразу: "Переменные, прописанные в конфигурации глобальные". Как себя ведет переменная в эмуляции, если ей дать другое значение в конфигурации?
Максим Tomahawk
22.02.2013, 06:39
Эмуляция мне не нужна, потому что подключаюсь к ПЛК через Debug и вижу все переменные онлайн, в это же время ИП320 подключена через 485. Если изменить переменную через визуализацию Codesys, то на панеле оператора она тут же меняется. При изменении через конфигурацию тоже всё нормально (присвоение нового значения при подключении к ПЛК). Но если я меняю переменную с ИП320, то ничего не происходит, переменная остаётся прежней. Функция записи регистра панелью вообще поддерживается? Мне это выяснить для начала хотя бы.
И в правду, чего это я. Эти нехорошие дядьки из ОВЕНа зачем то пишут документацию (4.7.2. Регистр – редактирование данных в ПЛК), видимо ради прикола, запись же не работает, пускай пользователи помучаются. Они даже не догадываются, что покупатель может подключить панель к ПК и проверить на симуляторе модбас слейва, что ни 6 ни 16 функции не работают и вывести нечестного производителя на "чистую воду"
Максим Tomahawk
22.02.2013, 07:52
Какой ещё компьютер (ПК) и симулятор модбаса?
ИП320 + ПЛК100, через кабель КС1 подключаемся к ПЛК через Codesys, чтобы видеть всё глазами. Ну да, Codesys работает через ПК - производители то не догадываются ))
я бы посоветовал изучить http://www.hmisys.com/downloads/PeakHMISlaveSimulatorInstall.exe
мне очень помогало тестировать приборы типа панели по модбас исключая подключения реального плк
Намекну на намек capzap'а - выложить оба проекта (ПЛК и ИП). Иногда помогает.
... кто-нибудь менял регистры с панели?))
Много тут таких.
Максим Tomahawk
26.02.2013, 10:54
Причина оказалась в задании "предела" через конфигуратор ИП320, перепутал местами минимум и максимум, так как "Макс." находится сверху, а "Мин." снизу, что с толку и сбило, обычно же наоборот ))
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot