- PVSM.RU - https://www.pvsm.ru -

«Прикладной» ASCII-арт

Привет! Автор недавней статьи [1] рассказал о разновидности ASCII-арта, которая вроде как и не совсем «арт», т.е., искусство. Ибо служит практическим целям: показать небольшой эскиз, график, электрическую или иную схему… Решил и я вспомнить на эту тему что-нибудь.

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 для ПЛК работали так же, как и большинство других серьёзных программ того времени — в текстовом режиме. Программист мог вглядываться во что-то вроде этого (взято отсюда [2]):

| (N.C. physical   (N.C. physical                             |
|   Switch)          Switch)                                  |
|   Low Level       High Level                Fill Valve      |
|------[ ]------|------[ ]----------------------(OUT)---------|
|               |                                             |
|               |                                             |
|               |                                             |
|   Fill Valve  |                                             |
|------[ ]------|                                             |
|                                                             |
|                                                             |

Те современные ПЛК, которые снабжены встроенными дисплеями на HD44780, и сегодня так могут.

Но даже оказавшись за компьютером, где графический режим — единственный и безальтернативный (например, БК), составитель инструкции или справочника мог по инерции сбацать такое (фрагмент структурной схемы микропроцессора К1801ВМ1, отсюда [3]):

    1          34        30    29    35    31    32    33
    |           |         |     |     |     |     |     |
 CLC|           |     ACLO| DCLO| VIRQ| IRQ1| IRQ2| IRQ3|
    |       INIT|         |     |     |     |     |     |
   |/          |        |/   |/   |/   |/   |/   |/
    |          |/        |     |     |     |     |     |
|___|___|      /|      |_|_____|_____|_____|_____|_____|_|
|схема  |       |       |              Блок               |
|такти- |       |       |           Прерываний            |
|рования|       |       |_______________|_________________|
|___|___|       |                       |
    |           |                      /|
   /|          |                       |
    |           |                       |

Инерция продолжалась и в девяностых, и даже в начале нулевых. Вот, например, эскиз, сделанный в 1997 году:

              __________________________
             /                         /
            |                         |  |
           |    SOUP CAN             |    |
           |                         |    |
          |                         |      |
          |                         |  __  |
RUBBER    |                         | (  ) |
SHEET __ |                         | (__) |      
        / |                         |      | /__ WITH
          |                         |      |    HOLE
           |                         |    |
           |                         |    |
            |                         |  |
             _________________________/

Это знакомый многим генератор вихревых колец (отсюда [4]): с одной стороны мембрана, с другой — стенка с отверстием.

Могли и электрическую схему так изобразить. Если при этом брали псевдографические символы из второй части кодовой таблицы, получалась привязка к кодировке. Из КОИ-8Р в 866 и обратно перевести ещё можно, а в 1251, где таких символов нет — уже проблема. При пользовании дополнительными возможностями редакторов, например, Vortex (для БК) или «Слово и дело», получалась вообще привязка к определённому редактору. Vortex был вообще удобнейшей штукой: не сразу поймёшь, в каком редакторе выполнена схема, в текстовом или графическом. Зато отказ от всего этого обеспечивал настоящую кроссплатформенность. Можно было составить схему, например, на «Амиге», а посмотреть на «Корвете». Вот преобразователь полярности из +5В в -5В, полезная вещь для экспериментирующих с КР580ВМ80, диоды анодами вверх, отсюда [5]:

           +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 и выше? Причин несколько.

  1. Формат подходил для групп новостей и Фидонета.
  2. Текст (или HTML) и набор иллюстраций в ASCII — это один файл, и он — не архив. На текстовые редакторы, позволяющие объединить в один файл текст и графику (один из них — снова 'Слово и дело"), единого стандарта ещё не было. В общем-то, и сейчас нет, но современные офисные пакеты хоть как-то импортируют форматы друг друга, а тогда… Да и привязка к определённому редактору, опять же, не всем нравилась.
  3. Не меньший «зоопарк» имел место и в мире графических форматов. К нынешнему стандарту де факто «PNG, GIF, JPEG» пришли не сразу. Были BMP, PCX и прочие. Потом, конечно, придумали многоформатные просмотрщики, такие, как PV.
  4. Не всегда были и площадки со встроенными фотохостингами, такие, как «Хабр» или «У Самоделкина». Сторонние фотохостинги сносили изображения за давностью лет или из-за отсутствия просмотров.
  5. Старые VGA-карты в графическом режиме обеспечивали меньшую частоту кадров. Когда у всех были ЭЛТ-мониторы, это имело значение. А матричные принтеры печатали текст в режиме Draft очень резво.

Ну а зачем теперь всё это? Во-первых, ностальгия. Пишут ведь биперную музыку, хотя сегодня даже кнопочный телефон за 400 рублей проигрывает MP3. Во-вторых, фрагменты схем, поясняющие, что куда подключать, в ASCII-формате удобно помещать прямо в скетчи. Вот так (взято отсюда [6]) можно сэкономить выводы Arduino, подключив к нему индикаторы через счётчики:

«Прикладной» ASCII-арт - 1

Пользуйтесь этим приёмом и вы, и тому, кто решит повторить вашу конструкцию, вы сэкономите лишние телодвижения. Если он скачал скетч давно, и забыл, откуда — не придётся вспоминать или искать.

Автор: tormozedison

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/shema/309628

Ссылки в тексте:

[1] недавней статьи: https://habr.com/ru/post/440830/

[2] отсюда: https://en.wikipedia.org/wiki/Programmable_logic_controller

[3] отсюда: https://ru.wikipedia.org/wiki/%D0%9A1801%D0%92%D0%9C1

[4] отсюда: http://amasci.com/amateur/vortgen.html

[5] отсюда: https://qsl.net/yo5ofh/hobby%20circuits/ascii.htm

[6] отсюда: http://chris-reilly.org/blog/arduino-circuit-diagrams/

[7] Источник: https://habr.com/ru/post/441394/?utm_campaign=441394