fixik_papus: (Default)
[personal profile] fixik_papus
Битик, битик - вроде малость
Но возьмите выньте-ка
В мире всё б давно сломалось
Без него, без битика


В оригинале эта песенка звучит чуть по-другому
(пятничного всем настроения, да)



Работа инженера-автоматчика в равной степени связана и с битиками, и с винтиками.
О пропавших винтиках, шариках от подшипника и прочих делах слесарных - надеюсь, я еще расскажу.
А сегодня - пятничная "сага о пропавшем битике".

Итак, небольшая мебельная фабрика, "первая эпоха импортозамещения" (1999. Или 2000)....
Помимо всякого ручного и электрического столярно-плотницкого инструмента, на фабрике с давних пор имелся фрезерный станок с ЧПУ.
(да-да! в советские времена делались станки с ЧПУ для мебельного производства!)
Применялся он для выпиливания всяких филенок и прочих мебельных "украшулек".

Фото его сделать я тогда как-то не догадался. Примерно так это выглядело:

domashnii_chpu_stanok_upravljaemyi_kompyuterom_soft_bmp-net-ua[1].jpg

Ныне такой станок любой желающий может сделать в гараже. Например, вот тут написано, как (оттуда и фото).
Но судьба нашего станка гораздо интереснее, и заслуживает чуть более подробного рассказа.

Сделан станок был в первой половине 80х годов (точно никто не помнил, но работяги утверждали, что "до Горбачева") неким аспирантом из местного политеха, которому требовался акт о внедрении. В чем там была "научная новизна" - БМП (без малейшего понятия), но вот "практическая ценность" какая-никакая - явно присутствовала.
С материалами и их обработков будущему "кандидату в доктора" явно помогали студенты-заочники с местных предприятий. В результате чего механика была сделана куда лучше, чем на фото выше (редукторы с шариковыми гайками, направляющие "ласточкин хвост" и прочая.). Несмотря на неказистый вид - оно работало.

А вот с системой управления все было несколько печальнее. Это сейчас можно купить в гараж любой б/у ноутбук и написать для него программулину. В те времена даже для шаговых движков все было несколько сложнее.

Контроллер станка выглядел как-то так



На самом деле, на фото никакой не контроллер ЧПУ, а самопальный компьютер Радио-86РК. Я такой тоже в радиокружке паял, правда, не так аккуратно вышло.
Тем не менее, все весьма похоже, и даже большинство чипов те же. Серия КР580 была единственной, хоть как-то доступной в те времена для творчества. И качество изготовления примерно такое же. С разрезанными дорожками и перемычечками кое-где.

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

Несмотря на всю кустарность - станок вполне сносно проработал лет 15.
А потом - стал глючить.

Глючил он так: если заданная в кадре координата Y была больше двух с половиной сантиметров - вместо движения в нужное место инструмент ехал куда ему захочется. Обычно ему хотелось уехать (кто бы сомневался) за пределы рабочего поля, до наезда на концевик.

Поскольку никакой документацией своего творчества аспирант себя не утруждал (не барское это дело, схемы рисовать) - схемы и программы отсутствовали в принципе.

Попал я на этот заводик, среди прочих, во время поиска объектов для внедрения флэш-памяти собственного изготовления.
Тут ситуация была несколько необычной. "Да, есть у нас станочек самопальный с перфолентой, только он глючит, и никто не знает, что с ним делать. Наверно, на чермет порежем".
Мое предложение "попробовать посмотреть, не получится - так не получится, чермет дешевле не станет" возражений не вызвало.

После беглого ознакомления со станком я отметил два момента:
- один шаг шаговых приводов X и Y - 0.1 мм (в пересчете на линейное перемещение после редуктора)
- глюки начинаются ровно с координаты 25.6 мм по оси Y.

Не сообразили еще? А знаете, когда отмечается день программиста? 256 день в году. Потому что 2 в восьмой степени.
Между прочим, инженер-автоматчик и тогда, а ныне и подавно, обязан быть и программистом.

Очевидно, проблема происходит где-то при пересчете старшего байта координат.
Но откуда она могла взяться, если раньше все работало?
Тут уж пришлось посмотреть на плату ЧПУ.

Программа в нем хранилась в микросхемах К573РФ1. Емкостью 1 кбит*8. В количестве 2 шт.
Вот они:

micro_72[1].jpg

Это микросхема энергонезависимой памяти с ультрафиолетовым стиранием. Для стирания на ее спине имеется стеклянное окошечко. Самые первые, освоенные в производстве в СССР.
В исходном состоянии (или после стирания) все ее битики = 1, при программировании в нужные записывается нолик).

Я выковырял обе микросхемы из панелек, и отправился на поиски программатора - вытащить прошивку.
Это было само по себе увлекательным и непростым мероприятием. Потому что этому самому первому в СССР чипу - требовались 3 (ТРИ) напряжения питания +5, -5 и +12В, причем -5 нужно подавать первым, а снимать последним. А если эти чипы спалить - станок точно поедет в чермет. Ибо делать программу заново - явно нерентабельное мероприятие.
-5В умели выдавать далеко не все программаторы. А один попавшийся экземпляр, который когда-то умел - сломался, а чинить ненужную давным-давно никому цепь -5В никто не собирался (а то и вовсе не знал, что она неисправна). Хорошо, догадался померить, перед тем как чипы уникальные совать.

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

Кусочек таблицы команд процессора КР580ВМ80А, он же КР580ИК80А, а в девичестве - Intel i8080.



В процедуре интерполятора, после завершения расчетов координат очередного перемещения, была обнаружена бессмысленная команда MOV A,A.
Откуда она там взялась? Изначально была осмысленная команда MOV M,A (М - это ячейка памяти по адресу, указанному в регистровой паре HL).
Отличаются они одним битиком в машинном коде.

И вот этот самый битик - потерялся. Точнее, стал единичкой (вспоминаем, что стертое состояние ПЗУ - все единички).
Результат - старший байт координаты Y терялся, и вместо него для управления перемещением брался "мусор".

Почему убежал битик - узнать невозможно.
То ли в чипе эта ячейка изначально была дефектная, с большой утечкой заряда с плавающего затвора.
То ли просто срок хранения данных к концу подходил (гарантия на срок хранения данных 10 лет, типичное значение 25 лет, прошло где-то 15).
То ли программатор при записи этого адреса сглючил.
То ли коварная альфа-частица из космоса пролетела через атмосферу, проникла на мебельную фабрику, попала точно в чип ПЗУ и организовала утечку заряда...

А вот вернуть его на место - очень даже возможно.
Конечно, не было никакого смысла разыскивать именно К573РФ1. В конце 90х были доступны и недороги любые чипы ПЗУ. Я залил программу в копеечный чип 2716, и воткнул вместо обоих старых. (на плате при этом чуть добавилось перемычек и разрезанных дорожек. Потому что если подать -5В на 2716 - чип сгорит нафих).
И еще меньше смысла - пытаться восстановить-перепрошить заглючивший старый чип.
Они оба - отправились, куда им и положено по окончании срока службы - в драгмет. Не пропадать же целым 0,0339699г золота и 0,0485637г серебра! :)

Станок заработал, как ему и положено. И еще не один год работал.
А я заслужил у местных звание "почетного колдуна с отличием" :)

P.S. Ну и флешки свои на эту мебельную фабрику я тоже успешно продал, конечно.
Date: 5 Feb 2016 20:36 (UTC)

From: [identity profile] zloi-vicik.livejournal.com
Слышал мнение, что Z80 настолько были удачны по архитектуре, что до сих пор их не переплюнули по "затраты-отдача". Помню в 90х зашел к брату друга, а у него "Спектрум". Ну да, у брата своего на работе я уже на 286й тогда игрался, у которой даже были 5и дюймовые дисководы, а тут в спектруме, два дисковода, с которых он стартует, и работает. И (!) музыка в формате .stm! Это было так феерично и офигенно, особенно через усилок Радиотехника на S90! Блин, пытался это все как то жене объяснить, нифига прикола не поняла... Эх, молодежжж...
Date: 5 Feb 2016 22:07 (UTC)

From: [personal profile] ex0_planet
Скорее дело в наличии толп программистов, освоивших систему команд i8080 и её производные.

Лично держал в руках в 2007 индустриальную ЖК-панель (пассивный STN 320x240 еще, никаких TFT), дак внутри был какой-то потомок Z80: можно было заливать туда свой код и оффлоадить графику, или слушать чего там присылают по шине и рисовать это на экране.

Помню только то, что методология программирования всего этого была абсолютно ублюдочной. Какой-то недоделанный компилятор, убогая среда разработки, почти полное отсутствие документации — вот это все...
Edited Date: 5 Feb 2016 22:08 (UTC)

(no subject)

From: [identity profile] antontsau.livejournal.com - Date: 5 Feb 2016 22:34 (UTC) - Expand

(no subject)

From: [identity profile] zloi-vicik.livejournal.com - Date: 5 Feb 2016 22:50 (UTC) - Expand

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 6 Feb 2016 06:46 (UTC) - Expand
Date: 6 Feb 2016 05:59 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Смею Вас заверить, что архитектура x51, AVR и STM32 ничуть не хуже.

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

Ныне мелкие простые процессоры для компьютеров, конечно, малоприменимы.
А вот для разнообразных встроенных систем - очень даже!

(no subject)

From: [identity profile] toster666.livejournal.com - Date: 6 Feb 2016 08:22 (UTC) - Expand

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 6 Feb 2016 09:00 (UTC) - Expand
Date: 5 Feb 2016 20:45 (UTC)

From: [identity profile] ocean-trader.livejournal.com
Экий Вы умелец.
Date: 6 Feb 2016 06:43 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Будете смеяться, но...
но за прошедшие 16 (17?) лет мир изменился, но несильно

Вот прям сейчас восстанавливаю программу от одной технологической установки, которую подрядчики, делавшие ее - умудрились ПОТЕРЯТЬ, вследствие чего сами не могут исправить свои же ошибки :)

1 февраля кончилась гарантия - и вот теперь у меня есть официальное разрешение навести порядок
Date: 5 Feb 2016 20:45 (UTC)

From: [identity profile] olezhas.livejournal.com
читаю такое с завистью :-)
Date: 7 Feb 2016 01:31 (UTC)

From: [identity profile] zhytie.livejournal.com
Аналогично! :))
Date: 5 Feb 2016 20:45 (UTC)

From: [identity profile] reedcat1965.livejournal.com
Класс. Завод хоть как-то отблагодарил в материальной форме?

> Это сейчас можно купить в гараж любой б/у ноутбук и написать для него программулину.
Ардуины для управления хватит. Хотя компьютер тоже понадобится.
Date: 6 Feb 2016 06:00 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Конечно.
Все остались довольны и счастливы. Win-Win.

А сейчас знаете какой главный лимитирующий фактор?
Не поверите. Не деньги. И не гараж.
ВРЕМЯ.


(no subject)

From: [identity profile] reedcat1965.livejournal.com - Date: 6 Feb 2016 07:50 (UTC) - Expand

(no subject)

From: [identity profile] zhytie.livejournal.com - Date: 7 Feb 2016 01:32 (UTC) - Expand
Date: 5 Feb 2016 20:48 (UTC)

From: [identity profile] Михаил Богданов (from livejournal.com)
Спасибо за День программиста -поздравлю зятя ! Читаю Ваши рассказы с показами с удовольствием плюс комменты..
Date: 6 Feb 2016 06:04 (UTC)

From: [identity profile] fixik-papus.livejournal.com
спасибо!
Date: 5 Feb 2016 20:54 (UTC)

From: [identity profile] gray-bird.livejournal.com
ГМ.
Байка конечно зачетная, но с фига ли аспирант поставил дефицитные РФ заместо дешевых однократных РТ - неясно. :)
upd. Дешевые РТ-2 текли только в путь, в кассетной деке ВЕГА я их перепрошивал раза два.
Edited Date: 5 Feb 2016 21:02 (UTC)
Date: 5 Feb 2016 21:39 (UTC)

From: [identity profile] 1500py470.livejournal.com
Если Н556РТ2 использовать, то вполне надёжно, но из самоделкиных тогда мало кто шаг 1.25 любил.

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 6 Feb 2016 06:05 (UTC) - Expand

(no subject)

From: [identity profile] 1500py470.livejournal.com - Date: 6 Feb 2016 07:22 (UTC) - Expand

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 6 Feb 2016 07:29 (UTC) - Expand

(no subject)

From: [identity profile] 1500py470.livejournal.com - Date: 6 Feb 2016 08:18 (UTC) - Expand

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 6 Feb 2016 05:48 (UTC) - Expand

(no subject)

From: [identity profile] gray-bird.livejournal.com - Date: 6 Feb 2016 08:28 (UTC) - Expand

(no subject)

From: [personal profile] fortness90 - Date: 7 Feb 2016 17:39 (UTC) - Expand

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 7 Feb 2016 18:01 (UTC) - Expand
Date: 5 Feb 2016 21:34 (UTC)

From: [identity profile] 1500py470.livejournal.com
Можно в условиях войны подавать вместо -5В — 0, а вместо +12В — +5В как правило до месяца скорее проработает, а потом в утиль. А вот без ноля или минус пяти вольт за секунды уже не жильцы. Можно не успеть считать.
Date: 6 Feb 2016 06:05 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Это хорошо экспериментировать, когда чипов одинаковых много.
А вот если он такой на свете один - то лучше не надо :)

(no subject)

From: [identity profile] 1500py470.livejournal.com - Date: 6 Feb 2016 07:36 (UTC) - Expand
Date: 5 Feb 2016 21:44 (UTC)

From: [identity profile] vory-tatarstana.livejournal.com
ну, вы блин и монстр!
респектище
Date: 5 Feb 2016 21:51 (UTC)

From: [identity profile] vaquero1978.livejournal.com
круто!
Date: 5 Feb 2016 22:25 (UTC)

From: [identity profile] tilibomkin.livejournal.com
Пост замечательный. Но видео - шо это за адский ужос? Откуда это, шо это такое?
Date: 6 Feb 2016 06:06 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Из мультика же :)

(no subject)

From: [identity profile] tilibomkin.livejournal.com - Date: 6 Feb 2016 06:28 (UTC) - Expand

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 6 Feb 2016 07:30 (UTC) - Expand
Date: 5 Feb 2016 22:32 (UTC)

From: [identity profile] antontsau.livejournal.com
Нуу, в кило кода 8080 разобраться еще можно. А вот когда его там кил 30, да еще компилированного со всяких сей если не паскалей...

Думаю кстати что именно в этом контроллере и содержалась ноучная ценность и инновация коня дедада. Типа вместо релюшек и шкафа жесткой логики всего одна плата с камнями, при внедрении в масштабах мебельной промышленности ссср даст экономию 100500 миллионов рублей блаблабла.
Date: 6 Feb 2016 06:21 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Это да.
Даже в начале 90х я наблюдал серийно выпускаемые (!) ЧПУ на базе Логики-Т.
Это такая коробочка размером с пачку сигарет. Одна коробочка - один логический элемент.
И да, ей нужно ТРИ напряжения питания...
Date: 5 Feb 2016 22:37 (UTC)

From: [identity profile] virginian.livejournal.com
Это какое же терпение надо иметь, респект!
Date: 6 Feb 2016 06:19 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Это называется "время есть, работы нет, кушать очень хочется"

(no subject)

From: [identity profile] virginian.livejournal.com - Date: 6 Feb 2016 11:07 (UTC) - Expand
Date: 6 Feb 2016 03:52 (UTC)

From: [identity profile] aviaangel.livejournal.com
Не совсем понятна связь пересечения границы 256 и бессмысленной команды
Date: 6 Feb 2016 05:35 (UTC)

From: [identity profile] dmarck.livejournal.com
видимо, в тот фрагмент выполнение попадало после какого-нибудь cmp/jc

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 6 Feb 2016 06:08 (UTC) - Expand

(no subject)

From: [identity profile] monah tuk - Date: 8 Feb 2016 13:31 (UTC) - Expand
Date: 6 Feb 2016 07:16 (UTC)

