И снова, здравствуйте!
Продолжаем мою эпопею по теме разработки собственной скада-системы.
Предыдущие части можно почитать здесь:
Часть№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)
Среда разработчика
Дело было поздним вечером, поэтому на первом запуске решили пока остановиться, а продолжить с утра в воскресенье. Вот текст наутро с его слов:
"Сегодня ещё раз поэкперементировал с запусом скады. Результаты следующие:
1) в чистом Моно можно просто запустить среду, но почти никаких
действий выполнить не получиться.
2) Попробовал запустить среду в Wine. Так
же в вайне уже были установлены dotnet2 и gdiplus. IDE без проблем
запускается, можно редактировать графику и программы. Погонял минут
10, ничего не вылетало. При редактировании графики работает весьма
шустро. При интенсивном редактировании максимальная загрузка ЦП — 35
%.
Т.к. Wine не является виртуальной машиной, можно сказать, что IDE
пашет в линухе и запуск не треует какого-то особенного колдовства."
А вот скриншоты:
Редактор алгоритмов
Редактор графических мнемосхем
Вот такие новости, так как я вечером в воскресенье срочно улетел в командировку, дальше продолжить наши с ним эксперименты мы решили по моему возвращению в Мск. А он пока самостоятельно повозится с системой, попробует ее в некоторых тестах функций под данной ОС, чтобы понять, насколько много и в чем наблюдаются несовместимости и можно ли их будет обойти.
Вот, а я уже скачал инсталляцию данной ОС и уже даже знаю какой из домашних ПК у меня пойдет под данное направление. Видимо также придется более детально изучить вопрос портирования, и предусмотреть возможность разработки системы уже с учетом обоих направлений, чтобы минимизировать вариант по генерации отдельного кода под каждую ОСь.
В области Linux, честно признаюсь, я — нуб нубом! Похоже, что сейчас появляется возможность проапгрейдить свои скиллы по данному вопросу.
Буду признателен за хорошие советы от «прошедших» данный путь, а также от тех, кто «в теме» и может подсказать интересными материалами по разработке на платформе .Net платформо-независимых приложений.
Спасибо за внимание!
Автор: Romer