Avgorr
Forum Professor / Завсегдатай форума
Участник № / Member № 2607
отправлено / posted
FBD блок SIGN. В справке сказано: Если INP = 0, то SN+ = SN- = 0, а на самом деле при INP = 0 имеем SN+ = 1, а SN- = 0.
Сообщения / Posts 168 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ValL
Junior Member / Новичок
Участник № / Member № 4759
отправлено / posted
Может и правильно. И ошибку поправить быстрее. А в ТМ5 "ноль" не считался положительным. И работал блок как в описании...
Сообщения / Posts 19 | Из / From: Украина
| IP / IP: IP адрес / IP address |
Romсheg
unregistered
отправлено / posted
2AdAstra Technical Support: Согласен с пользователем ValL - со стандартом МЭК на FBD это как согласуется? Вообще-то ноль не является положительным числом, такое математика допускает только для частных случаев (и только по взаимному решению). Даже в языках программирования аналогичная функция имеет три состояния: <0, >0 и =0.
IP / IP: IP адрес / IP address |
отправлено / posted
В стандарте МЭК на FBD блок SIGN отсутствует. Хотя в чистой математике знак 0 не определен, в формах представления чисел в программировании любое число имеет знак (это старший бит в представлении числа). 0 относится к положительным числам. Мы считаем, что такая широко распространненая интерпретация никак не нарушает логики вычислений и алгоритмизации анализа. Изменения в работе этого блока не предополагаются.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Abram Shnider
Active Forum Member / Активный участник форума
Участник № / Member № 4534
отправлено / posted
AdAstra Technical Support, Позвольте с Вами не согласиться. Конечно с точки зрения "форматов представления чисел любое число имеет знак", однако 0 всегда был исключительным случаем, что иногда удобно использовать.
Согласен с Romcheg'ом:
quote:Отправитель / Originally posted by Romсheg: 2AdAstra Technical Support: в языках программирования аналогичная функция имеет три состояния: <0, >0 и =0.
отправлено / posted
Можно привести конкретный пример задачи, в которой требуется только такая функция блока, и никак иначе?
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Abram Shnider
Active Forum Member / Активный участник форума
Участник № / Member № 4534
отправлено / posted
quote:Отправитель / Originally posted by AdAstra Technical Support: Можно привести конкретный пример задачи, в которой требуется только такая функция блока, и никак иначе?
Может быть и не совсем в тему, но сходу всплывает задача аналогичная "Поиску решения" в MS Excel. Это последовательное приближение.
отправлено / posted
При таком подходе возникает встречный вопрос - а можно привести пример задачи, для которой Адастра вообще делала этот блок? Можно было с успехом обойтись и тремя сравнениями. А зачем ПИД-регулятор делали? Можно из штатных базовых составить формулу... И так можно продолжать еще долго.
Если исправления блока идут в разрез с мнением разработки или маркетинга - приведите, пожалуйста, их доводы по поводу того, почему они не хотят вносить исправления?
По своим задачам приведу один из примеров, где такой блок бывает полезен: иногда внутри логики алгоритма приходится работать с кодом состояния задвижки, которая имеет три состояния: открывается, закрывается, в покое. Открытие и закрытие - это положительная и отрицательная команда, а вот покой - это ноль. Конечно, обойтись тремя блоками можно, но удобнее одним...
IP / IP: IP адрес / IP address |
A40
unregistered
отправлено / posted
Вот сейчас достал древний калькулятор МК-61 Оператор ЗН работает как и положено по метематике -1,0,+1
IP / IP: IP адрес / IP address |
Avgorr
Forum Professor / Завсегдатай форума
Участник № / Member № 2607
отправлено / posted
quote:Отправитель / Originally posted by Romсheg: По своим задачам приведу один из примеров, где такой блок бывает полезен: иногда внутри логики алгоритма приходится работать с кодом состояния задвижки, которая имеет три состояния: открывается, закрывается, в покое. Открытие и закрытие - это положительная и отрицательная команда, а вот покой - это ноль. Конечно, обойтись тремя блоками можно, но удобнее одним...
отправлено / posted
Если даже состояние "задвижки" кодируется числами со сменой знака, необходимое преобразование легко осуществляется блоком "Управление по интервалу" (<>F).
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ValL
Junior Member / Новичок
Участник № / Member № 4759
отправлено / posted
Мне кажется, этот блок с 2 выходами и создавался с целью определения возможного третьего состояния. И это логично. А иначе почему не предлагаются другие блоки сравнения с двумя выходами? Ведь по сути тогда в варианте "AdAstra" выходы блока SIGN SN+ и SN- являются обычными прямым и инверсным. Значит создали второй вход в качестве бонуса. Но тогда не прослеживается однотипности в подходе. Программист похоже ошибся, и стоило признать по-моему мелкую ошибку, а не продолжать тему. В конце концов не ошибается тот, кто ничего не делает. А иначе действительно, зачем блок SIGN? Его можно заменить блоком "Больше или равно (>=)", когда IN2=0. Я бы голосовал за исправление ошибки в блоке...
Сообщения / Posts 19 | Из / From: Украина
| IP / IP: IP адрес / IP address |
Romсheg
unregistered
отправлено / posted
1) Программист всегда прав 2) Если нашли ошибку в ТМ6 - правим документацию и смотрим пункт №1
Abram Shnider
Active Forum Member / Активный участник форума
Участник № / Member № 4534
отправлено / posted
Насколько я понимаю концепцию Trace Mode (поправьте, если ошибаюсь), FBD-блоки в конце-концов представляют собой фрагменты кода ST. А если это так, тогда самым простым решением указанных выше примеров применения блока является использование именно правильно работающего блока SIGN:
quote:Отправитель / Originally posted by A40: Вот сейчас достал древний калькулятор МК-61 Оператор ЗН работает как и положено по метематике -1,0,+1
Думается мне, что блок "управление по интервалу" является несколько более сложным...