Страница 1 из 1

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

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

Изображение

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

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

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

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

Запрос отправил.

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

СообщениеДобавлено: 07 ноя 2016, 22:00
xenonci
den_po писал(а):...И надеяться, что значение переменной сохранится между вызовами макроса, тоже нельзя.



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

https://1drv.ms/u/s!AufexgbZGMvagpNTCvIerQkLKePQ0g

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

СообщениеДобавлено: 14 ноя 2016, 10:37
den_po
xenonci писал(а):
den_po писал(а):...И надеяться, что значение переменной сохранится между вызовами макроса, тоже нельзя.

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

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

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

Вас удивляет, что неинициализированные переменные содержат что попало?

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

СообщениеДобавлено: 14 ноя 2016, 20:46
xenonci
Удивляет разница в результатах выполнения в панели и онлайн симуляции.

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

СообщениеДобавлено: 15 ноя 2016, 10:43
den_po
Неинициализированные переменные - неопределённое поведение