Инициализация переменных в макросе

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

Инициализация переменных в макросе

Сообщение xenonci » 04 ноя 2016, 18:44

1.Я так понял - если переменным в макросе не присвоить первоначальные значения, то они принимают случайные (при включении панели) - что биты, что байты, и для того чтобы быть уверенным в значении битов при инициализации ввели биты с LB9000 по LB9009 ?
2.Другой вопрос - неплохо бы расширить поле переменных во вводе в функции макроса, а то длинные имена не видно (см. скриншот):

Изображение
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05

Re: Инициализация переменных в макросе

Сообщение den_po » 07 ноя 2016, 11:10

xenonci писал(а):1.Я так понял - если переменным в макросе не присвоить первоначальные значения, то они принимают случайные (при включении панели) - что биты, что байты, и для того чтобы быть уверенным в значении битов при инициализации ввели биты с LB9000 по LB9009 ?

Полагаться на какие-то начальные значения в переменных нельзя, их значения обязательно нужно устанавливать самостоятельно (присваиванием или чтением регистров панели/ПЛК).
И надеяться, что значение переменной сохранится между вызовами макроса, тоже нельзя.

xenonci писал(а): 2.Другой вопрос - неплохо бы расширить поле переменных во вводе в функции макроса, а то длинные имена не видно (см. скриншот):

Запрос отправил.
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: Инициализация переменных в макросе

Сообщение xenonci » 07 ноя 2016, 22:00

den_po писал(а):...И надеяться, что значение переменной сохранится между вызовами макроса, тоже нельзя.



Ну это вы уже перегнули - в онлайн симуляции может быть - но в панели такого (тьфу, тьфу) не замечал. :)
(Результаты выполнения проекта ниже сильно отличаются в онлайн симуляции и в панели )

https://1drv.ms/u/s!AufexgbZGMvagpNTCvIerQkLKePQ0g
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05

Re: Инициализация переменных в макросе

Сообщение den_po » 14 ноя 2016, 10:37

xenonci писал(а):
den_po писал(а):...И надеяться, что значение переменной сохранится между вызовами макроса, тоже нельзя.

Ну это вы уже перегнули - в онлайн симуляции может быть - но в панели такого (тьфу, тьфу) не замечал. :)

Это не я перегнул, это рекомендация разработчиков.

xenonci писал(а):(Результаты выполнения проекта ниже сильно отличаются в онлайн симуляции и в панели )
https://1drv.ms/u/s!AufexgbZGMvagpNTCvIerQkLKePQ0g

Вас удивляет, что неинициализированные переменные содержат что попало?
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: Инициализация переменных в макросе

Сообщение xenonci » 14 ноя 2016, 20:46

Удивляет разница в результатах выполнения в панели и онлайн симуляции.
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05

Re: Инициализация переменных в макросе

Сообщение den_po » 15 ноя 2016, 10:43

Неинициализированные переменные - неопределённое поведение
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25


Вернуться в Weintek

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

Сейчас этот форум просматривают: Google [Bot] и гости: 13