1.
К истории http://www.anekdot.ru/an/an1510/t151014.html#2
В конце 80-х станки с числовым программным управлением в нашей стране потихоньку стали распространяться и по обычным предприятиям, выйдя за пределы "почтовых ящиков"... А вот специалистов по ремонту и обслуживанию станков было очень мало. А уж по ремонту микроЭВМ, этими станками управляющими - единицы. Посему были созданы региональные Центры по ремонту и обслуживанию этих монстров и "инженеГры" стали разъезжать по предприятиям и решать проблемы...
На одном заводе Автопрома фрезерный станок исправно делал множество сложных деталей, но напрочь отказывался делать единственную простую. Причем, делал деталь практически всю: несколько круглых углублений разного диаметра получались, но при резании последнего(!) отверстия, когда до окончания операции (и,собственно изготовления детали) оставались доли секунды, стол станка с деталью внезапно шарахался в сторону так, что ломалась фреза и деталь портилась полностью..
Ну, приехали мы на завод. Запустили станок "по воздуху"- программу без детали... Смотрим - дергается.
Стойка управления, приводы, датчики - все исправны, тесты проходят... Что называется - ЗАДАЧА :(
Однако запустили программу по шагам и заметили, что координаты точки окончания той окружности и самой программы имеют координаты X=0, Y=0.... И тут родилась идея - мы сместили привязку станка (точка от которой отсчитываются координаты детали) на несколько миллиметров и программа стала проходить на ура!
Причина была проста: разработчик ПО станка "изобрел формулу".. Дело в том, что движение фрезы по кривой, например окружности, представляет интерполяцию: это микроперемещения по двум направлениям, в виде ступенечек. И не одновременное, а последовательное- микроЭВМ тех лет имело очень низкую производительность...А тут еще "рационализатор" заставил компьютер высчитывать перемещение координаты X по значению координаты Y. А формула представляла дробь, в которой этот Y был в знаменателе. Когда координата становилась равной 0... Ну, вы поняли. :)