Работаем в отладке и не работаем в рабочем режиме.

Автор leszkin, 05 сентября 2015, 19:35:47

« назад - далее »

leszkin

Программа одна и та же. В отладке в устройстве всё происходит как нужно, проливаюсь в рабочем режиме - не срабатывает 1 из счетчиков. Пробовал на нескольких контроллерах. ОЗУ использована на ~13%. Размер программы ~40%.
Моя криворукость или глюк?

mike

А давайте посмотрим ваш проект.
В проекте выделить счетчик красным прямоугольником (что бы было сразу заметно) и выслать на info@zentec.ru

leszkin

отправил. интерес уже чисто на будущее - т.к. шкафы запрограммировали без данного счетчика.

mike

Проверил программу. Счетчик работает и в симуляторе и в отладке и в контроллере.

mike

#4
Есть пара замечаний по проектированию ПО.
Конструкция, которую вы применили (выделена цветом на снимке 001) может выглядеть значительно проще.

  • Сигнал "Работа ВВ" имеет тип данных bool. В ZWB нет смысла ставить преобразователи типов по восходящей.
  • Блоки математики - многоножки
Поэтому вся конструкция приобретает вид, как на снимке 002

mike

Комбинация на снимке 003 несколько неправильна. Рациональнее сделать так, как на снимке 004.

mike

Конструкция на снимке 005 понятна, но не имеет смысла.
Вы отдаете текущее значение в панель Z033. А панель 033 не понимает минуса. Вы берете модуль числа и преобразователь. Все правильно, но можно сделать чуть более красиво, как на снимке 006.
Вам нужно только отсечь отрицательные значения. С этим прекрасно справляется блок преобразования с дополнительной опцией "установить граничное значение". То есть при появлении отрицательного значения, блок преобразователя установит 0 на своем выходе.

leszkin

Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...

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

Про последний пример не соглашусь:  Мне именно модуль и нужен был – хоть как то буду отображать температуру наружки.  Уж лучше пускай в минус 20 показывает 20, а не 0 ;)

mike

Цитата: leszkin от 11 сентября 2015, 15:14:54
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.

mike

Цитата: leszkin от 11 сентября 2015, 15:14:54
За примеры спасибо - про отсутствие необходимости делать восходящие преобразования просто не знал и делал как привык в работе с SMH2010.

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

И в этом эе документе, прям за этим абзацем есть картинка. Прилагаю ее сюда.

mike

Цитата: leszkin от 11 сентября 2015, 15:14:54
Про последний пример не соглашусь:  Мне именно модуль и нужен был – хоть как то буду отображать температуру наружки.  Уж лучше пускай в минус 20 показывает 20, а не 0 ;)

Хитрюга какой!

leszkin

Цитата: mike от 11 сентября 2015, 16:13:17
Цитата: leszkin от 11 сентября 2015, 15:14:54
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.
да ладно. шкафы уже покинули пределы РФ без данного счетчика)))

mike

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

leszkin

Цитата: 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х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.
да ладно. шкафы уже покинули пределы РФ без данного счетчика)))
Не хочу показаться занудой, но считаю, что в ситуации надо разобраться. Предлагаю в пн подключиться ко моему раб столу и потыкать проблемные места.
ну в таком случае оставим на будущее, но на следующей неделе точно никак - другие объекты подгорают.

mike