На форуме обязательно:
  1. Заполнить свой профиль НА РУССКОМ ЯЗЫКЕ КИРИЛИЦЕЙ. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

Рекламу мы не размещаем ни на каких условиях.

Значения по умолчанию с возможностью изменения по Modbus

Ответить

Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 185
Зарегистрирован: 25 фев 2013, 06:14
Имя: Шамилов Данис
Благодарил (а): 9 раз

Значения по умолчанию с возможностью изменения по Modbus

Сообщение tank_urg » 29 июн 2015, 12:18

Программирую ПЛК110 на CFC.

Контроллер подключен в качестве Modbus slave к панели оператора Weintek.
Одна из уставок задается с панели оператора. Каким образом задать для этой уставки значение по умолчанию, чтобы при пуске и работе контроллера без панели это значение было ненулевым?

Аватара пользователя

megavolt86
авторитет
авторитет
Сообщения: 869
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 8 раз
Поблагодарили: 21 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение megavolt86 » 29 июн 2015, 12:48

А почему бы константу не сделать?
В контроллере будет крутиться константа до того момента пока не запишешь какоето значение с панели...
:ext_secret:


Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 185
Зарегистрирован: 25 фев 2013, 06:14
Имя: Шамилов Данис
Благодарил (а): 9 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение tank_urg » 29 июн 2015, 13:02

megavolt86 писал(а):А почему бы константу не сделать?
В контроллере будет крутиться константа до того момента пока не запишешь какоето значение с панели...
Думал об этом. Но по-моему в Codesys нет возможности изменять константы по Modbus.


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 3590
Зарегистрирован: 07 окт 2011, 08:12
Имя: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 109 раз
Поблагодарили: 187 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение Ryzhij » 29 июн 2015, 13:50

А указание начального значения при объявлении переменной не спасёт? Ну или занесение значения по событию возобновления питания.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может». Жан-Поль Сартр


Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 185
Зарегистрирован: 25 фев 2013, 06:14
Имя: Шамилов Данис
Благодарил (а): 9 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение tank_urg » 29 июн 2015, 14:23

А указание начального значения при объявлении переменной не спасёт?
дело в том что в Codesys переменные, привязанные к Modbus, дополнительно не объявляются, - имя переменной дается в Конфигурации при указании адреса Modbus.
Ну или занесение значения по событию возобновления питания
а вот это вариант. только как в программном коде указать это событие?


Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 185
Зарегистрирован: 25 фев 2013, 06:14
Имя: Шамилов Данис
Благодарил (а): 9 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение tank_urg » 29 июн 2015, 14:24

Только что получил ответ на форуме ОВЕН. Может быть кому-нибудь в будущем понадобится:
Т.к. все переменные в модуле Slave являются retain по умолчанию, то достаточно один раз ввести начальное значение с панели. После этого панель можно даже не включать, значение переменной останется таким, каким было перед выключением ПЛК.
В общем случае нужно объявить в разделе глобальных переменных
VAR_GLOBAL RETAIN
My_1 AT %QW7.1.0: WORD := 100;
END_VAR
где %QW7.1.0 -соответствующий адрес из конфигурации Slave.
При этом этот адрес не должен быть именован в Slave.

ЗЫ. Но в последнем случае переменная My_1 всегда будет равна 100 после каждого включения ПЛК.
Сам еще этот вариант не тестировал


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 3590
Зарегистрирован: 07 окт 2011, 08:12
Имя: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 109 раз
Поблагодарили: 187 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение Ryzhij » 29 июн 2015, 14:34

Со свойствами глобальных переменных Вы уже разобрались, а если по событию, то можно запускать какой-нибудь POU, в котором делать все необходимые присвоения.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может». Жан-Поль Сартр

Аватара пользователя

megavolt86
авторитет
авторитет
Сообщения: 869
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 8 раз
Поблагодарили: 21 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение megavolt86 » 29 июн 2015, 16:57

tank_urg писал(а):Только что получил ответ на форуме ОВЕН. Может быть кому-нибудь в будущем понадобится:
Т.к. все переменные в модуле Slave являются retain по умолчанию, то достаточно один раз ввести начальное значение с панели. После этого панель можно даже не включать, значение переменной останется таким, каким было перед выключением ПЛК.
В общем случае нужно объявить в разделе глобальных переменных
VAR_GLOBAL RETAIN
My_1 AT %QW7.1.0: WORD := 100;
END_VAR
где %QW7.1.0 -соответствующий адрес из конфигурации Slave.
При этом этот адрес не должен быть именован в Slave.

ЗЫ. Но в последнем случае переменная My_1 всегда будет равна 100 после каждого включения ПЛК.
Сам еще этот вариант не тестировал
В примере вы сами как ретейн объявляете переменную, по умолчанию она без этого.
Можно присвоить начальное значение как в примере, можно в программе строчку добавить в виде : My_1:=100...
Не помню есть ли системная переменная показывающая плк в ране или нет, можно сделать по переднему фронту этой переменной присвоение начальных значений...)))
:ext_secret:


Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 185
Зарегистрирован: 25 фев 2013, 06:14
Имя: Шамилов Данис
Благодарил (а): 9 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение tank_urg » 26 июл 2015, 20:37

Создал глобальные переменные, указав начальные значения, однако при запуске ПЛК без панели в этих переменных вместо требуемых начальных значений появляются нули.
У вас нет необходимых прав для просмотра вложений в этом сообщении.


Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 185
Зарегистрирован: 25 фев 2013, 06:14
Имя: Шамилов Данис
Благодарил (а): 9 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение tank_urg » 26 июл 2015, 20:38

Может надо ретайном сделать переменную отличную от регистра Modbus (%QW8.95.0)? А в первом цикле ПЛК уже определятся, какое ей значение присвоить.
Не понял, можно поподробнее?


Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 185
Зарегистрирован: 25 фев 2013, 06:14
Имя: Шамилов Данис
Благодарил (а): 9 раз

Re: Значения по умолчанию с возможностью изменения по Modbus

Сообщение tank_urg » 26 июл 2015, 20:40

Можно присвоить начальное значение как в примере, можно в программе строчку добавить в виде : My_1:=100...
Не помню есть ли системная переменная показывающая плк в ране или нет, можно сделать по переднему фронту этой переменной присвоение начальных значений...)))
спасибо. попробую в ближайшее время


Velt
Сообщения: 1
Зарегистрирован: 26 мар 2017, 13:05
Имя: Денис

Значения по умолчанию с возможностью изменения по Modbus

Сообщение Velt » 14 мар 2018, 16:49

Уставку объявить как RETAIN-переменную. В теле POU присваивать этой переменной значение соответствующего регистра Modbus Slave, если оно не равно нулю.

Аватара пользователя

VADR
администратор
администратор
Сообщения: 2802
Зарегистрирован: 25 июл 2008, 06:12
Имя: Диев Александр Васильевич
Благодарил (а): 57 раз
Поблагодарили: 41 раз

Значения по умолчанию с возможностью изменения по Modbus

Сообщение VADR » 14 мар 2018, 16:53

Если не заметили, вопрос обсуждался 3 года назад...
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

Ответить

Вернуться в «ОВЕН»