EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

Запуск OpenScada в среде Windows 10 посредством WSL.


Author Message
Written on: 11. 11. 2018 [13:59]
Sfinx2
Zubarev Dmitriy
Topic creator
registered since: 03.02.2018
Posts: 29
Для начала что такое WSL?



Викепедия говорит нам что WSL это

слой совместимости для запуска Linux-приложений (двоичных исполняемых файлов в формате ELF) в ОС Windows 10. В рамках сотрудничества компаний Майкрософт и Canonical стало возможным использовать оригинальный образ ОС Ubuntu 14.04[1] для непосредственного запуска поверх WSL множества инструментов и утилит из этой ОС без какой-либо виртуализации.[2][3][4] WSL предоставляет интерфейсы, во многом совместимые с интерфейсами ядра Linux; однако подсистема WSL была полностью разработана корпорацией Майкрософт и не содержит в себе каких-либо исходных кодов ядра Linux. WSL запускает многие немодифицированные приложения, работающие в пространстве пользователя[5], в частности, оболочку bash, утилиты sed, awk, интерпретаторы языков программирования Ruby, Python, и т. д.[6]
По состоянию на 2018 год, подсистема частично поддерживает запуск графических приложений Linux (использующих графические пользовательские интерфейсы GUI на базе X11) и не поддерживает запуск приложений, требующих нереализованных интерфейсов ядра Linux.[7] Графические приложения работают только с внешним сервером оконной системы X11[8], например VcXsrv или Xming (с ограничениями). Возможен запуск среды Unity и программ из пакета OpenOffice, также работают браузеры (например, Firefox). WSL использует меньше ресурсов, чем полная виртуализация, и стала наиболее простым путем запуска многих Linux-приложений на ОС Windows. Приложения Windows и Linux, запущенные через WSL, имеют доступ ко всем файлам пользователя.[9]
Подсистема WSL доступна только на 64-битных редакциях Windows 10[10] и может быть активирована на версиях Windows 10 Anniversary Update и более поздних.


Как активировать WSL?

1. Прежде всего, необходимо включить компонент «Подсистема Windows для Linux» в «Панель управления» — «Программы и компоненты» — «Включение и отключение компонентов Windows».
2. После установки компонентов и перезагрузки компьютера, зайдите в Магазин приложений Windows 10 и загрузите оттуда Ubuntu. Доступно несколько версий Ubuntu, я выбрал 16.04 .
При загрузке дистрибутивов Ubuntu, OpenSUSE и SUSE Linux Enterprise Server в русскоязычном магазине Windows 10 заметил следующий нюанс: если просто ввести название и нажать Enter, то нужных
результатов в поиске не оказывается, но если начать вводить и затем нажать по появляющейся подсказке, автоматически попадаешь на нужную страницу.
3. Запустите загруженный дистрибутив как обычное приложение Windows 10 и выполните первоначальную настройку (имя пользователя и пароль). Эти настройки не имеют отношения к системным в windows.
Процесс установки занимает довольно длительное время, так что наберитесь терпения.
Приложения в Windows 10 Bash можно устанавливать, удалять и обновлять с помощью apt-get (sudo apt-get) из репозитория Ubuntu.
Так же как и в обычной убунте можно добавлять сторонние репозитарии, например репозитарий openscada.
Использование приложений с текстовым интерфейсом ничем не отличается от такового на Ubuntu, например, вы можете установить Git в Bash и использовать его привычным образом. Вы можете запускать скрипты bash в Windows 10, скрипты bash не могут вызвать программы и команды Windows, но возможен запуск скриптов и команд bash из bat файлов и сценариев PowerShell:
JAVASCRIPT
bash -c "команда"


Также вы можете попробовать запускать приложения с графическим интерфейсом в Ubuntu Shell в Windows 10, на этот счет в Интернете уже имеется не одна инструкция и суть способа сводится к использованию Xming X Server для вывода GUI приложения. Хотя официально возможность работы с такими приложениями Майкрософт не заявлена.
Xming X Server можно скачать отсюда sourceforge.net/projects/xming/

4. Запустите Утилиту Bash и Xming X Server (от имени Администратора).
Теперь необходимо обновить список доступных пакетов Linux, вы должны использовать команду sudo apt-get update.
После обновления доступных пакетов можно попробовать запустить первое приложение Linux в Windows 10
Путь это будет Firefox
Установка:
JAVASCRIPT
sudo apt-get install firefox

Запуск:
JAVASCRIPT
DISPLAY=:0 firefox

Очевидно, что для установки и запуска openscada требуется добавить ее репозиторий, делается это стандартным способом, описанным в быстром старте. Запуск любых GUI приложений необходимо предварять
JAVASCRIPT
DISPLAY=:0
.

После тестирования оказалась что Openscada запустилась без проблем, однако, из-за ограничений присущих WSL ее функционал ограничен. Нет доступа к COM портам, USB, что существенно ограничивает ее сферу применения. Нормально работает сеть, в том числе WEB функции скады.
В таком качестве, лично для меня, она пригодна как среда разработки, в том числе и удаленной.

В свете вышеизложенного, возможно, Во время адаптации openscada под win Главному разработчику необходимо сделать не так много, как казалось ранее. Например, можно написать "чистое" win32 приложение, которое будет реализовывать связь с COM портами и взаимодействовать с openscada по ее собственному протоколу, по средствам сокетов.


[This article was edited 3 times, at last 11.11.2018 at 15:12.]
Attachment

скрин.jpg (File type: image/jpeg, Size: 559.47 kilobytes) — 2904 downloads
скрин2.jpg (File type: image/jpeg, Size: 671.08 kilobytes) — 2931 downloads
Written on: 12. 11. 2018 [10:32]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"Sfinx2" wrote:

После тестирования оказалась что Openscada запустилась без проблем, однако, из-за ограничений присущих WSL ее функционал ограничен. Нет доступа к COM портам, USB, что существенно ограничивает ее сферу применения. Нормально работает сеть, в том числе WEB функции скады.
В таком качестве, лично для меня, она пригодна как среда разработки, в том числе и удаленной.

Чудно, теперь можно заявлять, что OpenSCADA работает и на Венде, хотя и без готовых решений быстрого развёртывания и без ТП.

"Sfinx2" wrote:

В свете вышеизложенного, возможно, Во время адаптации openscada под win Главному разработчику необходимо сделать не так много, как казалось ранее. Например, можно написать "чистое" win32 приложение, которое будет реализовывать связь с COM портами и взаимодействовать с openscada по ее собственному протоколу, по средствам сокетов.

Да нет, адаптация будет полноценной, т.е. нативной. Хотя на первом этапе тоже без модулей вроде Transport.Serial ввиду сильного отличия API, однако возможно в CygWin что-то там и есть.

В любом случае, системно и предметно я этим уже вряд-ли займусь в этом году, поскольку предварительно нужно:
- завершить с распространением реализации DAQ-шаблонов на протоколы;
- добавить механизм контроля пакета ТП и демо-режима, для бинарей подобных платформ;
- адаптировать к работе на QNX, завершение начатого Сергеем Дорошкой; с чем, как оказывается, сейчас проблемы, ввиду невозможности свободного получения QNX, а только месячного "Evaluation" и с неимоверной бюрократией.

Что касается описанного, то это уже материал для под-проекта с адаптации OpenSCADA для работы на MS Windows, которому место тут: http://oscada.org/wiki/Special:MyLanguage/Sub-projects , если хотите принять участие и ускорить этот процесс.

Learn, learn and learn better than work, work and work.



4054