Панель пользователя

Автор Тема: Работаем в отладке и не работаем в рабочем режиме.  (Прочитано 2544 раз)

Оффлайн leszkin

  • Новичок
  • *
  • Сообщений: 20
  • Карма: +0/-0
Программа одна и та же. В отладке в устройстве всё происходит как нужно, проливаюсь в рабочем режиме - не срабатывает 1 из счетчиков. Пробовал на нескольких контроллерах. ОЗУ использована на ~13%. Размер программы ~40%.
Моя криворукость или глюк?

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1198
  • Карма: +34/-1
А давайте посмотрим ваш проект.
В проекте выделить счетчик красным прямоугольником (что бы было сразу заметно) и выслать на info@zentec.ru

Оффлайн leszkin

  • Новичок
  • *
  • Сообщений: 20
  • Карма: +0/-0
отправил. интерес уже чисто на будущее - т.к. шкафы запрограммировали без данного счетчика.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1198
  • Карма: +34/-1
Проверил программу. Счетчик работает и в симуляторе и в отладке и в контроллере.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1198
  • Карма: +34/-1
Есть пара замечаний по проектированию ПО.
Конструкция, которую вы применили (выделена цветом на снимке 001) может выглядеть значительно проще.
  • Сигнал "Работа ВВ" имеет тип данных bool. В ZWB нет смысла ставить преобразователи типов по восходящей.
  • Блоки математики - многоножки
Поэтому вся конструкция приобретает вид, как на снимке 002
« Последнее редактирование: 10 Сентябрь 2015, 19:27:08 от mike »

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1198
  • Карма: +34/-1
Комбинация на снимке 003 несколько неправильна. Рациональнее сделать так, как на снимке 004.

Оффлайн mike

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

Оффлайн leszkin

  • Новичок
  • *
  • Сообщений: 20
  • Карма: +0/-0
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
 
За примеры спасибо - про отсутствие необходимости делать восходящие преобразования просто не знал и делал как привык в работе с SMH2010.

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

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1198
  • Карма: +34/-1
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1198
  • Карма: +34/-1
За примеры спасибо - про отсутствие необходимости делать восходящие преобразования просто не знал и делал как привык в работе с SMH2010.

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

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

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1198
  • Карма: +34/-1
Про последний пример не соглашусь:  Мне именно модуль и нужен был – хоть как то буду отображать температуру наружки.  Уж лучше пускай в минус 20 показывает 20, а не 0 ;)

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

Оффлайн leszkin

  • Новичок
  • *
  • Сообщений: 20
  • Карма: +0/-0
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.
да ладно. шкафы уже покинули пределы РФ без данного счетчика)))

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1198
  • Карма: +34/-1
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.
да ладно. шкафы уже покинули пределы РФ без данного счетчика)))
Не хочу показаться занудой, но считаю, что в ситуации надо разобраться. Предлагаю в пн подключиться ко моему раб столу и потыкать проблемные места.

Оффлайн leszkin

  • Новичок
  • *
  • Сообщений: 20
  • Карма: +0/-0
Михаил про программу очень странно. Пробовал на 3х разных контроллерах. Ну да ладно - проехали...
Может у вас условия какие-то не соблюдаются? Давайте подключимся вместе к отладке и посмотрим.
да ладно. шкафы уже покинули пределы РФ без данного счетчика)))
Не хочу показаться занудой, но считаю, что в ситуации надо разобраться. Предлагаю в пн подключиться ко моему раб столу и потыкать проблемные места.
ну в таком случае оставим на будущее, но на следующей неделе точно никак - другие объекты подгорают.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1198
  • Карма: +34/-1
Замёдано!