Форум Zentec

Программное обеспечение => Вопросы по zWorkbench => Тема начата: serge197a от 12 ноября 2016, 09:25:29

Название: Проблемы, возникающие после обновлений
Отправлено: serge197a от 12 ноября 2016, 09:25:29
Сегодня утром после обновления перестал компилироваться
рабочий проект. Как это устранить?
Название: Re: Внимание, обновление!
Отправлено: mike от 12 ноября 2016, 09:31:25
Где-то поставили рекурсивную связь
Название: Re: Внимание, обновление!
Отправлено: VoronovMaksim88 от 12 ноября 2016, 10:14:21
Проект в студию !!!
Название: Re: Внимание, обновление!
Отправлено: VoronovMaksim88 от 12 ноября 2016, 10:16:51
Не, не надо проект ))
Ошибка в сборке ZWB, однозначно. У меня та же беда.
Название: Re: Внимание, обновление!
Отправлено: serge197a от 12 ноября 2016, 10:53:30
mike
вообще ничего не делал с проектом.
работал с копией и не скомпилилось.
загрузил исходник- аналогично.
но исходник не изменялся и загружен в м120, лежащий на столе.
Проблема в обновленной утром сборке ЗВБ.
Название: Re: Внимание, обновление!
Отправлено: Artem от 12 ноября 2016, 11:02:44
Все таки проект нужно глянуть, так как не все проекты сбоят. Чем больше таких у нас будет, тем проще найти причину
Название: Re: Внимание, обновление!
Отправлено: serge197a от 12 ноября 2016, 12:59:57
Во вложении.
Название: Re: Внимание, обновление!
Отправлено: VoronovMaksim88 от 12 ноября 2016, 18:00:03
Обновился. Теперь работает.
Название: Re: Внимание, обновление!
Отправлено: serge197a от 12 ноября 2016, 18:47:47
Исходник, после обновления, компилируется.
Макрос написанный утром нет.
(проект тот же)
Переписывать?
Название: Re: Внимание, обновление!
Отправлено: VoronovMaksim88 от 13 ноября 2016, 01:58:37
Киньте сюда макрос.
Название: Re: Внимание, обновление!
Отправлено: serge197a от 13 ноября 2016, 08:47:56
Макрос отдельно компилируется.
программа контроллера нет.
Название: Re: Внимание, обновление!
Отправлено: VoronovMaksim88 от 13 ноября 2016, 11:11:21
У вас явно циклическая связь блоков в макросе.
Название: Re: Внимание, обновление!
Отправлено: VoronovMaksim88 от 13 ноября 2016, 11:11:57
Если добавить переменную, то тогда нормально скомпилируется.
Название: Re: Внимание, обновление!
Отправлено: VoronovMaksim88 от 13 ноября 2016, 11:12:57
Но это не последняя ошибка в проекте ))
Название: Re: Внимание, обновление!
Отправлено: serge197a от 13 ноября 2016, 13:11:04
Цитата: VoronovMaksim88 от 13 ноября 2016, 11:12:57
Но это не последняя ошибка в проекте ))
если вы про входные переменные этого макроса, то он не дописан из-за невозможности компиляции. они в будущем должны будут писаться по сети. остальное работает.
циклическая связь должна проверяться при компиляции объекта.
Успешная компиляция объекта и ошибки при компиляции программы в целом не должна появляться при условии правильных внешних связях макросов программы.
Такие особенности (как запрет рукурсивной связи) не являются правилом для всех сред программирования использующие ФБД и должны выделяться при проверке объекта обязательно.
Название: Re: Внимание, обновление!
Отправлено: VoronovMaksim88 от 14 ноября 2016, 04:18:02
Согласен с Вами.
Ну так они и выделяются. Вот я создал программу с одним единственным макросом. В этом макросе циклическая связь. При проверке вылетела ошибка. Всё правильно вроде бы.
Название: Re: Внимание, обновление!
Отправлено: serge197a от 14 ноября 2016, 13:00:41
Максим, в приведенной вами схеме прямая рекурсивная связь.
Если используется несколько блоков, с возвратом в стеке, то такое без промежуточных переменных возможно. И абсолютно допустимо в большинстве сред программирования. В частности пример- отсутствие ошибок при компиляции моего макроса как объекта в ЗВБ.
Это как в скрине из программы, на котором вы стрелок наставили.
Первое тоже в звб иногда допускается. К примеру в блоке записи модбас.
(см пример в ИЭ)