1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

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

Модератор: Глоб.модераторы

Ответить

Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 193
Зарегистрирован: 25 фев 2013, 07:14
Имя: Шамилов Данис
Страна: Россия
город/регион: Уфа
Благодарил (а): 10 раз
Поблагодарили: 1 раз

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

Сообщение tank_urg »

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

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

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение megavolt86 »

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

Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 193
Зарегистрирован: 25 фев 2013, 07:14
Имя: Шамилов Данис
Страна: Россия
город/регион: Уфа
Благодарил (а): 10 раз
Поблагодарили: 1 раз

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

Сообщение tank_urg »

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

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

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

Сообщение Ryzhij »

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

Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 193
Зарегистрирован: 25 фев 2013, 07:14
Имя: Шамилов Данис
Страна: Россия
город/регион: Уфа
Благодарил (а): 10 раз
Поблагодарили: 1 раз

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

Сообщение tank_urg »

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

Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 193
Зарегистрирован: 25 фев 2013, 07:14
Имя: Шамилов Данис
Страна: Россия
город/регион: Уфа
Благодарил (а): 10 раз
Поблагодарили: 1 раз

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

Сообщение 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 после каждого включения ПЛК.
Сам еще этот вариант не тестировал

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

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

Сообщение Ryzhij »

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

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение megavolt86 »

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
почётный участник форума
почётный участник форума
Сообщения: 193
Зарегистрирован: 25 фев 2013, 07:14
Имя: Шамилов Данис
Страна: Россия
город/регион: Уфа
Благодарил (а): 10 раз
Поблагодарили: 1 раз

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

Сообщение tank_urg »

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

Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 193
Зарегистрирован: 25 фев 2013, 07:14
Имя: Шамилов Данис
Страна: Россия
город/регион: Уфа
Благодарил (а): 10 раз
Поблагодарили: 1 раз

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

Сообщение tank_urg »

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

Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 193
Зарегистрирован: 25 фев 2013, 07:14
Имя: Шамилов Данис
Страна: Россия
город/регион: Уфа
Благодарил (а): 10 раз
Поблагодарили: 1 раз

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

Сообщение tank_urg »

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

Velt
освоился
освоился
Сообщения: 233
Зарегистрирован: 26 мар 2017, 13:05
Имя: Денис
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 38 раз

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

Сообщение Velt »

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

VADR
администратор
администратор
Сообщения: 4909
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 236 раз
Поблагодарили: 425 раз

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

Сообщение VADR »

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

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