Какие преимущества дает написание своего собственного компилятора логики для реле Tesys T?
Конечно же это увеличение скорости работы, но самое главное, это возможности автоматизации.
Автоматизацией я называю возможность выполнять большую часть работы, если не всю, без участия человека.
Это не значит, что человек не нужен, это значит что человеку дается больше сил и энергии для выполнения другой работы - творческой, на которую человек гораздо более приспособлен и рассчитан.
Я искренне верю в это.
Написал аналог SoMove для работы с реле Tesys T, которое может:
- автоматически выполняет все действия по выгрузке - загрузке, практически без участия человека
- выгружать полный список параметров, в текстовом виде
- может "узнавать" устройство по IP адресу или серийному номеру, сохранять файлы параметров и логики под именем, привязанным к данному IP или серийнику
- выгружать логику с устройства в текстовый вид
- загружать логику на устройство из текстового файла
- выгружать логику из устройства, автоматически вносить в текст заранее определенные изменения, загружать логику в устройство
- сохранять бэкап старой логики
- программа может работать также под Android, Linux
Теперь пройдемся по каждому пункту из списка.
Автоматизация действий.
Инженеру необходимо настроить конфигурационный файл программы, где определяется:
- необходимость выгрузки логики, поскольку выгрузка логики подразумевает останов позиции, которая в работе
- необходимость изменения и загрузки измененной логики в устройство
- определяются заранее изменения, которые нужно внести в логику
Выгрузка всех параметров в текстовом виде.
SoMove может выгружать параметры из устройства, но
- выгружает их в свой формат данных,
- делает это крайне медленно,
- там есть возможность экспорта в текстовый формат, но выгружает в текстовый вид лишь небольшое количество параметров - меньше 50% от возможных
- автоматизации там нет в принципе
Моя программа выгрузку ВСЕХ параметров делает ровно за 7 секунд. В это время также входит подготовка и сохранение текстового файла с параметрами, под нужным именем.
Когда мы имеем выгрузку всех параметров, в том числе и измеренных значений (например ток, напряжение, температура и пр.), в текстовом виде, это дает огромные перспективы для анализа и BigData.
Это очень ценно когда устройств много, и нужно получить различную информацию по большому количеству устройств.
Узнавание устройства.
Можно заранее определить список IP адресов всех необходимых устройств, свести их в текстовую таблицу, где IP адреса будут привязаны:
- к названию подстанции
- к названию распределительного устройства
- к секции шин
- к названию ячейки или технологическому названию позиции
Программа тем временем:
- загружает данные из таблицы,
- считывает IP адрес из устройства,
- сравнивает этот адрес с таблицей
- если адрес найден, то создает несколько вложенных папок и сам файл, в названии пути которых заложены все нужные имена
- если адрес не найден, то сохраняет файл под именем IP адреса в корне папки
При этом следующие устройства будут сохраняться в однажды созданные папки - например устройства с одной панели, будут вкладываться в общую папку с названием этой панели и т.д.
Выгрузка и загрузка логики с устройства Tesys T в текст/из текста .
То же самое возможно с помощью SoMove, но там это делается:
- весьма и весьма не быстро
- совсем нет возможности автоматизации — все действия вручную
По сути, для реализации этих задач, пришлось создать компилятор (ассемблер) - для загрузки логики из текстового файла в Tesys T, дизассемблера - для выгрузки логики из устройства Tesys T и сохранение её в текстовый файл.
Внесение изменений и загрузка обратно в устройство, дает просто потрясающие возможности для автоматизации, когда ручной труд инженера сведен к минимуму, что очень важно при обработке большого количества устройств.
Сохранить бэкап старой , просто мне показалось, что эта возможность будет не лишней.
Работа программы под различными операционными системами - это то, что в устройствах промышленной автоматики практически не реализовано - кроссплатформенности.
Подавляющее большинство софта работают только под Windows. Конечно, есть устройства которые позволяют подключится и работать с ними через веб интерфейс, но возможности там, зачастую, весьма ограничены.
А теперь представьте, что вам не нужно носить с собой рюкзак с ноутбуком, а все действия программа выполняет сама и с мобильного телефона? Или планшета под Андроид?
Именно эта возможность и реализована, в данной разработке.
Обмен данными, в этом случае реализован через WiFi телефона и переходник шлюз WiFi - RS485
Выглядит же сей процесс следующем образом.
Инженер просто подходит к устройству, с ноутбуком или мобильным телефоном, на котором запущена программа, просто вставляет кабель в сервисный порт, далее все действия программа выполняет сама. В зависимости от конфигурационного файла, программа:
- скачивает все параметры,
- выгружает логику,
- вносит изменения в логику и загружает её обратно в устройство.
Инженер лишь наблюдает за информацией на экране, и просто переходит от одного устройства к другому.
Да, и забыл еще сказать, что если мы выбрали изменение и загрузку логики, то программа запоминает обработанное устройство, и если случайно инженер вставил еще раз кабель в то же устройство, программа определяет это, и не дает снова изменить и загрузить логику еще раз, поскольку это чревато нарушениями структуры логики. Это из-за того, что функцию автоматического изменения текста, я реализовал методом поиска и замены, и, например, может так получится, что строки логики могут дублироваться, или напротив можно удалить что нибудь лишнее, второй раз проведя процедуру поиска и замены. Поэтому я задействовал такую блокировку.
Если будет возможность и интерес у читателя, то я постараюсь подготовить видео, где демонстрируется работа этой программы.