MnemoLogic-это графический редактор для программирования контроллеров на языке типа FBD(Function Block Diagram). Функциональные элементы,  которые входят в написанную на С++  библиотеку MnemoLogic, максимально приближены к соответствующим электронным компонентам, которые использовались ранее и используются ныне при разработке электрических схем различных приборов и других изделий электронной техники. Сюда входят арифметические и логические элементы: сумматоры, компараторы, триггеры, счетчики, регистры, дешифраторы, мультиплексоры т.д. Это позволило создать очень простой пользовательский интерфейс, интуитивно понятный инженерам-электронщикам и специалистам КИП.

Разработанная пользователем схема компилируется в программный модуль, код которого состоит из подпрограмм, реализующих алгоритмы библиотечных элементов, входящих в схему разрабатываемого модуля, и таблицу связей.  Этот код может интерпретироваться на любой аппаратной платформе,  в которой портирована исполняющая подсистема MnemoLogic. Исполняющая система предельно проста и, соответственно, предельно надежна. Алгоритм ее работы заключается в последовательной интерпретации элементов схемы и передаче по окончании такта значений выходов каждого элемента на связанные с ним по схеме входы других элементов. К настоящему моменту портированы платформы: встраиваемые ПК под Window-XP,-7,-10, ПЛК на основе микроконтрoллеров семейств ATMEGA и MicroChip.

Отладку схемы модуля можно производить как на самой целевой платформе, так и без нее, на автоматически создаваемой модели схемы модуля на платформе ПК.

Иерархическая структура MnemoLogic позволяет «сворачивать» разработанную пользователем схему модуля в библиотечный элемент с дальнейшим использованием этого элемента в схеме другого модуля, находящего иерархически на ступень выше. Таким образом, в рамках одной схемы можно реализовать сеть из множества подчиненных модулей, распределенных по различным ресурсам и на различных платформах.

Если в контроллере предусмотрено подключение средств графического отображения, то с помощью MnemoLogic можно создавать  мнемосхемы, пульты,

тренды, тревожные панели, анимацию и прочие компоненты и свойства, характерные для SCADA-систем.

Для этой цели в библиотеку  MnemoLogic введены элементы, которые кроме отображения в схеме, имеют еще и  визуальное отображение на Мнемопульте, который открывается в другом окне. В составе таких элементов: тумблеры, переключатели, лампочки, табло, краны, задвижки, трубы, емкости и т.д., т.е содержит все компоненты, которые могут обеспечить оператору-диспетчеру визуальное представление о ходе технологического процесса, контролировать и управлять им.

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

И этим специалистом может быть КИП-овец, который, как правило, гораздо ближе к технологии производства, чем профессиональный программист.

MnemoLogic это не система, не пакет, не программный комплекс, а просто приложение. Причем приложение достаточно «легкое» (всего 20-25Мб).

Тем не менее, MnemoLogic обеспечивает выполнение всех основных функций традиционных гигабайтных Scada-пакетов, программирование контроллеров и даже моделирование объекта и окружающей его среды.

MnemoLogic. Основные понятия

1. Элемент

В архитектуре MnemoLogic элемент – это минимальный(элементарный) алгоритмический узел, который выполняет некоторую функцию в алгоритме, выполняемого в программе контроллера. Элементы, которые входят в стандартную библиотеку MnemoLogic, по функциям максимально приближены к соответствующим электронным компонентам, которые использовались ранее и используются ныне при разработке электрических схем различных приборов и других изделий электронной техники. Сюда входят арифметические и логические элементы , триггеры, счетчики, регистры, дешифраторы, мультиплексоры и пр. Элементы имеют входные и выходные контакты. Значения входных контактов обрабатывается алгоритмом, заложенным в элемент, а результаты выводятся на выходные контакты. Оформление элементов также максимально приближено к тем правилам, которые приняты для компонентов на электрической схеме. Изображение элемента может иметь вертикальные разделители между входными/выходными контактами и функциональными метками, горизонтальные разделители между группами контактов. Косая черта на контакте означает срабатывание по переднему или заднему фронту. Кружочек на контактах логических элементов означает инверсию. 0

2. Схема

Элементы, соединенные цепями образуют схему. Напр, которая реализует функцию 1 При каждой вставке элемента в схему ему присваивается порядковый номер (#N) исполнения. Если схема чисто комбинационная, то порядок исполнения не имеет значения. Но, если в схеме имеются элементы памяти, то в процессе проектирования необходимо установить правильный порядок. В отличие от обычной электрической схемы, MnemoLogic по одной цепи за один такт может передать с выходного контакта одного элемента на входной контакт другого не только бит данных, но и 8, 16 или 32 бита. При этом значение на контакте может интерпретироваться как один из типов данных: L – логическая переменная U – 8-разрядное целое S8 – 8-разрядное целое со знаком U16 – 16-разрядное целое S16 – 16-разрядное целое со знаком U32 – 32-разрядное целое S32 – 32-разрядное целое со знаком R32 – 32-разрядное с плавающей точках Тип данных на контактах элемента может быть либо фиксированным, либо задается при вставке элемента из библиотеки в схему. Напр., Элемент «Мультиплексор» может коммутировать входы с любым типом данных, адресный вход А имеет фиксированный тип U8: 2 7. Параметры Некоторые элементы могут иметь параметры. Напр. элемент «Счетчик» 3 имеет два параметра: 4 Таким образом, с помощью параметров можно выбирать варианты выполнения алгоритма элемента. Совокупность входных/выходных контактов с их типами данных и параметров составляют интерфейс элемента. 2. Константы Кроме элементов и связывающих их цепей, компонентом схемы могут быть константы: 5 В приведенном фрагменте схемы значение, полученное в результате работы сумматора сравнивается с константой 5 3. Коннекторы Коннекторы, хотя и в явном виде присутствуют в схеме, компонентами схемы не являются. Если схема отображается на одном листе, то они нужны только для удобства оформления схемы. Напр.: 5 Если между источником и приемником сигнала находится насыщенный фрагмент схемы, то можно не загромождать этот фрагмент явным изображением цепи путем введения на выходе источника и входе приемника коннекторов с одинаковым именем. В многолистовой схеме коннекторы обеспечивают отображение связей между источником и приемником сигнала, если те находятся на разных листах.

4. Мнемоэлементы

Мнемоэлементы предназначены для проектирования пультов, технологических мнемосхем и других Scada-компонентов на персональном компьютере. Однако, они также могут быть использованы для программирования контроллеров, в которых имеются органы управления и отображения. В состав библиотеки входят задатчики сигналов(тумблеры, кнопки, переключатели и пр.), индикаторы различных типов (лампочки, табло, стрелочные приборы и пр.), технологические мнемоэлементы(краны, задвижки, моторы и пр.). 7 При проектировании мнемоэлементы, кроме стандартного отображения в схеме, имеют еще и мнемоническое отображение на мнемопульте в другом окне. При включении мнемоэлементов в схему, она становится мнемосхемой и к ней в другом окне добавляется мнемопульт. К примеру: Schermata 2017-01-22 alle 10.37.27 Следует отметить, что мнемоэлементы, в отличие от просто элементов могут не иметь входов, либо выходов. Так мнемоэлемент «Светодиод» на схеме имеет только вход, так результатом обработки входного сигнала является не выдача результата на выходной контакт, а изменение его отображения на Мнемопульте. Соответственно, мнемоэлемент «Тумблер» на схеме имеет только выход, т.к. входным воздействием для него является манипуляции оператора на мнемопульте. Ниже приведен пример мнемосхемы 4-позиционного переключателя с индикацией. На числовом табло (мнемоэлемент #3) индицируется одна из 4 констант, выбор которой производится оператором установкой мышью положения кругового задатчика (мнемоэлемент #1). Схемотехнически этот выбор реализован с помощью 4-входового мультиплексора (элемент #2) На схеме: 12 На мнемопульте значение на числовом табло будет изменяться при изменении(мышью) оператором положения переключателя: Schermata 2017-01-22 alle 10.40.33 Блоки элементов В MnemoLogic предусмотрен механизм преобразования(свертки) схемы виде блока элементов(БЭ) и сохранения его в библиотеке. Таким образом, этот БЭ может быть использован в качестве элемента в других схемах. Ниже приведена схема 2-входового сумматора с памятью и входами записи и сброса. 17 Для того, чтобы свернуть схему в БЭ нужно сформировать его интерфейс. В MnemoLogic для этой цели предусмотрены специальные компоненты схемы: входные и выходные порты: 18 Оформление интерфейса БЭ и навигация при сохранении его в библиотеке осуществляется с помощью встроенного в MnemoLogic редактора интерфейса. 19 В результате получаем свернутую в БЭ исходную схему в виде библиотечного элемента, который можно использовать в другой схеме: 20 При этом названия и типы данных входных/выходных портов преобразуются в названия и Аналогично производится свертка мнемосхем в блоки мнемоэлементов (БМЭ) Например, приведенная выше мнемосхема 4-позиционного переключателя подготавливается к свертке в БМЭ следующим образом: 21 И после свертки сохраняется в библиотеке как БМЭ в следующем виде: На схеме: 22 На мнемопульте: 24 Отображение этого БМЭ совпадает отображением мнемоэлемента «Переключатель», но с другой, конкретно «заточенной» под определенное применение логикой. Подобным образом пользователь может создавать свою библиотеку задатчиков, индикаторов, приборов, технологических мнемоэлементов и пр.

created by Olga Ostrovskaya

ООО “ЭЛЕКТРОНМАШ-СИСТЕМ”