СПОСОБ И СИСТЕМА АВТОМАТИЗИРОВАННОГО ПРОГРАММИРОВАНИЯ ПРИ ПОМОЩИ ЭКСПЕРТНОЙ СИСТЕМЫ, ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ АСУ, ОСНОВАННЫХ НА ПРОГРАММНО-ЛОГИЧЕСКИХ КОНТРОЛЛЕРАХ (ПЛК) И МИКРОКОНТРОЛЛЕРАХ
METHOD AND SYSTEM OF AUTOMATED PROGRAMMING USING THE EXPERT SYSTEM, INTELLECTUAL MANAGEMENT SYSTEMS BASED ON PROGRAM-LOGIC CONTROLLERS (PLCS) AND ON MICROCONTROLLERS

ОБЛАСТЬ ТЕХНИКИ
Заявленное изобретение относится к способам и системам для автоматизации оборудования в единое рабочее пространство для применения в интеллектуальных системах управления типа «Умный дом».
УРОВЕНЬ ТЕХНИКИ
На сегодняшний день основным недостатком существующих технических решений в данной области является отсутствие простого и интуитивно понятного способа объединения подключаемых устройств в единое пространство при их подключении к программно-логическим контроллерам (ПЛК) или микроконтроллеру.
В общем случае, создание «умных домов» - есть автоматизация инженерных систем зданий средствами программируемых логических контроллеров - ПЛК. Особенностью систем, основанных на ПЛК, является необходимость индивидуального программирования контроллеров «на месте» для каждого конкретного объекта. Данный процесс лишь отчасти упрощается посредством удаленного подключения к контроллеру средствами VPN, что не отменяет самого процесса индивидуального программирования и необходимости в непосредственном взаимодействии с каждым контроллером в процессе отладки индивидуально написанной управляющей программы ПЛК. Программирование системы происходит уже после монтажа и подключения всех устройств, т.к. работы по сборке щита его «расключению» и программированию производится разными специалистами, то данный аспект неизбежно вносит негативный элемент «человеческого фактора» в процесс настройки, наладки и дальнейшей эксплуатации. Известен программируемый мультимедийный контроллер с программируемыми функциями (патент RU 2460119, 27.08.2012), который представляет собой программируемый мультимедийный контроллер, который предназначен для домашнего и коммерческого применения, профессиональной работы с аудио или видео, вещания или студийной работы, обеспечения безопасности, автоматизации или других сфер применения, который выполнен с возможностью взаимодействия, контроля и управления широким спектром аудио- и видеоустройств, устройств связи, передачи данных и другими устройствами.
Недостатком данного решения является необходимость ручного программирования контроллера при подключении к нему ряда устройств, что требует применение специальных навыков и вмешательства специалиста. Также, данное решение не позволяет генерировать подсказки по процессу подключения устройств и осуществлять программирование ПЛК на основе среды диалогового программирования.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Технической проблемой, решаемой заявленным изобретением, является упрощение процесса программирования ПЛК при подключении к нему устройств, за счет использования экспертной системы (ЭС), которая на основании информации, полученной от пользователя о подключаемом оборудовании, автоматически формирует необходимые программные модули для работы устройств, а также сопровождает процесс подключения устройств с помощью генерирования интерактивных подсказок.
Техническим результатом является обеспечение процесса подключения устройств к ПЛК за счет среды диалогового программирования, что ускоряет и упрощает процесс подключения за счет обработки информации с помощью экспертной системы, которая автоматически формирует необходимые программные команды для устройств, подключаемых к ПЛК.
Также, дополнительный эффект от применения изобретения, заключается в снижении риска неправильного подключения оборудования или его поломки, поскольку процесс подключения сопровождается интерактивными подсказками, а также индикацией необходимых разъемов подключения устройств.
Изобретение осуществляется за счет способа автоматизированного программирования ПЛК с помощью ЭС, для управления множеством устройств, который содержит этапы, на которых:
- ЭС получает набор информации о подключаемом к ПЛК оборудовании;
- ЭС проверяет полученный набор информации;
- определяют с помощью ЭС набор функций для каждого подключаемого типа оборудования;
- ЭС генерирует набор команд, исполняемых ПЛК, соответствующих функциям подключаемого оборудования;
- ЭС генерирует интерактивные подсказки для подключения устройств к ПЛК;
- подключают к ПЛК по меньшей мере одно устройство и активируют исполнение по меньшей мере одной команды, соответствующей по меньшей мере одной функции упомянутого устройства.
В одном частном случае реализации способа набор информации об оборудовании получают посредством графического интерфейса пользователя.
В другом частном случае реализации способа графический интерфейс пользователя содержит иерархически структурированную информацию об оборудовании представленную в текстовом и/или графическом виде.
В другом частном случае реализации способа ЭС содержит в себе «Базу знаний», содержащую информацию об оборудовании, информацию о типовых решениях, возможные настройки и варианты подключения оборудования к ПЛК, алгоритмы генерации ПО, сведения об аппаратной части ПЛК.
В другом частном случае реализации способа информация, полученная об оборудовании, подключаемом к ПЛК, проверяется ЭС на непротиворечивость относительно информации, хранящейся в ней.
В другом частном случае реализации способа ЭС генерирует набор команд для двух или более ПЛК объеденных в единую сеть.
В другом частном случае реализации способа выбор информации о подключаемом оборудовании осуществляется из вариантов, подобранных ЭС на основе информации, введенной пользователем с помощью графического интерфейса.
В другом частном случае реализации способа формирование вариантов основывается на информации о помещении и необходимой функциональности, которая включает в себя по меньшей мере один параметр, выбираемый из группы:
- назначение помещения,
- типы управляемых устройств,
- метод управления устройством или группой устройств,
- средства управления,
- форма управления устройством,
- количество управляемых устройств,
- количество управляющих устройств.
В другом частном случае реализации способа набор информации об оборудовании формируется с помощью шаблонов, хранящихся в ЭС.
В другом частном случае реализации способа выбор информации об оборудовании осуществляется с помощью графических представлений единиц оборудования.
В другом частном случае реализации способа дополнительно при выборе единицы оборудования генерируется по меньшей мере одно графическое представление, выбираемое из группы: средства управления оборудованием, варианты управления оборудованием, варианты объединения единиц оборудования в группы.
В другом частном случае реализации способа при активации графического представления единицы оборудования отображается его описание, включающее по меньшей мере: тип оборудования и модель.
В другом частном случае реализации способа функции устройств определяют с помощью базы знаний ЭС.
В другом частном случае реализации способа база знаний содержится на удаленном устройстве хранения данных.
В другом частном случае реализации способа при определении функции устройства определяются варианты состояний исполнения упомянутых функций.
В другом частном случае реализации способа генерирование команд для ПЛК включает в себя состояния выполнения функций для каждого из подключаемых устройств.
В другом частном случае реализации способа интерактивные подсказки отображаются на дисплее ПЛК и/или на удаленном устройстве пользователя.
В другом частном случае реализации способа устройство пользователя представляет собой стационарную панель управления, телефон, смартфон, планшет, ноутбук или персональный компьютер.
В другом частном случае реализации способа интерактивные подсказки для подключения устройств дополнительно включают в себя индикацию интерфейсов ввода/вывода ПЛК для подключения устройств.
В другом частном случае реализации способа индикация представляет собой световую индикацию.
В другом частном случае реализации способа световая индикация для одновременно подключаемых нескольких устройств выполняется разным цветом.
В другом частном случае реализации способа цветовая индикация дублируется в подсказках графического интерфейса пользователя для соответствующих устройств.
В другом частном случае реализации способа дополнительно формируется проектное решение для подключаемого оборудования.
В другом частном случае реализации способа дополнительно формируется проектная документация для подключаемого оборудования.
В другом частном случае реализации способа после подключения по меньшей мере одного устройства к ПЛК автоматически выполняется его диагностика.
Заявленное изобретение также осуществляется с помощью системы автоматизированного программирования ПЛК с помощью ЭС для управления множеством устройств, которая содержит:
- по меньшей мере один процессор;
- по меньшей мере одну память, содержащую машиночитаемые инструкции, которые побуждают по меньшей мере один процессор:
- получать с помощью ЭС набор информации о подключаемом к ПЛК оборудовании;
- проверять с помощью ЭС полученный набор информации;
- определять с помощью ЭС набор функций для каждого подключаемого типа оборудования;
- генерировать с помощью ЭС набор команд, исполняемых ПЛК, соответствующих функциям подключаемого оборудования;
- генерировать с помощью ЭС интерактивные подсказки для подключения устройств к ПЛК;
- передавать сформированные данные на ПЛК;
- подключать к ПЛК по меньшей мере одно устройство и активировать исполнение по меньшей мере одной команды, соответствующей по меньшей мере одной функции упомянутого устройства.
В одном из частных вариантов реализации системы ЭС содержится на удаленном устройстве.
В одном из частных вариантов реализации системы ЭС содержится в ПЛК, при этом База знаний содержится на удаленном устройстве.
В другом частном варианте реализации системы удаленное устройство представляет собой сервер.
В другом частном варианте реализации системы набор информации об оборудовании получают с помощью графического интерфейса пользователя.
В другом частном варианте реализации системы выбор информации об оборудовании осуществляется с помощью графических представлений единиц оборудования.
В другом частном варианте реализации системы при активации графического представления единицы оборудования отображается его описание, включающее по меньшей мере: тип оборудования и модель.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 иллюстрирует пример подключения устройств к ПЛК.
Фиг. 2 иллюстрирует пример работы способа подключения устройств и обработки информации.
Фиг. 3 иллюстрирует принцип работы ЭС и передачи информации в ПЛК.
Фиг. 4 иллюстрирует пример передачи и отображения подсказок для подключения оборудования.
Фиг. 5 иллюстрирует пример структурной схемы ЭС.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Согласно Фиг. 1 заявленное решение реализуется за счет системы (100), состоящей из устройства, в частности ЭВМ (110), генерирующего команды для ПЛК (120), ПЛК (120) и подключаемых к нему устройств (130). Устройства (131-133) могут представлять собой, но не ограничиваясь: датчики (сенсоры), выключатели, актуаторы, реле, роутеры, осветительное оборудование, рольставни, розетки, элементы интернета вещей (IoT), бытовую технику, аудио/видео оборудование и т.п. Любой тип устройств, который может централизованно управляться с помощью ПЛК, может использоваться в заявленной системе (100).
В общем случае ЭВМ (110), исполняющая ЭС (230), содержит в себе объединенные посредством шины один или более процессоров (111) выполняющих основную вычислительную обработку, ОЗУ (112), ПЗУ (113), которое может исполняться в виде HDD, SSD, флэш накопителя и т.п. ПЛК (120) также содержит различные интерфейсы для подключения устройств (114), например, LAN, USB, PS/2, COM, FireWire и т.п.
ЭВМ (110) и ПЛК (120) также могут включать в себя модули для обеспечения беспроводного обмена информацией, например, Bluetooth, WLAN (Wi-Fi), IrDa, NFC, BLE, GSM модем (2G, 3G, 4G, 5G).
ПЛК (120) может выбираться из широко спектра устройств данного профиля, например, Modicon 984 от Shneider Electric. ПЛК (120) в общем случае содержит центральное процессорное устройство (ЦПУ), память, которая содержит состояния и программу пользователя, входные модули, процессор ввода-вывода, выходные модули и коммуникационный процессор.
Для взаимодействия с пользователем, ЭВМ (110) может содержать средства управления (115), например, сенсорный дисплей, клавиатуру, или же он может выполняться без таковых средств и выполняться на базе, например, сервера тонкого клиента, и управляться с помощью подключения к удаленному устройству управления пользователя, например, стационарная панель управления, телефон, смартфон, планшет, ноутбук или персональный компьютер.
Для взаимодействия с пользователем, ПЛК (120) может содержать средства управления (115), например, сенсорный дисплей, клавиатуру, или же он может выполняться без таковых средств и управляться с помощью подключения к удаленному устройству управления пользователя, например, стационарная панель управления, телефон, смартфон, планшет, ноутбук или персональный компьютер. Протокол связи с удаленным устройством выбирается из известных протоколов обеспечения процесса обмена и передачи информации.
Также, ПЛК (120) может содержать обычный дисплей (116), например, ЖК-дисплей для отображения необходимой информации в процессе подключения различных устройств.
В ПЗУ (113) ЭВМ (110) хранится экспертная система (ЭС) (230), позволяющая реализовать быстрое и простое подключения различных устройств (130) к ПЛК (120). Принцип работы ЭС (230) будет раскрыт далее.
Как показано на Фиг. 2 при конфигурировании пользователем ПЛК (120) основное взаимодействие происходит в среде диалогового программирования (210), при помощи ЭС (230).
На шаге (211) среда диалогового программирования запрашивает ввод информации о подключаемых устройствах (130), для чего пользователю предлагается использовать несколько возможных функций, отображаемых с помощью графического интерфейса пользователя ЭС (230).
На шаге (212) с помощью графического интерфейса пользователя и «Базы знаний» (220) выполняющей обмен информацией с ЭС (230) выполняется генерирование текстовых описаний оборудования, которое может быть разбито по категориям типа оборудования, например, сенсоры, розетки, лампочки и т.п. Описания могут дополнительно дублироваться графическими изображениями оборудования. Для выбора необходимого типа оборудования в среде диалогового программирования генерируются вопросы для пользователя, которые представляют собой иерархический список для получения информации о конкретном подключаемом типе оборудования.
Графические представления оборудования, отображаемые в интерфейсе пользователя, могут также включать в себя средства управления оборудованием, варианты управления оборудованием, варианты объединения единиц оборудования в группы. При этом, при активации графического представления единицы оборудования отображается его описание, включающее по меньшей мере тип оборудования и модель.
Ответы пользователя структурируются согласно хранящимся в Базе знаний шаблонам и проверяются системой на корректность и применимость (шаг 213). В случае обнаружения несоответствий в пользовательских ответах выполняется возврат к вопросам об оборудовании до получения верной информации.
Этап диалогового программирования завершается ступенью формализации полученных от пользователя данных (214) и передачи их ЭС (230).
База знаний (220) помимо информации об оборудовании содержит также информацию о типовых решениях, возможные настройки и варианты подключения оборудования к ПЛК (120), алгоритмы генерации ПО для подключаемых устройств и сведения об аппаратной части ПЛК (120).
При вводе информации на шаге (212) с помощью Базы знаний (220) ЭВМ (110) сопровождает пользователя по процедуре подключения устройств (130) к ПЛК (120). В результате движения по динамическому иерархическому дереву вопросов, среда программирования (210) определяет потребности пользователя, после каждого ответа путем оптимизации минимизирует количество необходимых вопросов. После определения потребностей пользователя в части подключаемого оборудования и/или программирования необходимых его функций и/или сценариев управления, полученные данные формализуются (214) и на их основе с помощью ЭС (230) формируется индивидуальное ПО для программирования ПЛК (120), а также необходимая документация. Генерирование необходимого ПО реализуется за счет формирования команд управления подключаемым оборудованием (130) ЭС (230) за счет наличия в ней специальных алгоритмов.
ЭС (230) также может содержать информацию об аппаратной части ПЛК (120), в частности, количество и назначение каналов исходя из идентификационного номера аппаратной составляющей ПЛК (120) необходимо для того что бы правильно задействовать программно каждый электрический канал.
При определении функций оборудования (130) определяются также варианты состояния данных функций при их исполнении, например, триггерные события (открыто/закрыто, наличие внешнего фактора: температура, дым, время суток и т.п.).
Подключаемое оборудование (130) также может автоматически распознаваться ЭС (230) на основании широко применяемых протоколов идентификации.
При получении первичной информации от пользователя о единице подключаемого оборудования с помощью Базы знаний (220) также выполняется определение возможных функций оборудования, которое оно может исполнять.
На Фиг. 3 представлена схема работы ЭС (230). Информация, полученная от пользователя о подключаемом оборудовании, проверенная и формализованная в среде диалогового программирования (210), передается в ЭС (230).
Модуль формирования базовых программных блоков (231) выполняет генерирование исполняемого кода для ПЛК (120) (шаг 232) для обеспечения работы устройств (130). Далее ЭС (230) осуществляет формирование интерактивных инструкций (233), часть из которых отображается в виде электронных подсказок (235) в графическом интерфейсе инсталлятора (240) (на ПЛК или удаленном устройстве), а часть интегрируется в программу для ПЛК (120) с тем, чтобы наделить сам ПЛК (120) возможностями интерактивного сопровождения его инсталляции. Помимо подсказок сопровождения подключения устройств с помощью ЭВМ (110) генерируются команды индикации разъемов подключения на ПЛК (120) для подключения необходимых устройств к нему. Индикация может быть, например, световой с помощью светодиодов, установленных в разъемах подключения устройств. Индикация может также быть разделена по цветовому отображению (например, желтая, синяя, красная и т.д.) и дублироваться соответствующим цветом в графическом интерфейсе. Данные функции позволяет исключить ошибку подключения устройств.
ЭС (230) также позволяет формировать проектные решения (234), которые могут быть автоматически распечатаны с помощью средств печати пользователя (при подключении к принтеру). При формировании проектного решения (234) генерируется также проект автоматизации (236), информация о типах подключения оборудования и их сценариев работы передает в графический интерфейс инсталлятора (240), для процедуры индикации разъемов подключения, а также интерактивных подсказок в графическом интерфейсе пользователя. Все это необходимо, чтобы сформированный проект автоматизации работы ряда устройств (130), подключаемых к ПЛК (120), был воплощен пользователем при подключении устройств к ПЛК (120).
С помощью ЭС (230) команды могут формироваться для двух и более ПЛК (120), которые объединяются между собой в сеть. При этом программное обеспечение формируется последовательно для каждого ПЛК, т.к. пользователь вносит в среде диалогового программирования идентификационный номер аппаратной составляющей ПЛК (120) в ЭС (230), а аппаратные возможности, количество и назначение каналов присутствуют в базе знаний ЭС (230) исходя из идентификационного номера аппаратной составляющей ПЛК (120).
ЭС (230) осуществляет формирование вариантов подключения оборудования на основании информации, полученной от пользователя, которое основывается на информации о помещении и необходимой функциональности, которая включает в себя по меньшей мере один параметр, выбираемый из каждой группы:
- назначение помещения,
- типы управляемых устройств,
- метод управления устройством или группой устройств,
- средства управления,
- форма управления устройством,
- количество управляемых устройств,
- количество управляющих устройств.
Эта информация вводится пользователем в среде диалогового программирования (210) и затем обрабатывается с помощью базы знаний (220) и ЭС (230).
На Фиг. 4 представлен пример отображения интерактивных инструкций на устройстве пользователя (300), например, на смартфоне. Ввод информации в ПЛК (120) может также выполняться через смартфон (300).
Дополнительно информации помимо выбора с помощью графического интерфейса пользователя смартфона (300) может получаться за счет обработки фотоизображений, захватываемых с помощью камеры смартфона, их распознавания с помощью различных программных алгоритмов распознавания изображений и передачи данной информации на сравнение в базу знаний (220).
База знаний (220) может также содержаться не только в ПЗУ (113) ЭВМ (110), но и находится на удаленном устройстве, связанным с ПЛК (120) каналом передачи данных проводного или беспроводного типа, например, на сервере. Сервер (110) может представлять собой облачное хранилище информации, выполненное с функцией обновления информации, что позволяет динамически актуализировать данные о различных типах оборудования.
На Фиг. 5 представлен пример структурной схемы ЭС (230). Диалоговый компонент (401) ориентирован на организацию дружественного общения с пользователем (организация человеко-машинного интерфейса) как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы.
Объяснительный компонент (402) генерирует процесс пояснения, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.
Компонент приобретения знаний (403) автоматизирует процесс наполнения ЭС (230) знаниями, осуществляемый пользователем-экспертом, инженером или конечным пользователем.
Решатель (404), используя исходные данные из рабочей памяти (406) и знания из базы знаний (220), формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.
Интерфейс пользователя (405) включает в себя: Графические пользовательские интерфейсы для различных категорий пользователей. Имеет структурированный естественно-языковый интерфейс с управлением по меню и автоматической проверкой синтаксиса, графический включающий график, диаграммы, шкалы, кнопки, редактор многослойных пиктограмм, интерфейсы с источниками данных, обеспечивающие эффективную связь с внешними системами и базами данных, и т.п.
Рабочая память (база данных) (406) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД), для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.
База знаний (БЗ) (220) предназначена для хранения знания о приложениях: определения всех объектов, объекты, правила, процедуры, долгосрочные данные, описывающие рассматриваемую область (а не текущие данные), и правила описывающие целесообразные преобразования данных этой области. Данный блок включает в себя в том числе библиотеку знаний (БиЗ) в которой хранятся общие знания, которые могут быть использованы более чем в одном приложении, например, определение стандартных объектов, подключаемых к ПЛК.
Подсистема моделирования внешнего мира (407) необходима для прогнозирования, анализа и адекватной оценки состояния внешней среды.
Подсистема сопряжения с внешним миром (408) предназначена для анализа изменения окружения решаемой задачи, что также требует изменений, хранимых в Экспертной Системе знаний, с тем чтобы отразить временную логику происходящих в реальном мире событий. Компонента связи с внешним миром актуальна для автономных интеллектуальных систем (например, Роботы), а также для интеллектуальных систем управления. Связь с внешним миром осуществляется через систему сенсоров и актуаторов под управлением локальных контроллеров.
Заявленное решение представляет собой интеллектуальный программно-аппаратный комплекс, который может быть реализован с помощью различных известных технических средств, в частности, вычислительных устройств (процессоров, микроконтроллеров и т.п.), устройств хранения информации постоянного и непостоянного типа, средств ввода и отображения информации и т.д.