Как я СКАДу писал. Часть четвертая

    И снова, здравствуйте!
    Продолжаем мою эпопею по теме разработки собственной скада-системы.
    Предыдущие части можно почитать здесь:
    Часть№1: habrahabr.ru/post/124427
    Часть№2: habrahabr.ru/post/138874
    Часть№3: habrahabr.ru/post/150196

    Появилась некоторая новость, которая для меня стала полной неожиданностью и немного застала меня врасплох.

    В эту субботу-воскресенье сидел дома и паковал сумку для дислоцирования в район внедрения своей системы на объекте, срочно приспичило порешать кое-какие вопросы, связанные с сетевой инфраструктурой. Благо проблемы не в ПО, а в сетевом оборудовании, но с этим еще предстоит на этой неделе серьезно разбираться совместно с представителями организации, ставившей все это оборудование на объект. Но это отступление от основной темы, так вот — сижу пакуюсь, обмозговываю план мероприятий по анализу ситуаций на объекте, как вдруг мне в аську стучит мой давний знакомый по работе в области АСУ ТП. Так как достаточно давно уже не общались и он куда-то запропал, начали друг друга пытать, что, как, где, почем, и как оно вообще… В процессе обмена словесным флудом, рассказал про свои успехи со своей скадой, за то время, пока мы не общались. Поделился ссылками, материалами на почитать, а заодно скинул ему ссылку на свою текущую рабочую последнюю ревизию с целью попробовать ее.
    Пока обсуждали мою систему, он поведал мне про то, что сейчас достаточно активно стал работать в двух ОСях: Windows и Linux. Тема немного ушла в сторону Linux, он стал интересоваться: не планирую ли я чего в этом направлении? В общем суть да дело, рассказал ему про свою идею попробовать возможности платформы Mono, а также то, что уже скачал MonoDevelop-студию и даже пробовал ее маленько поковырять на своем проекте, вернее свой проект в ней. Однако текущие мои познания в области Linux ограничиваются только тем, что лет 5 назад ради интереса ставил на свой домашний ПК одну из версий Junior Linux вроде, немного потыкался мышкой в интерфейс, но на том пробы и закончились. И он предложил мне ради эксперимента попробовать мою скаду запустить под Linux. Если человек знает что делает — карты ему в руки, я был только за, чтобы попробовать такой эксперимент. Он скачал с моего сайта текущую ревизию, которую я собираю под Ms Windows, и запустил ее под Linux!
    Честно говоря, первые минуты, от такого результата, я был малость ошарашен, а кроме того — даже подумал, что он меня дурачит рисованными скриншотами. Однако, что есть — то есть, система вполне способна запускаться, а при определенных условиях даже полноценно работать под ОС Linux.
    Вот самый первый запуск вообще без ничего, то есть без доп. софта установленного на ПК под Linux (за исключением разве что платформы Mono)
    image
    Среда разработчика

    Дело было поздним вечером, поэтому на первом запуске решили пока остановиться, а продолжить с утра в воскресенье. Вот текст наутро с его слов:

    "Сегодня ещё раз поэкперементировал с запусом скады. Результаты следующие:
    1) в чистом Моно можно просто запустить среду, но почти никаких
    действий выполнить не получиться.
    2) Попробовал запустить среду в Wine. Так
    же в вайне уже были установлены dotnet2 и gdiplus. IDE без проблем
    запускается, можно редактировать графику и программы. Погонял минут
    10, ничего не вылетало. При редактировании графики работает весьма
    шустро. При интенсивном редактировании максимальная загрузка ЦП — 35
    %.
    Т.к. Wine не является виртуальной машиной, можно сказать, что IDE
    пашет в линухе и запуск не треует какого-то особенного колдовства.
    "

    А вот скриншоты:
    image
    Редактор алгоритмов

    image
    Редактор графических мнемосхем

    Вот такие новости, так как я вечером в воскресенье срочно улетел в командировку, дальше продолжить наши с ним эксперименты мы решили по моему возвращению в Мск. А он пока самостоятельно повозится с системой, попробует ее в некоторых тестах функций под данной ОС, чтобы понять, насколько много и в чем наблюдаются несовместимости и можно ли их будет обойти.

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

    В области Linux, честно признаюсь, я — нуб нубом! Похоже, что сейчас появляется возможность проапгрейдить свои скиллы по данному вопросу.

    Буду признателен за хорошие советы от «прошедших» данный путь, а также от тех, кто «в теме» и может подсказать интересными материалами по разработке на платформе .Net платформо-независимых приложений.

    Спасибо за внимание!

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 29

      +2
      Вы мой кумир ) Дай пожалуйста пощупать скаду.
        +2
        Это реально эпичная многосерийная драма.
          0
          Я так думаю что это мелодрама )
          0
          Не все сразу, уже скоро планирую сделать ее достоянием общественности. Пугает только то, что дербанить ее будут после моих опусов в клочья. :) Но и это не особо страшно, страшно другое — тягать по всем вопросам в ней будут меня, а я один… Поэтому на текущий момент я предпочитаю давать к ней доступ только тех, кто сейчас в ней реально работает со мной, или по своим направлениям, но именно работает, а не просто ради одноразового любопытства ее смотрит. Поэтому, прощу прощения, но пока не всем. Хотя, некоторые темы в Ваших статьях меня заинтересовали, нам возможно будет найти обоюдный интерес… Я чуть позже в личку обращусь, если не против.
            0
            Требование к компу, как пишутся архивы (sql или файловая база), можно ли настраивать частоту опроса и записи тэгов, можно ли смотреть архивы графики.
            Пара вопросов что первыми в голову пришли.
              0
              Пока для архивов и журналирования использую MySQL. Штатно — запись ведется по изменениям значений, но если есть желание делать это с заданным периодом, то такое тоже можно сделать, или штатно в проекте, или в виде отдельного алгоритма в проекте.
              Для просмотра архивов есть штатный компонент архивного тренда, который работает с этой СУБД. Он может вообще от скады отдельно работать. А вообще — выборки из СУБД можно прямо в проекте делать и потом обрабатывать в логике, динамический массив — это один из стандартных типов данных в моей скаде.
                0
                Делай с расчетом интеграции скады в 1с упп )))))
              0
              Сделайте платную техподдержку, если будут мучать вопросами.
                0
                Это и хотел как раз сделать, как раз для этого сайт малость надо доделать с регистрацией и личным кабинетом пользователя.
            +1
            К слову, WPF под Mono не покатит. Слишком тяжелая технология для портирования. А вот Sliverlight прокатит.
              0
              Да, похоже с графикой там на GTK надо будет переходить, верно?
              0
              wine штука хорошая, но далеко не панацея, а скорее удачный эксперимент по эмуляции api одной операционной системы на платформе другой.
              Я бы поостерегся применять его на «боевых» системах без тщательного и всестороннего тестирования работоспособности запущенного в эмуляторе winapi софта.
              Из промышленного применения есть относительно удачный опыт работы 1c 7.7 сетевой версии под wine etersoft и некоторой мелочи типа: фрс (драйвера от фискальных принтеров «искры»), справочных систем «гарантов» и «консультантов».
              Вообще работа софта под wine всегда чревата неожиданностями, причем именно там где меньше всего ожидаешь… сродни «взаимодействию обезьяны с гранатой» никогда не знаешь когда она вырвет чеку и в какую сторону бросит.
              Ваша система это АСУ тем более ТП, а к таким системам всегда предъявляются высокие требования надежности и устойчивости — потому опасно здесь связываться с вайном.
              Уж если заинтересовал linux как рабочая платформа имело бы смысл попробовать кроссплатформенную разработку, хотя бы, на том же mono, или найти единомышленников для портирования.
              п.с:
              Это только моё мнение а не железобетонное утверждение + желание предостеречь от возможных ошибок.
                0
                Да, это я конечно же осознаю, и сейчас стоит вопрос не сразу же полноценного использования под данную ОСь, а именно рассмотреть что можно сделать, чтобы действительно вести разработку под две платформы с минимумом затрат. В текущей версии скады я точно знаю, что использую много вещей из WinAPI, которые сам же прописывал у себя в коде по определенным причинам, поэтому для себя осознаю, что могу вполне отказаться от этих вещей именно в версии под Linux, быть может тогда и не потребуется использование Wine, или я тут что-то не догоняю в силу своей неграмотности, и меня надо поправить?
                  0
                  wine по сути аналог автоматического переводчика и выполняет функции трансляции запросов сгенерированных win-бинарником в среду linux(или другого *nix) и обратной интерпретацией ответов в формате понятном данному бинарнику(есть обратный аналог cygwin — для запуска *nix бинарников на windows).
                  Если бинарник собран в среде *nix то уже никакой трансляции запросов через слой «переводчика» не требуется. Другой вопрос это кроссплатформенные интерпретируемые языки типа python = там сам интерпретатор уже корректно собран под конкретную платформу и, по сути, должен одинаково исполнять код написанный для одной платформе на другой, что не всегда верно(знаю по опыту использования python) — в любом случае обязательно требуется тестирование на конкретной ОС-и.
                  0
                  Хотя, возможно в дальнейшем может стоять вопрос не об использовании такого решения в полноценном управлением технологическими процессами, а хотябы чтобы иметь возможность запускать среду разработчика под разными ОСями. У меня много друзей, которые на личной технике предпочитают пользоваться Linux, а так у разработчика была бы возможность что-то менять в проекте не меняя привычную для него рабочую среду…
                    0
                    В таком контексте, думаю, вайн использовать можно.
                    Есть еще вариант: ядро системы крутится на ОС-и по умолчанию, а графические средства мониторинга и управления под эмулятором(в том числе эмулятором API). Приходилось однажды использовать подобную схему на одной системе диспетчеризации: там сервер был разработан под linux, а клиенты были написаны только под win платформу — их то и пришлось запускать в wine.
                  0
                  Я конечно не очень в курсе трудоемкости данного действа, но в идеале для нормальной работы на нескольких ОС лучше переписать с использованием кроссплатформенных инструментов, например на Java, или C++/Qt.
                  0
                  Скажите, пожалуйста, нужно ли иметь сертификат на такую программу, чтобы её внедрять?
                    0
                    Нет, программное обеспечение класса СКАДА не подлежит обязательным сертификациям, более того — их просто не существует. Максимум, какой сертификат можно получить — это так называемый «Сертификат соответствия». Его смысл в том, что он выдается на продукт, у которого перечень заявленных функций, а также содержание документации соответствует действительному положению дел в самом продукте. Такой сертификат для любого ПО можно получить, при должном походе, только вот смысл в нем.
                    Другое дело, что конечные системы АСУ ТП под ключ, в зависимости от области их применения, разработанные на базе СКАДА-системы (любой), подлежат обязательной сертификации, если того требует отрасль. Например, если Вы делаете на моей скаде систему коммерческого учета электроэнергии (АСКУ Э) — она обазятельно должны будет пройти сертификацию на класс систем АСКУ Э. Кстати, сама скада максимум, что может при этом иметь, некий сертификат рекомендованного средства для разработки подобной системы, но ни более того. То бишь, для того чтобы гнуть пальцы и надувать важно щеки, можно наполучать таких вот сертификатов-рекомендаций по разным сферам (энергетика, пожарка, безопасность и т.д.), но цена таким бумагам — будет не больше туалетной, они имеют только рекомендательный характер, а также маркетинговое преимущество: многие конечные пользователи любят их наличие, и для некоторых их наличие — это определяющий фактор для приобретения (некоторый психологический фактор). А то, что все это имеет обычный рынок зарабатывания денег на подобных вещах, вес которым — бумага, а не реальное положение дел, как-то умалчивается (да и зачем, «пипл хавает»).
                    Еще из обязательной сертификации — я знаю только сертификацию в ФАПСИ, но ее необходимо делать только при условии, что ПО будет применять стойкие алгоритмы шифрования, которые наши органы гос.безопасности обязаны держать на контроле, а также иметь принудительные каналы для их обхода в таком ПО. Был уже опыт, когда рассмотрев сложность и финансовую сторону прохождения такой сертификации, решили, что проще убрать шифрование из продукта вообще, чем связываться со всей этой бодягой в стиле «дай, друг, на лапу мне...». :)
                      0
                      Romer, знакомы ли вы с разработкой SimInTech?
                      (ПК «МВТУ»)
                      Скачать можно здесь: 3v-services.com/update/mbtyprotect_rus.exe
                        0
                        Нет, об этой разработке услышал впервые от Вас. Посмотрел материалы, почитал — в похожем направлении двигался когда начинал свой Моделист первый писать, чтобы создавать модели для отладки на полигоне наших разрабатываемых систем. Масштабы у меня конечно не такие, но идея та же была.
                    0
                    Приглашаю всех на стенд нашей компании на предстоящей выставке «ПТА-2014», которая состоится с 7 по 9 октября 2014 года в Москве по адресу: ЦВК «Экспоцентр», павильон 5.
                    На стенде будет демонстрироваться система SCADA+. Можно будет пообщаться с разработчиками и задать свои вопросы, а также попробовать систему в работе.
                    www.pta-expo.ru/news/020914.htm

                    Это будет первый выход моей скады на рынок автоматизации как коммерческого продукта и компании, которая будет заниматься ее разработкой, сопровождением и выполнением проектов на ней.
                      0
                      Ура!!! Наконец-то прошли все согласования в ПАО «Газпром» по маркетинговым материалом для презентации системы нашего системного интегратора, который успешно провел в 2015 году испытания и внедрил в эксплуатацию систему линейной телемеханики газопровода на базе моей SCADA+!
                      Теперь информацию по этому решению, а также отзывы компании о системе SCADA+ можно прочитать на сайте скады в разделе внедрений: система линейной телемеханики «ЭЛТА-ТМ.2»

                      Only users with full accounts can post comments. Log in, please.