Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
 
Добавить ответ в эту темуОткрыть тему
> Программная ошибка в реализации таймера ПР Овен, Что лучше - исправить или оставить как есть?
SideMoon
сообщение 19.2.2018, 18:29
Сообщение #1





Группа: New
Сообщений: 3
Регистрация: 19.2.2018
Пользователь №: 337235



Не с первой попытки, но нашел причину ошибки (ошибка в библиотеке от поизводителя) таймера TP, задающего ширину импульса в среде разработки "OWEN Logic" комании Овен.

Краткое описание ошибки - таймер имеет два входа : 1) Вход Уставки длины импульса
2) Вход Управляющий, по переднему фронту которого генерируется импульс на выходе таймера.
При Уставке =0, на выходе должен генерироваться импульс нулевой длины, то есть его не должно быть. Но реально генерируется импульс длиной около 0,1 сек (для Овен ПР100).

--------

В процессе обсуждения были высказаны разные мнения о необходимости исправления ошибки:
1) предлагают решить проблему другим способом, не имеющим отношения к таймеру TP
2) исправлять ошибку в таймере нельзя, тк это может нарушить работу ранее созданных проектов
3) сделать альтернативный таймер с другим названием
4) описать обнаруженную ошибку в руководстве по Owen Logic и оставить все как есть.

http://www.owen.ru/forum/showthread.php?t=...ll=1#post270457
http://www.owen.ru/forum/showthread.php?t=...ll=1#post270472

Не хотелось бы обсуждать производителя - плох он или хорош, ошибки могут быть у всех.

Интересно мнение форумчан - какой описанных вариантов (1 ... 4 или другой ) решения проблемы лучше и почему?







Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_wild_*
сообщение 19.2.2018, 18:47
Сообщение #2





Guest Forum






Задавать 0 длительность импульса это глупо. Проверяйте в своей программе параметры на диапазон допустимых значений.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
SideMoon
сообщение 19.2.2018, 18:59
Сообщение #3





Группа: New
Сообщений: 3
Регистрация: 19.2.2018
Пользователь №: 337235



Цитата(wild @ 19.2.2018, 18:47) *
Задавать 0 длительность импульса это глупо. Проверяйте в своей программе параметры на диапазон допустимых значений.


Предлагаю обойтись без оскорблений и вешания ярлыков.

Есть много причин, когда может быть использована нулевая уставка. Например, для сброса таймера в начальное состояние не дожидаясь окончания длинного импульса. Или для генератора, в котором программируемое реле (ПР) определяет длительность, а изменяемая частота импульсов определяется внешним генератором и также применимо для многих других случаев.

Предлагаю обсудить варианты устранения найденной ошибки из 4-х предложенных или любых других на ваш выбор.

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
По самые по...
сообщение 19.2.2018, 19:00
Сообщение #4





Группа: Участники форума
Сообщений: 3712
Регистрация: 6.9.2007
Пользователь №: 11117



Цитата(SideMoon @ 19.2.2018, 18:29) *
...

В процессе обсуждения были высказаны разные мнения о необходимости исправления ошибки:
1) предлагают решить проблему другим способом, не имеющим отношения к таймеру TP
2) исправлять ошибку в таймере нельзя, тк это может нарушить работу ранее созданных проектов
3) сделать альтернативный таймер с другим названием
4) описать обнаруженную ошибку в руководстве по Owen Logic и оставить все как есть.

http://www.owen.ru/forum/showthread.php?t=...ll=1#post270457
http://www.owen.ru/forum/showthread.php?t=...ll=1#post270472

...
Интересно мнение форумчан - какой описанных вариантов (1 ... 4 или другой ) решения проблемы лучше и почему?


Честно описАть обнаруженную ошибку и сделать альтернативный вариант
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_wild_*
сообщение 19.2.2018, 19:04
Сообщение #5





Guest Forum






Цитата(SideMoon @ 19.2.2018, 18:59) *
Предлагаю обойтись без оскорблений и вешания ярлыков.

Есть много причин, когда может быть использована нулевая уставка.


Для начала подумайте как обрабатывается такой функциональный блок исполнительной средой контроллеров, а после этого у Вас не будет соблазнов описывать бесполезные предложения на форуме.
Есть минимальный цикл задачи и вы не можете обеспечить формирование импульса короче чем этот цикл. Какой цикл у вашего аппаратного обеспечения? Отсюда и вывод не пишите глупые программы
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
LordN
сообщение 19.2.2018, 20:45
Сообщение #6


МОДЕРАТОР


Группа: Модераторы
Сообщений: 10904
Регистрация: 3.7.2004
Пользователь №: 32



Цитата(wild @ 19.2.2018, 22:47) *
Задавать 0 длительность импульса это глупо. Проверяйте в своей программе параметры на диапазон допустимых значений.

+1
то, что библиотечные функции не делают того, чего от них хочет всякий разный программист - это вообще не проблема, это данность.
селявуха.
с этим просто надо жить и выкручиваться на том месте, где попался в эту ситуацию.

поэтому естественно надо делать так:
самому себе написать тз на нужный функционал и создать его.
других способов просто не бывает.
rolleyes.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
SideMoon
сообщение 19.2.2018, 20:48
Сообщение #7





Группа: New
Сообщений: 3
Регистрация: 19.2.2018
Пользователь №: 337235



Цитата(wild @ 19.2.2018, 19:04) *
Для начала подумайте как обрабатывается такой функциональный блок исполнительной средой контроллеров
это уже выяснили вместе с коллегами - проверили аппаратно и на симуляторе.

Обрабатывается ошибочно. Программа не глядя на уставку, выставляет логич. 1 на выходе таймера, а потом начинает анализировать уставку и выставляет логич. 0

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kosmos440o
сообщение 19.2.2018, 22:53
Сообщение #8





Группа: Участники форума
Сообщений: 3050
Регистрация: 30.9.2010
Из: Иркутск
Пользователь №: 74376



Это не баг, а фича. Надо сделать правку в описании блока. Юзер должен сблокировать значение {Длина импульса >0} в булеан по И с {Разрешено сделать импульс} и это уже подавать на Вход Управляющий. Хотя лучше конечно добавить это в логику блока. Вероятнее всего об этом даже никто из юзеров не узнает. Ибо такой короткий импульс, на уровне гонок, в релейной логике не используется.

Цитата(wild @ 19.2.2018, 18:47) *
Задавать 0 длительность импульса это глупо. Проверяйте в своей программе параметры на диапазон допустимых значений.

Ну да, этот как частотник отключать по входу 0-10 вольт, без отключения по цифровому входу. Можно, но ненадёжно.


Сообщение отредактировал kosmos440o - 19.2.2018, 22:50
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
starmos
сообщение 20.2.2018, 9:28
Сообщение #9





Группа: Участники форума
Сообщений: 644
Регистрация: 22.12.2011
Пользователь №: 134172



Если я правильно понимаю, то Управляющий вход в момент ошибки активен? Т.е. вы говорите таймеру - "сгенерируй мне импульс нулевой длины"? Это получается из Дзэн что-то, вроде "хлопка одной ладони". Примитивный блок таймера должен ВМЕСТО вас решить что вам важнее: сгенерировать импульс (т.к. вы установили управляющий сигнал) или не генерировать (т.к. вы установили нулевую длину)?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274




Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU

ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW

Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума






RSS Текстовая версия Сейчас: 9.8.2025, 7:37
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных