WA1-o-o-+VD1-o-+
| | | |
L C C R<-+
1 1 2 1 |
| | | | |
|-o-o------o-+ |
+-----------------+ +--R3--+C6--|
| |
o--C3+-o-|4 8|-o-C7+-o-BA1-Vcc
| | DA1 | |
+------+ | К174 | |
| | УН4 | |
o-C4+-R2-|2 6|-------+
| |
|--C5+---|5 7|-Vcc
| |
|--------|9 |
Когда-то IDE для ПЛК работали так же, как и большинство других серьёзных программ того времени — в текстовом режиме. Программист мог вглядываться во что-то вроде этого (взято отсюда):
| (N.C. physical (N.C. physical |
| Switch) Switch) |
| Low Level High Level Fill Valve |
|------[ ]------|------[ ]----------------------(OUT)---------|
| | |
| | |
| | |
| Fill Valve | |
|------[ ]------| |
| |
| |
Те современные ПЛК, которые снабжены встроенными дисплеями на HD44780, и сегодня так могут.
Но даже оказавшись за компьютером, где графический режим — единственный и безальтернативный (например, БК), составитель инструкции или справочника мог по инерции сбацать такое (фрагмент структурной схемы микропроцессора К1801ВМ1, отсюда):
1 34 30 29 35 31 32 33
| | | | | | | |
CLC| | ACLO| DCLO| VIRQ| IRQ1| IRQ2| IRQ3|
| INIT| | | | | | |
\|/ | \|/ \|/ \|/ \|/ \|/ \|/
| \|/ | | | | | |
|___|___| /|\ |_|_____|_____|_____|_____|_____|_|
|схема | | | Блок |
|такти- | | | Прерываний |
|рования| | |_______________|_________________|
|___|___| | |
| | /| /|\ | |
| | |
Инерция продолжалась и в девяностых, и даже в начале нулевых. Вот, например, эскиз, сделанный в 1997 году:
__________________________
/ / | | |
| SOUP CAN | |
| | |
| | |
| | __ |
RUBBER | | ( ) |
SHEET __\ | | (__) |
/ | | | /__ WITH
| | | \ HOLE
| | |
| | |
| | |
\_________________________\/
Это знакомый многим генератор вихревых колец (отсюда): с одной стороны мембрана, с другой — стенка с отверстием.
Могли и электрическую схему так изобразить. Если при этом брали псевдографические символы из второй части кодовой таблицы, получалась привязка к кодировке. Из КОИ-8Р в 866 и обратно перевести ещё можно, а в 1251, где таких символов нет — уже проблема. При пользовании дополнительными возможностями редакторов, например, Vortex (для БК) или «Слово и дело», получалась вообще привязка к определённому редактору. Vortex был вообще удобнейшей штукой: не сразу поймёшь, в каком редакторе выполнена схема, в текстовом или графическом. Зато отказ от всего этого обеспечивал настоящую кроссплатформенность. Можно было составить схему, например, на «Амиге», а посмотреть на «Корвете». Вот преобразователь полярности из +5В в -5В, полезная вещь для экспериментирующих с КР580ВМ80, диоды анодами вверх, отсюда:
+V
^
|
+-------+---+
| | | -V Output
R1 |8 |4 +----+--->
| 7 ------- | | Parts List:
+-----| | D2 | IC1 = 555
| +--| | + | | R1 = 1.5K
R2 | 6| IC1 |---C1--+ | R2 = 10K
| | | |3 | | C1 = 10uF,16V
+--+--| | D1 C2 C2 = 22uF,16V
| 2| | | |+ C3 = 1500pF
| ------- | | D1,D2 = 1N4001 diodes
C3 |1 | |
| | | |
+---------+-----------+----+
|
===
(GND)
Какого-либо стандарта на ASCII-схемы не было. Особенно в отношении того, как обозначать пересечения проводников без соединения, а как с соединением. Одни предпочитали такой способ:
|
-+- соединение
|
| |
--- или -|- пересечение
| |
Другие — такой:
| |
-o- или -*- соединение
| |
|
-+- пересечение
|
В обоих случаях быстро сориентироваться было несложно. А разбивка схемы на фрагменты позволяла практически избавиться от пересечений.
Почему так продолжали делать, когда практически у всех были видеокарты VGA и выше? Причин несколько.
- Формат подходил для групп новостей и Фидонета.
- Текст (или HTML) и набор иллюстраций в ASCII — это один файл, и он — не архив. На текстовые редакторы, позволяющие объединить в один файл текст и графику (один из них — снова 'Слово и дело"), единого стандарта ещё не было. В общем-то, и сейчас нет, но современные офисные пакеты хоть как-то импортируют форматы друг друга, а тогда… Да и привязка к определённому редактору, опять же, не всем нравилась.
- Не меньший «зоопарк» имел место и в мире графических форматов. К нынешнему стандарту де факто «PNG, GIF, JPEG» пришли не сразу. Были BMP, PCX и прочие. Потом, конечно, придумали многоформатные просмотрщики, такие, как PV.
- Не всегда были и площадки со встроенными фотохостингами, такие, как «Хабр» или «У Самоделкина». Сторонние фотохостинги сносили изображения за давностью лет или из-за отсутствия просмотров.
- Старые VGA-карты в графическом режиме обеспечивали меньшую частоту кадров. Когда у всех были ЭЛТ-мониторы, это имело значение. А матричные принтеры печатали текст в режиме Draft очень резво.
Ну а зачем теперь всё это? Во-первых, ностальгия. Пишут ведь биперную музыку, хотя сегодня даже кнопочный телефон за 400 рублей проигрывает MP3. Во-вторых, фрагменты схем, поясняющие, что куда подключать, в ASCII-формате удобно помещать прямо в скетчи. Вот так (взято отсюда) можно сэкономить выводы Arduino, подключив к нему индикаторы через счётчики:
Пользуйтесь этим приёмом и вы, и тому, кто решит повторить вашу конструкцию, вы сэкономите лишние телодвижения. Если он скачал скетч давно, и забыл, откуда — не придётся вспоминать или искать.
Комментарии (12)
artskep
23.02.2019 16:15+1Ну, дабы не плодить статьи с примерами диаграмм в ascii, порекомендую тем, кто еще не видел, почитать rfc, где это обыденность.
Ну, а особенно мой любимый https://tools.ietf.org/html/rfc2549
ser-mk
23.02.2019 16:38я так понимаю никакого удобного инструмента для рисования подобных схем нет?
vladkorotnev
24.02.2019 08:24AsciiFlow, например — судя по всему, им пользуется, к примеру, Apple в исходниках Swift'а
teakettle
24.02.2019 02:18+1Вспомнилось знаменитое письмо про «Наш ответ пользователям» с отсылкой «см. рисунок 1» — он тоже был ASCII-артный :)
FTOH
24.02.2019 10:20Есть инструмент svgbob, который умеет рендерить ascii art в svg рисунки.
Вот такая схема
+10-15V ___0,047R *------o------o-|___|-o--o---------o----o-------. | | | | | | | --- | | .+. | | | 470uF ### | | | | 2k2 | | | | + | | | | | | .+. *------o '--. | '+' .+. | '-' | |6 |7 |8 1k | | | | GND .-+----+--+--. | | | | | | '+' | | | |1 | |/ BC | | +------o--+ 547 | | | | |`> | | | ,+. | | | | 220R| | o----||-+ IRF9Z34 | | | | | |+-> | MC34063 | `+' | ||-+ | | | | | BYV29 -12V6 | | '----' o--|<-o----o--X OUT | |2 | | | | |--o C| | | | | GND 30uH C| | --- 470 | |3 1nF C| | ### uF | |-------||--. | | | + '-----+----+-' | GND | GND 5| 4| | | | '-------------o-------------o | ___ | '------/\/\/------------o--|___|-' | 1k0 .+. | | 5k6 + 3k3 | | in Serie '+' | GND
превращается в
Прогнал арты из статьи с небольшими изменениями (т.к. инструмент содержит ошибки):
Скрытый текст1)Измененый артWA1 -o-o-+VD1 -o-+ | | | | L C C R <-+ 1 1 2 1 | | | | | | +--o-o-------o-+ | +-+------------------+ +--R3 -+C6 -| | | o--C3+ -o--¬4 8--o-C7+ -o-BA1 --Vcc | | DA1 | | +-------+ | К174 | | | | УН4 | | o-C4+ --R2-|2 6|--------+ | | |---C5+ ---|5 7|--Vcc | | |----------|9 |
tormozedison Автор
24.02.2019 11:51Впечатляет, но каждый раз после него надо править вручную ошибки преобразования.
Dinxor
24.02.2019 11:48+1Довелось работать с ПЛК Omron из середины 90-х, там в софте была возможность вывести всю программу в виде такого ASCII-арта. Оказалось очень удобно — можно сравнивать версии программы с размазанными по разным блокам изменениями, все диффы сразу видно.
keydon2
Тяжело редактировать.
tormozedison Автор
Было тяжело, пока пытался изобразить всю сложную схему целиком. «Простыня» не влезала в стандартные тогда 80 символов по горизонтали, а ещё чтобы что-нибудь подвинуть, требовалось каждую строку редактировать отдельно. Как понял, что надо схему на фрагменты разбивать, полегчало сразу.
sim2q
да в редакторе надо было другом, который произвольное место сразу позволяет сам добивая пробелы
AngReload
Особенно если про overtype забыл.