Вместо введения


Если вы увидите человека в рабочей одежде, стоящего перед электрощитом, и тщетно пытающегося ему (щиту) объяснить что-то, не спешите считать его сумасшедшим. Причин может быть несколько:

Этап голосовой аутентификации закончился неудачей

У щита нет соединения с интернетом (искуственный интеллект его не слышит)

Общение идет на незнакомом щиту языке (эстонский, русский)

Электрик не может четко сформулировать задачу на естесственном языке (надо на Python, Rust..)

Устаревшее оборудование щита понимает только:

С расчетом на то, что устаревшее оборудование не заменяется до его физического износа, остановимся на изучении языка Python (Micropython, Circuitpython, Snek)

 ~

Релейно-контактная логика

  1. Обмотка реле

    Image

  2. Контакты реле (НО -- нормально открытые, НЗ -- нормально закрытые)

    Image

  3. если реле рисовать полностью в одном блоке (как на рисунке ниже) схема быстро становится трудночитаемой /(a+b) |XOR| b = a |XOR| b/. Например, дорисуйте `A == B` не добавляя контактов к релюшкам (слово реле не имеет множественного числа и падежей, стоит задуматься.. на каком языке писать заметки: русском, эстонском, английском или на C++? :)

    Image

Поэтому вводятся правила рисования схем релейной логики:

 ~

Немного теории: Отличия лестничной диаграммы от релейной схемы:


10 заповедей (10 commandments)

  1. Вся схема представляет из себя лестницу из двух рельсов (левая "горячая", под постоянным напряжением, правая заземлена, 0) и неограниченного количества шпал между ними, на которых расположены три вида элементов:

    1. обмотка реле (coil --( )-- )

    2. нормально открытый контакт (NO, --] [-- )

    3. нормально закрытый контакт (NC, --]/[-- )

  2. На каждой шпале обязательно есть одна и только одна обмотка реле, одним полюсом соединенная с холодной рельсой.

  3. Можно потребовать, чтобы на шпале было не более 3х контактов.

  4. Обмотка реле связана с группой контактов через имя. Часто принятые обозначения: Qn -- выходная обмотка, где n натуральное число. Qn.m -- контакт номер m, управляемый обмоткой n.

  5. Все контакты объединены в контактные группы (одна группа управляется одним источником (пальцем или обмоткой реле)

  6. Контакты управляемые внешним воздействием обычно обозначаются буквой i (i3.5 пятый контакт в третьей группе)

  7. Реле у которых ни один контакт не связан с выходом, называются флажками и обозначаются буквой M.

  8. Протягивать провода со шпалы на шпалу запрещается

  9. ПЛК (программируемый логический контроллер), читает лестничную диаграмму слева направо, сверху вниз (как "свиток", где шпалы это строки, лестница -- свиток). После того, как схема прочитана, контроллер возвращается к началу диаграммы. Время, требуемое для прочтения лестницы должно быть меньше либо равно времени одного такта "главного цикла микроконтроллера".

  10. Перед входом в главный цикл контроллер занимается настройкой элементов схемы (setup, begin). Выход из главного цикла приводит к выполнению фазы завершения (end), и означает аварийную ситуацию ("смерть" процесса управления)

Путеводитель по Circuitmaker:

  1. "Magic button x"
  2. Ground is "0"
  3. Симулятор -- бегущий человек на тулбаре.
  4. Тянуть Провода -- Крест на тулбаре
  5. Как убрать грязь с экрана -- ctrl+f
  6. Как привязать контакт к обмотке реле?
    Поле Description должно быть с тем же именем (case sensitive) Image
  7. Где найти батарейку? Image
  8. Где найти кнопку с фиксацией (switch)? Image
  9. Пристает с какой-то библиотекой. Image
    Включить Simulation -> [v] Digital Mode
    Image
  10. Где найти лампочку? Image

Схема 3 в стиле "Ladder Logic"

Image

Ссылки:

исходник примера 3 (SimulIDE)

симулятор CIRCUIT MAKER 6S (1998) с примерами