From: [identity profile] peirat-viktor.livejournal.com
Я вот всё думаю, мне в машине (Chevorlet Caprice 1992) нужно поправить прошивку, чтобы он начал использовать данные с лямбда зонда (переходил на петлю обратной связи). Там прошивка зашита в микросхему 27С256, стираемую ультрафиолетом....
С одной стороны мне страшно, а с другой стороны это сделать таки нужно, тогда меньше бензина будет потребляться....
Программатор и уф-стиралка на работе есть. Правда тут проблема - сколько перезаписей выдержит микруха и собственно как перевести данные из неё в человекочитаемые таблицы....
Edited Date: 6 Feb 2016 07:17 (UTC)
Date: 6 Feb 2016 07:20 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Ныне Вы можете воспользоваться чипом Flash или EEPROM памяти
28С256, 29С256, 28F256 - тысячи их...

Ставятся на то же место без изменений схемы обычно (но даташиты все ж сверить нужно)

Число перезаписей от 10К до 1М, уф-стиралка не понадобится

(no subject)

From: [identity profile] peirat-viktor.livejournal.com - Date: 6 Feb 2016 07:34 (UTC) - Expand

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 6 Feb 2016 08:06 (UTC) - Expand

(no subject)

From: [identity profile] peirat-viktor.livejournal.com - Date: 6 Feb 2016 08:09 (UTC) - Expand

(no subject)

From: [identity profile] fixik-papus.livejournal.com - Date: 6 Feb 2016 08:58 (UTC) - Expand

(no subject)

From: [identity profile] peirat-viktor.livejournal.com - Date: 6 Feb 2016 11:20 (UTC) - Expand

(no subject)

From: [identity profile] bobojamba.livejournal.com - Date: 6 Feb 2016 09:54 (UTC) - Expand

(no subject)

From: [identity profile] peirat-viktor.livejournal.com - Date: 6 Feb 2016 10:54 (UTC) - Expand

(no subject)

From: [identity profile] bobojamba.livejournal.com - Date: 6 Feb 2016 12:24 (UTC) - Expand

(no subject)

From: [identity profile] peirat-viktor.livejournal.com - Date: 7 Feb 2016 16:55 (UTC) - Expand

(no subject)

From: [identity profile] bobojamba.livejournal.com - Date: 8 Feb 2016 07:28 (UTC) - Expand

(no subject)

From: [identity profile] peirat-viktor.livejournal.com - Date: 11 Feb 2016 18:23 (UTC) - Expand
Date: 6 Feb 2016 08:29 (UTC)

From: [identity profile] toster666.livejournal.com
Мне рассказывали похожую историю, но там в озу терялся бит при нагревании выше определенной температуры.
Импортное ЧПУ на предприятии ВПК, деталь стоила как чугунный мост :) Несколько деталей загубили, пока разобрались.
Date: 6 Feb 2016 09:46 (UTC)

From: [identity profile] leh-a.livejournal.com
Image

странно что ни кто из комментаторов не вспомнил про починку еще одного мебельного станка.
https://geektimes.ru/post/257932/
Date: 6 Feb 2016 10:48 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Спасибо, весьма познавательно!
Date: 6 Feb 2016 12:06 (UTC)

From: [identity profile] petya-astrahan.livejournal.com
Кому принадлежат ЧП «ДНР» и «ЛНР»?
http://goo.gl/PqsBIl
Image (http://fastpic.ru)
Date: 6 Feb 2016 14:42 (UTC)

From: [identity profile] 2born.livejournal.com
Спасибо за рассказ!
Date: 10 Feb 2016 00:03 (UTC)

From: [identity profile] dlazerka.livejournal.com
Документацию, я так понимаю, вы тоже не оставили потомкам :)
Date: 10 Feb 2016 07:53 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Выкачанную прошивку и дизассемблер ее с частично расставленными символами и метками - оставил, конечно.
Ну, а восстанавливать электросхемы и чертежи в мой объем работ не входило.
Date: 10 Feb 2016 08:42 (UTC)

From: [identity profile] ikaktys.livejournal.com
а как она на перфоленту забивали координаты все, в чем оно делалось вообще ?
что то типа своего gcode ?
Date: 10 Feb 2016 09:21 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Программа готовилась вообще в другом месте (в офисе, да).
Что там да как - не знаю.

Profile

fixik_papus: (Default)
fixik_papus

January 2023

M T W T F S S
      1
2345678
9101112131415
16171819202122
232425262728 29
3031     

Style Credit

Expand Cut Tags

No cut tags
Page generated 4 Mar 2026 23:10
Powered by Dreamwidth Studios