PDA

Просмотр полной версии : ПЛК160+СП310, запись регистров



KIPetek
29.08.2017, 16:56
Здравствуйте!

Требуется помощь, целый день бьюсь и никак не приду к чему-то рабочему.
К аналоговому входу ПЛК подключен гидростатический датчик уровня(0-400 см), в программе виден, на панель я его тоже с горем пополам вывел.
Есть 4 уровня для запуска и остановки двигателя, я их объявил следующим образом:

Min_lvl AT%QW7.9.0:REAL:=20; (Уровень отключения)
Work_lvl AT%QW7.11.0:REAL:=80;(Рабочий уровень)
Alarm_lvl AT%QW7.13.0:REAL:=170;(Уровень переполнения канала)
Danger_lvl AT%QW7.15.0:REAL:=200;(Опасный уровень)

(Заводские уставки)
U_Min_lvl AT%QW7.17.0:REAL :=20;
U_Work_lvl AT%QW7.19.0:REAL :=80;
U_Alarm_lvl AT%QW7.21.0:REAL :=170;
U_Danger_lvl AT%QW7.23.0:REAL :=200;

Интерфейс выглядит так:
32897

Текущие показания я на цифровые дисплеи вывел. Хочется, чтобы при нажатии по кнопке "Изменить" текущее значение копировалось в регистр панели, появлялось окошко.

32898

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

Правильно ли так делать? Если нет, подскажите, как правильнее/проще.

Я новичок, прошу сильно не ругаться.

Пожалуйста, помогите разобраться с этими регистрами, какие-куда, уже голова кипит...

Евгений Кислов
29.08.2017, 18:48
У вас отличаются номера регистров в дисплеях и функциональных кнопка - а должны совпадать.

В данный момент у вас в окнах к Цифровым вводам привязаны именно регистры панели - т.е. при изменении значения с их помощью данные СРАЗУ будут изменены в ПЛК.
Если вы хотите, чтобы запись в ПЛК происходило именно по нажатию кнопки ОК - необходимо привязывать к элементам ввода регистры панели (у вас - PSW308 и т.д.), а на кнопку ОК повесить действие Копировать регистр (PSW308--->4x8).

Если есть возможность - свяжитесь завтра в течение дня со мной по skype - рассмотрим на примере решение вашей задачи и сразу ответим на возникшие вопросы.

KIPetek
29.08.2017, 19:08
Евгений, большое спасибо за ответ.
Изначально я так и делал, что по функциональной кнопке "Изменить" передавал 4х8->PSW308, но на дисплее почему-то ничего не выводилось (ему тоже, соответственно, присваивал PSW308), либо выводилась билиберда... Это потом я поменял на текущий вариант, когда данные передаются в онлайне.
Если Вас не затруднит, то я бы не отказался от предложенной Вами помощи. Во сколько Вам будет удобно?

Евгений Кислов
29.08.2017, 20:31
Евгений, большое спасибо за ответ.
Изначально я так и делал, что по функциональной кнопке "Изменить" передавал 4х8->PSW308, но на дисплее почему-то ничего не выводилось (ему тоже, соответственно, присваивал PSW308), либо выводилась билиберда... Это потом я поменял на текущий вариант, когда данные передаются в онлайне.
Если Вас не затруднит, то я бы не отказался от предложенной Вами помощи. Во сколько Вам будет удобно?

C 7-30 до 16-00 по московскому времени.

petera
30.08.2017, 08:21
Изначально я так и делал, что по функциональной кнопке "Изменить" передавал 4х8->PSW308, но на дисплее почему-то ничего не выводилось (ему тоже, соответственно, присваивал PSW308), либо выводилась билиберда... Это потом я поменял на текущий вариант, когда данные передаются в онлайне.
Если Вас не затруднит, то я бы не отказался от предложенной Вами помощи. Во сколько Вам будет удобно?
1. Порядок функций в кнопках "Изменить" должен быть другим - соответствовать логике действий
- сначала копировать регистры
- только затем вызывать окна
32905 ---> 32906

2. Ну и копировать ПРАВИЛЬНЫЕ регистры.
Дисплей имеет адрес регистра 4х8, а копируете почему-то 4х7 ?
32907

И в других кнопках полная лажа с адресами копируемых регистров!!! Ну и тип данных обязательно д.б. DWord

KIPetek
30.08.2017, 09:57
petera, извиняюсь, приложил не тот проект.
Поправил по вашим советам и советам Евгения Кислова, все заработало, большое спасибо :)