Форум Zentec

Программное обеспечение => Архив => Вопросы по zWorkbench => Вопросы по zetFBD => Тема начата: leszkin от 05 сентября 2015, 19:35:47

Название: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: leszkin от 05 сентября 2015, 19:35:47
Программа одна и та же. В отладке в устройстве всё происходит как нужно, проливаюсь в рабочем режиме - не срабатывает 1 из счетчиков. Пробовал на нескольких контроллерах. ОЗУ использована на ~13%. Размер программы ~40%.
Моя криворукость или глюк?
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 06 сентября 2015, 21:05:59
А давайте посмотрим ваш проект.
В проекте выделить счетчик красным прямоугольником (что бы было сразу заметно) и выслать на info@zentec.ru
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: leszkin от 09 сентября 2015, 14:53:08
отправил. интерес уже чисто на будущее - т.к. шкафы запрограммировали без данного счетчика.
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 10 сентября 2015, 18:54:23
Проверил программу. Счетчик работает и в симуляторе и в отладке и в контроллере.
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 10 сентября 2015, 19:23:22
Есть пара замечаний по проектированию ПО.
Конструкция, которую вы применили (выделена цветом на снимке 001) может выглядеть значительно проще.
Поэтому вся конструкция приобретает вид, как на снимке 002
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 10 сентября 2015, 19:33:57
Комбинация на снимке 003 несколько неправильна. Рациональнее сделать так, как на снимке 004.
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 10 сентября 2015, 19:44:43
Конструкция на снимке 005 понятна, но не имеет смысла.
Вы отдаете текущее значение в панель Z033. А панель 033 не понимает минуса. Вы берете модуль числа и преобразователь. Все правильно, но можно сделать чуть более красиво, как на снимке 006.
Вам нужно только отсечь отрицательные значения. С этим прекрасно справляется блок преобразования с дополнительной опцией "установить граничное значение". То есть при появлении отрицательного значения, блок преобразователя установит 0 на своем выходе.
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: leszkin от 11 сентября 2015, 15:14:54
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...

За примеры спасибо - про отсутствие необходимости делать восходящие преобразования просто не знал и делал как привык в работе с SMH2010.

Про последний пример не соглашусь:  Мне именно модуль и нужен был – хоть как то буду отображать температуру наружки.  Уж лучше пускай в минус 20 показывает 20, а не 0 ;)
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 11 сентября 2015, 16:13:17
Цитата: leszkin от 11 сентября 2015, 15:14:54
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 11 сентября 2015, 16:27:14
Цитата: leszkin от 11 сентября 2015, 15:14:54
За примеры спасибо - про отсутствие необходимости делать восходящие преобразования просто не знал и делал как привык в работе с SMH2010.

Смотрим документ
http://zentec.ru/dev/docs/d150714/d120213/
Изучаем этот абзац:
zetFBD преследует цель достижения однозначности поведения устройства при любых входных данных. Для определенности значений входов, связанных с выходами, имеющими отличный тип данных, имеется требование: тип данных выхода должен быть подмножеством типа данных входа. Если для какой-либо связи это требование является ненужным или недостижимым – пользователь должен вставить блок «Преобразование данных» в разрыв этой связи. Вход этого блока принимает данные любого типа. Опции этого блока позволяют определить его поведение при наличии значения, не попадающего во множество значений требуемого типа данных. Блоки, значения выходов у которых могут выходить за диапазон значений типа данных (переполнение при математических операциях), имеют опции, определяющие их поведение.

И в этом эе документе, прям за этим абзацем есть картинка. Прилагаю ее сюда.
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 11 сентября 2015, 16:28:52
Цитата: leszkin от 11 сентября 2015, 15:14:54
Про последний пример не соглашусь:  Мне именно модуль и нужен был – хоть как то буду отображать температуру наружки.  Уж лучше пускай в минус 20 показывает 20, а не 0 ;)

Хитрюга какой!
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: leszkin от 11 сентября 2015, 18:22:56
Цитата: mike от 11 сентября 2015, 16:13:17
Цитата: leszkin от 11 сентября 2015, 15:14:54
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.
да ладно. шкафы уже покинули пределы РФ без данного счетчика)))
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 11 сентября 2015, 18:50:20
Цитата: leszkin от 11 сентября 2015, 18:22:56
Цитата: mike от 11 сентября 2015, 16:13:17
Цитата: leszkin от 11 сентября 2015, 15:14:54
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.
да ладно. шкафы уже покинули пределы РФ без данного счетчика)))
Не хочу показаться занудой, но считаю, что в ситуации надо разобраться. Предлагаю в пн подключиться ко моему раб столу и потыкать проблемные места.
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: leszkin от 11 сентября 2015, 19:07:14
Цитата: mike от 11 сентября 2015, 18:50:20
Цитата: leszkin от 11 сентября 2015, 18:22:56
Цитата: mike от 11 сентября 2015, 16:13:17
Цитата: leszkin от 11 сентября 2015, 15:14:54
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.
да ладно. шкафы уже покинули пределы РФ без данного счетчика)))
Не хочу показаться занудой, но считаю, что в ситуации надо разобраться. Предлагаю в пн подключиться ко моему раб столу и потыкать проблемные места.
ну в таком случае оставим на будущее, но на следующей неделе точно никак - другие объекты подгорают.
Название: Re: Работаем в отладке и не работаем в рабочем режиме.
Отправлено: mike от 11 сентября 2015, 19:11:36
Замёдано!