А вот еще было ...

Как и обещал, привожу пример дилетантского подхода школоты к построению систем автоматизации управления механизмами опасными для жизни и здоровья обслуживающего персонала. Дабы не пугать количеством букв и не утомлять читателей — приведу только несколько «ПЕРЛОВ» из исходника длиной примерно в 1000 строк ( это мало ), которые уже определяют качество программы.


Ребята просто не видели жизни. Датчики — магниточувствительные, а магнитные катушки тормозов приводов огромные. При старте — импульс может вызвать срабатывание и пары горизонтальных и пары вертикальных датчиков. Эту ситуацию надо анализировать, запоминать и выдавать на индикаторы коды соответствующих аварий !
Хорошая система управления от плохой — НИ ЧЕМ НЕ ОТЛИЧАЕТСЯ!
Пока работает ...
Но только до поры, когда происходит какой-то збой.
Хорошую систему легко вывести из шока — она подскажет где авария. Хорошая система помнит правильное последнее движение и после устранения аварии — продолжает движение с того места, где «стопорнулась».
Иногда робот — манипулятор начинал метаться в поисках датчика горизонтальной позиции. Это страшно. Железо около 2 тонн — шарахается по рельсам туда-сюда.
Сколько раз на это смотрел — так и не понял по какому принципу он дергается! А тут еще какой-то «мчудак» поставил кнопку аварийного останова на саму подвижную раму! Рабочий за ней несется, чтобы выключить!
Можно так и ноги переломать. Но самое страшное (и непонятное) — какого она иногда на место загрузки летала? А там — грузчики…
После этой беготни начиналась хрень по возвращению всего в исходное состояние для перезапуска. Во как !
Пришлось просто забить на этот бред и написать полностью свою программу.
В результате вместо 30 кб. исходника — получилась программа в 120 кб. Наладчики забыли дорогу к линии. Все аварии индицировались с указанием причины.
  • +2
  • 28 декабря 2009, 11:04
  • Markony

Комментарии (6)

RSS свернуть / развернуть
+
+1
ха ха ха да не хотелось бы оказаться на месте рабочего такого чудо скриптового аппарата. Да такие косяки встречаются почти везде.
avatar

FREExLOADER

  • 28 декабря 2009, 13:33
+
0
Ребята, похоже, не подозревают о существовании оператора switch().
avatar

yababay

  • 28 декабря 2009, 13:53
+
0
Иногда робот — манипулятор начинал метаться в поисках датчика горизонтальной позиции. Это страшно. Железо около 2 тонн — шарахается по рельсам туда-сюда.


подсудное дело может быть
avatar

Sergei_T

  • 28 декабря 2009, 14:02
+
0
Недавно было то ли на ithappens'е то ли на баше: плохо запрограммированная тележка на автоматизированном складе сбила стойку стеллажа на нижнем ярусе и обрушила техники на несколько десятков миллионов. Это не подсудное дело. Это тазик с бетоном на ноги и в Гудзон.
avatar

yababay

  • 28 декабря 2009, 15:36
+
0
Это «были дешевы билеты» и «студенческий еперный театр» ))))
avatar

Sergei_T

  • 28 декабря 2009, 16:28
+
0
Да нет — оператор switch() case — это пустяки.
Главное непонимание того, что просто не бывает!
Я иногда балдел от осознания на сколько сложные завихи возникают
из 3-х датчиков и одного исполнительного механизма, если они увязаны алгоритмом + временем! А сколько вариантов неверных реакций, если в этот алгоритм невовремя влезет человек !!!Вы не поверите…
А как этот бред потом разруливать !?
Ребята вообще не видят этих проблем...
avatar

Markony

  • 28 декабря 2009, 16:44

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.