PDA

Просмотр полной версии : сп307 в режиме Slave чтение и запись PSB



Brandon_heat_dre
11.10.2019, 18:11
Доброго дня товарищи. вопрос вот какой. есть панель есть контроллер. с панели нужно вводить данные в контроллер и плюс к этому эти данные должны лежать всегда в памяти панели. но и соотвестенно панель должна отображать информацию которую передает контроллер. как в примере на сайте я настроил панель в работу в режиме слейв. все хорошо в памяти хранит данные их передает читает но есть одно но. 8 input registers и 8 output registers , это для чтения регистра и для записи... и получается что мне нужно по две переменные создавать на чтение и на запись . например пуск устройства pusk1 и pusk2 дабы если на панели пуск нажимаю то только в инпут регистрт отображается, а что бы с контроллера выключить кнопку пуск надо в оут регистрс. короче дико неудобно. раньше было реализовано таким образом: панель работала в мастере и обменивалась туда сюда данными... но есть одно но... с панели можно было забить данные в контроллер, которые далее на контроллере хранились в ретайн, но при загрузке новой программы в контролллер данные само собой пропадают. а там данных под 50 штук и каждый раз их вводить при малейшем изменении программы не удобно. Подскажите как можно решить эту задачу что бы максимально удобно и эффективно было. с двумя переменными это конечно никуда не годится.

petera
11.10.2019, 22:01
Вернуть панель мастер, а ПЛК слейв
Ваши 50 штук данных вводить в панели в энергонезависимые регистры панели (PFW). Т.е. храниться они будут в ретайн регистрах панели, а не ПЛК.
Теперь делаем так, чтобы при включении питания, энергонезависимые регистры панели (PFW) копировались в соответствующие им регистры 4х ПЛК
для этого
1. Создаем новый Стартовый экран (Экран приветствия)
45081

2. На Стартовом экране делаем такую ф.область
45082

в простейшем случае, если все регистры с ретайн данными расположены в ПЛК по порядку, там нужны две функции
- копировать 50 регистров из панели в ПЛК
- переход на главный экран
45083
ПРИМЕЧАНИЕ.
задержка в 10..20 сек нужна для компенсации более медленного включения ПЛК по отношению к времени включения панели.
https://owen.ru/forum/attachment.php?attachmentid=45089&d=1570824544

3. На тех экранах где будут вводится или редактироваться ретайн данные должны быть предусмотрены
- элементы Ввод данных такого вида
45084
т.е вводим данные (верхняя часть) в регистры панели, а отображаем (нижняя часть) соответствующие им регистры ПЛК. Так делаем для того, чтобы оператор ВСЕГДА видел данные из ПЛК и если они "не те", всегда мог их исправить.
- все элементы ввода имеют один и тоже бит уведомления
45085

- от этого бита уведомления запускается ф.область
45086

с функцией копирования регистров PFW, которые меняются на этом экране, в соответствующие им регистры ПЛК, для упрощения можно копировать ВСЕ 50 регистров при изменении одного PFW регистра.
45087
завершает цепочку функция сброса бита уведомления.

Brandon_heat_dre
11.10.2019, 22:46
Ого. Очень подробно. Завтра буду пробовать реализовать . Спасибо!

Brandon_heat_dre
12.10.2019, 10:14
а вот такой еще вопрос... это в начале так сказать включения щита управления все параметры проверили и скинули в плк, а допустим потом на лету нужно поменять один параметр? или такая схема на лету не работает?

petera
12.10.2019, 15:34
а вот такой еще вопрос... это в начале так сказать включения щита управления все параметры проверили и скинули в плк, а допустим потом на лету нужно поменять один параметр? или такая схема на лету не работает?

Работает, см. п.3 из моего поста

3. На тех экранах где будут вводится или редактироваться ретайн данные должны быть предусмотрены
- элементы Ввод данных такого вида
Это не что иное как изменение на лету любого параметра, хоть всех.
В результате ввода - меняются значения в ретайн регистрах панели, а через бит уведомления ф.область тут же меняет содержимое в регистрах ПЛК