Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

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


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

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

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

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

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

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

megavolt86
специалист
специалист
Сообщения: 630
Зарегистрирован: 14 ноя 2013, 19:35
Ф.И.О.: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

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

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


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

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

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

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


Думал об этом. Но по-моему в Codesys нет возможности изменять константы по Modbus.


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

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

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

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


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

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

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

А указание начального значения при объявлении переменной не спасёт?


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

Ну или занесение значения по событию возобновления питания


а вот это вариант. только как в программном коде указать это событие?


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

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
почётный участник форума
почётный участник форума
Сообщения: 2569
Зарегистрирован: 07 окт 2011, 08:12
Ф.И.О.: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 43 раза
Поблагодарили: 71 раз

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

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

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

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

megavolt86
специалист
специалист
Сообщения: 630
Зарегистрирован: 14 ноя 2013, 19:35
Ф.И.О.: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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
почётный участник форума
почётный участник форума
Сообщения: 178
Зарегистрирован: 25 фев 2013, 06:14
Ф.И.О.: Шамилов Данис
Благодарил (а): 6 раз

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

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

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


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

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

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

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


Не понял, можно поподробнее?


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

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

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

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


спасибо. попробую в ближайшее время


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



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей