PDA

Просмотр полной версии : Как назначить сетевой переменной значение по умолчанию?



Ingwar
09.08.2021, 15:31
Добрый день, коллеги.

Есть группа настраиваемых параметров которые привязаны в проекте к сетевым переменным.
т.к. сетевые переменные ПР200 энергонезависимые, в штатном режиме проблем нет, один раз настроил забыл.

Только вот после каждой прошивки приходится все параметры вбивать за ново из меню программы или по ModBus. На этапе наладки это может стать большой проблемой.

Может кто сталкивался с подобной задачей, буду очень признателен если поделитесь опытом.

petera
09.08.2021, 16:02
Добрый день, коллеги.

Есть группа настраиваемых параметров которые привязаны в проекте к сетевым переменным.
т.к. сетевые переменные ПР200 энергонезависимые, в штатном режиме проблем нет, один раз настроил забыл.

Только вот после каждой прошивки приходится все параметры вбивать за ново из меню программы или по ModBus. На этапе наладки это может стать большой проблемой.

Может кто сталкивался с подобной задачей, буду очень признателен если поделитесь опытом.

Я такой конструкцией пользуюсь
56481

Начальные значения - в свойствах макроса, естественно, что для каждой сетевой переменной свои

petera
09.08.2021, 16:15
Вот, выбросил все лишнее
56482 56483

ЗЫ.
Можно и конфигуратор СП300 использовать, в режиме онлайн эмуляции.
Записать из таблицы PFW регистров в 64 регистра ПРки можно нажатием одной кнопки.
Тем более, что я и так использую такие Debug проекты СП300 для имитация ВСЕХ входных сигналов, дискретных и аналоговых для отладки программы в живой ПРке, когда даже шкафа с монтажом еще нет.

Ingwar
09.08.2021, 16:48
Вот, выбросил все лишнее
56482 56483

ЗЫ.
Можно и конфигуратор СП300 использовать, в режиме онлайн эмуляции.
Записать из таблицы PFW регистров в 64 регистра ПРки можно нажатием одной кнопки.
Тем более, что я и так использую такие Debug проекты СП300 для имитация ВСЕХ входных сигналов, дискретных и аналоговых для отладки программы в живой ПРке, когда даже шкафа с монтажом еще нет.

Огромное спасибо! С макросом завтра разберусь! Понятие "начальное значение" в свойствах макроса для меня вообще открытие.

Через конфигуратор конечно тоже вариант, но хотелось бы иметь возможность выполнить запись параметров без подключения компьютера.

Ingwar
09.08.2021, 16:58
Не удержался, проверил сегодня!! То что нужно! Ещё раз огромное спасибо!

petera
09.08.2021, 17:49
.... Понятие "начальное значение" в свойствах макроса для меня вообще открытие. ....
Когда создаете макрос, то можно для констант включить в свойствах константы "Использовать в макросе"
56491
Теперь внутри макроса такая константа может иметь любое значение. Реальное значение ей будет присвоено в свойствах макроса.
Еще можно присвоить имя осмысленное полученному внешнему параметру
56492

Сергей0308
09.08.2021, 17:54
А так не проще?

56493

melky
09.08.2021, 17:58
Сергей0308 так не решает проблему назначения значения по умолчанию, при старте прибора. Каковы цели, таковы и решения.

Сергей0308
09.08.2021, 18:13
Сергей0308 так не решает проблему назначения значения по умолчанию, при старте прибора. Каковы цели, таковы и решения.

Мелкий, такое впечатление, что Вы в первый раз на форум зашли, это же многократно обсуждалось, в том числе и с вашим участием, Вы там меня не пугайте, что Вам память отшибло, вспоминайте скорей, внутренняя переменная должна быть энергонезависимой, для возможности назначения значения по умолчанию!
Если внутреннюю переменную сделать не энергонезависимой, то и сетевая переменная(в режиме слейв) тоже потеряет энергонезависимость, бывает и такое надо, короче, два в одном, на выбор!

melky
09.08.2021, 18:35
Сергей0308 я вас не пугаю, а намекаю.
1. инициализация переменной и последующее ее сохранение через Modbus
2. инициализация переменной строго определенным значением при старте ПР и возможность ее изменения по Modbus

Разные задачи, разная реализация как бы...

Сергей0308
09.08.2021, 19:10
Сергей0308 я вас не пугаю, а намекаю.
1. инициализация переменной и последующее ее сохранение через Modbus
2. инициализация переменной строго определенным значением при старте ПР и возможность ее изменения по Modbus

Разные задачи, разная реализация как бы...

Хотите сказать, что Вы всё забыли и разучились? Но это же не возможно, так не бывает, чтобы плавать разучился, Вы же писали что так делали(Вам такое было нужно)! Здесь при включении ПР в первый цикл работы программы значение сетевой переменной инициализируется значением по умолчанию внутренней энергонезависимой переменной, во втором и последующих циклах программы никто не мешает читать-писать эту сетевую переменную! Как в детском саду приходится Вам всё многократно повторять! Все равно мне не верится, что Вы подобное делали, тогда точно бы не забыли, так не бывает, умел плавать потом разучился!

melky
09.08.2021, 20:23
Сергей0308 еще раз прочитайте.
2-я задача подразумевает, что после каждого выключения и включения ПР переменная всегда... ну скажем =100. В процессе работы можно изменить.
Выключили установку, включили снова - переменная = 100.

Так какой вариант нужен вопрошающему ?

Сергей0308
09.08.2021, 22:55
Сергей0308 еще раз прочитайте.
2-я задача подразумевает, что после каждого выключения и включения ПР переменная всегда... ну скажем =100. В процессе работы можно изменить.
Выключили установку, включили снова - переменная = 100.

Так какой вариант нужен вопрошающему ?

Тогда это не значение по умолчанию и вообще это не энергонезависимая переменная, а значение по умолчанию только бывает у энергонезависимых переменных, это будет начальное значение при включении ПР и такое ещё проще сделать с помощью той схемы, что я нарисовал, только вместо внутренней энергонезависимой переменной константа на верхнем входе fSEL, всё! При каждом включении ПР сетевая переменная будет инициализироваться значением константы, можно, если значение инициализации не надо менять, добавить эту константу в свойства макроса, тогда почти как у Петра из Минска получится!

petera
10.08.2021, 00:07
Тогда эта не значение по умолчанию и вообще это не энергонезависимая переменная, а значение по умолчанию только бывает у энергонезависимых переменных, это будет начальное значение при включении ПР и такое ещё проще сделать с помощью той схемы, что я нарисовал, только вместо внутренней энергонезависимой переменной константа на верхнем входе fSEL, всё! При каждом включении ПР сетевая переменная будет инициализироваться значением константы, можно, если значение инициализации не надо менять, добавить эту константу в свойства макроса, тогда почти как у Петра из Минска получится!
Спорили, спорили и в конце концов описали мой макрос,
56497

который я привел в посте #6
https://owen.ru/forum/showthread.php?t=35184&p=361875&viewfull=1#post361875

Сергей0308
10.08.2021, 01:42
Не знаю почему мелкий всё по-своему интерпретирует(проще говоря пытается ввести народ в заблуждение), но в первом посте речь идёт именно об значениях переменной по умолчанию, ещё раз перечитал!
Тогда запись(инициализация) из константы должна происходить только при первой загрузке ПР сразу после заливки программы, иначе переменная перестанет быть энергонезависимой, о чём писал ранее(если будет запись при каждом включении ПР).

petera
10.08.2021, 06:51
Не знаю почему мелкий всё по-своему интерпретирует(проще говоря пытается ввести народ в заблуждение), но в первом посте речь идёт именно об значениях переменной по умолчанию, ещё раз перечитал!
Тогда запись(инициализация) из константы должна происходить только при первой загрузке ПР сразу после заливки программы, иначе переменная перестанет быть энергонезависимой, о чём писал ранее(если будет запись при каждом включении ПР).

Так это, запись при первой загрузке ПР сразу после заливки программы, я и сделал в проекте из поста #3. ТС проверил в железе.
Остальные десять постов зачем были?

melky
10.08.2021, 07:29
значит я неправильно понял автора, но вариант, когда при включении ПР должно быть строго нужное значение, при этом которое можно менять в процессе работы не отбрасывается.
Еще раз, разные задачи, разное решение.

Сергей0308
10.08.2021, 11:08
Так это, запись при первой загрузке ПР сразу после заливки программы, я и сделал в проекте из поста #3. ТС проверил в железе.
Остальные десять постов зачем были?

Так про ваш вариант я и не говорил, что он как-то неправильно работает, я выложил свой, отличающийся от вашего, для этого и форум, каждый может предложить свой вариант!

Сергей0308
10.08.2021, 11:21
значит я неправильно понял автора, но вариант, когда при включении ПР должно быть строго нужное значение, при этом которое можно менять в процессе работы не отбрасывается.
Еще раз, разные задачи, разное решение.

Я же написал как это можно сделать, проще чем назначить значение по умолчанию, можете Овен попросить и в хотелках для ОЛ написать: сделать для не энергонезависимой переменной назначаемое значение инициализации, отличное от ноля! Я такое просить не хочу, мне проще это самому сделать, тем более что это не сложно!