Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Резервирование системы визуализации с помощью UNO Server

Новости АСУТП, анонсы, а также отчёты о выполненных работах
Аватара пользователя

Автор темы
minikh
здесь недавно
здесь недавно
Сообщения: 25
Зарегистрирован: 19 окт 2014, 13:05
Ф.И.О.: Миних Владимир Анатольевич
Контактная информация:

Резервирование системы визуализации с помощью UNO Server

Сообщение minikh » 20 окт 2014, 11:01

Изображение

Недавно один заказчик поставил нам такую задачу:
для небольшого производства, которое управляется ПЛК Siemens Simatic S7-400, необходимо реализовать резервирование системы визуализации. Обычное решение в таком случае – это поставить панель управления и по резервному каналу связи подключить к ПЛК:
Изображение
Рисунок 1. Классическая схема с панелями оператора.

Только вот ценник для такого решения получается довольно высокий: 2 панели 3000 евро + модуль Ethernet 2000 евро, да еще разработка софта. Допустим можно взять китайские панели, с ними, правда, могут возникнуть проблемы, но зато можно немного сэкономить.

И тут мы думаем, а для чего же мы писали наш UNO Server http://vmsystems.ru/unoserver.shtml? Ведь его можно подключить к контроллеру, и всю информацию выводить на планшет с Android или iOS? Вот как будет выглядеть такая система:
Изображение
Рисунок 2. Схема с планшетами вместо панелей оператора.

Так как имеется компьютер с WinCC 6.0, то можно будет сервером забирать с него теги и оправлять на планшеты с android/iOS по wifi.
Считаем: 2 планшета ~ 30000 руб. + wifi роутер 5000 руб. максимум.
Есть правда проблема, если не работает WinCC, то нет связи. Резервирование не получается. Но как оказалось у заказчика есть второй компьютер.

Изображение
Рисунок 3. Схема с двумя компьютерами.

Уже получается надежнее, но на полноценное резервирование не тянет. Попробуем организовать еще один канал связи с контроллером минуя WinCC:

Изображение
Рисунок 4. Схема с дополнительным каналом связи Ethernet.

У ПЛК имеется RS-485. Можно на нем поднять modbus и через преобразователь RS485 – Ethernet MOXA подключить к компьютеру. Сервер будет забирать информацию напрямую из ПЛК. Это прибавит к ценнику еще 15000 руб., а скорее 30000 (так как надо еще резерв заложить), и к тому же в цепочке все еще присутствуют компьютеры. Попытаемся еще больше упростить схему, выкинув и их.

Изображение
Рисунок 5. Схема с сервером внутри Android приложения.

Тут уже сервер переезжает в планшет. В случае Android планшета это не проблема, мы уже пробовали его там запускать. Java все-таки. На персональном компьютере сервер можно оставить, как дополнительный канал связи.

Если с modbus все уже отработано, то связь с WinCC необходимо было протестировать. В интернете нашлась интересная библиотека ODC_RW_Tags.dll http://wincc-specialist.ru/Samples.html. Эта библиотека позволяет получить доступ к тегам WinCC. Ну что, вперед.

Быстро строим прототип. Подключаем dll к Java через библиотеку JNA. Теги Real и Integer получилось прочитать сразу и даже записать в них значения. Но самая главная задача была передавать от контроллера текстовую информацию с рецептурами. Английские буквы тоже прочитались без проблем, а вот вместо русских были ромбики.

Изображение
Рисунок 6. Вместо слова «Привет» видим ромбики.

Оказывается в WinCC используется кодировка Cp1251, а в Java UTF-8. Стало немного грустно. После нескольких часов разборок с кодировками увидел в отладчике такую строчку

Изображение
Рисунок 7. Строка с указанием кодировки UTF-8.

Настроение сразу повысилось! Скачиваем исходные коды JNA и в классе Native.java находим такую строчку:
public static final String DEFAULT_ENCODING = "utf8";
меняем ее на такую:
public static final String DEFAULT_ENCODING = "cp1251";
Profit!!! Теперь можем наблюдать фразу «Привет World»

Изображение
Рисунок 8. Теперь видим «Привет World».

Звоним заказчику, и рассказываем решение. А он говорит: Мы будем менять компьютеры и на них будет Windows 7 и WinCC 7.0. Для WinCC 7.0 пришлось найти новую версию библиотеки ODC_RW_Tags.dll и установить 32 битную версию JRE.

После этого вставили данный прототип в наш UNO Server. Осталось сделать шифрование, авторизацию пользователей и доделать интерфейс для android.

Изображение
Рисунок 9. Пример интерфейса Android.

Пример использования библиотеки ODC_RW_Tags.dll и модифицированный JNA: WinCCTagLibrary https://github.com/minikh/WinCCTagLibrary
Библиотека должна находиться в system32.

Текст оригинальной статьи http://vmsystems.ru/unoserver-wincc.shtml

Всем спасибо за внимание! Если есть критика или пожелания - пишите, будем рады обсудить.

Аватара пользователя

Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение Exactamente » 20 окт 2014, 16:08

А что не так с безопасностью? Вайфай?
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

Автор темы
minikh
здесь недавно
здесь недавно
Сообщения: 25
Зарегистрирован: 19 окт 2014, 13:05
Ф.И.О.: Миних Владимир Анатольевич
Контактная информация:

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение minikh » 20 окт 2014, 16:45

Шифрование будет между сервером и планшетом.


bdeas
здесь недавно
здесь недавно
Сообщения: 42
Зарегистрирован: 24 ноя 2012, 18:43
Ф.И.О.: Толмачев Андрей Александрович

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение bdeas » 20 окт 2014, 21:24

Вот сайт нашего российского партнера. По ссылке - система визуализации.http://dmdevelopment.ru/index.php/projects
Решение интересное. Внедрения в основом в Европе.


thekekc
новенький
новенький
Сообщения: 2
Зарегистрирован: 21 окт 2014, 09:34
Ф.И.О.: Меркурьев В. В.

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение thekekc » 21 окт 2014, 09:52

BigDog писал(а):
Вайфай?

Не сам вайфай. Шифрование. На стороне ПЛК?


Думаю шифрование это вопрос, конечно, актуальный, но не самый важный, потому что даже у таких мэтров как Wondervare между клиентом и сервером (IAS) по сети гоняются незашифрованные данные. И опять же это сеть предприятия, которая должна быть отделена от всего мира, и шифрование имеет смысл только в случае взлома пароля WiFi, и только в случае если этот WiFi можно поймать за пределами предприятия.
Но какие тут есть варианты:
1) Использовать шифрование между сервером и клиентом (между компьютером и планшетом).
2) Не использовать WiFi, воткнуть в OTG-host сетевуху и забить на шифрование.
3) И как Вы написали, шифровать данные одним из алгоритмов на стороне ПЛК и потом расшифровывать на планшете. Но это повлияет на скорость передачи, и скорее всего увеличит цикл контроллера.

Аватара пользователя

Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение Exactamente » 21 окт 2014, 13:18

Почему вопрос безопасности не возникает касательно привычных промышленных протоколов, в которых также нет шифрования?
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

TEB
специалист по DEIF
специалист по DEIF
Сообщения: 7884
Зарегистрирован: 17 июн 2008, 15:01
Ф.И.О.: Евгений свет Брониславович
Благодарил (а): 35 раз
Поблагодарили: 63 раза
Контактная информация:

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение TEB » 21 окт 2014, 13:38

Exactamente писал(а):Почему вопрос безопасности не возникает касательно привычных промышленных протоколов, в которых также нет шифрования?

На этот вопрос уже отвечали (первый раз - лет эдак пять назад), например тут:

TEB писал(а):Кхм, кто-нибудь слышал о массовой атаке хакеров и взлом интерфейса RS-485 с протоколом скорее всего ModBUS, о котором мы тут говорим? :)


Такие интерфейсы эффективнее взламывать при помощи топора и молотка.
По вопросам работы Форума можно обратиться ко мне, или по этим контактам.

Аватара пользователя

Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение Exactamente » 21 окт 2014, 14:32

То есть проблема всё-таки в вайфае)
На самом деле, хакеры могут атаковать тот же вай-фай, и если им в том повезёт, взломать* скорее всего тот же модбас ТСР. Вы же не хотите сказать, что ни разу в проектах не внедряли беспроводные сети?

*Взломать = чудом узнать какое оборудование используется и раздобыть его карту регистров. Это не всегда тривиальная задача, даже если знаем, что за оборудование)
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».


Бондарев Михаил
почётный участник форума
почётный участник форума
Сообщения: 945
Зарегистрирован: 25 июл 2008, 22:23
Ф.И.О.: Бондарев Михаил Владимирович
Поблагодарили: 1 раз

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение Бондарев Михаил » 21 окт 2014, 21:01

Потому и спросил. Я не знаю чем парировать их аргументы про шифрование модбаса и других, закрытых внутренних протоколов


WPA ?

Аватара пользователя

Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение Exactamente » 21 окт 2014, 21:32

Запароленный вайфай, фильтрация по МАС-адресам, отдельный vlan до сервера, ограниченные маршруты, порты и файрвол на рутерах, vpn между точкой доступа/сервером и беспроводным устройством? Как говаривал Будда, абсолютную защиту от проникновения обеспечить невозможно, нужно только сделать взлом невыгодным по времени и усилиям.
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

Автор темы
minikh
здесь недавно
здесь недавно
Сообщения: 25
Зарегистрирован: 19 окт 2014, 13:05
Ф.И.О.: Миних Владимир Анатольевич
Контактная информация:

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение minikh » 23 окт 2014, 23:04

В нашей задаче заказчик хочет только получать новый рецепт на планшет/телефон и дальше использовать эту информацию как напоминания. По сути это будет система оповещений. Управления с планшета не планируется пока.. Но это пока. Аппетит, как известно, приходит во время еды. Так что про шифрование в любом случае реализовывать будем.


Бондарев Михаил
почётный участник форума
почётный участник форума
Сообщения: 945
Зарегистрирован: 25 июл 2008, 22:23
Ф.И.О.: Бондарев Михаил Владимирович
Поблагодарили: 1 раз

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение Бондарев Михаил » 24 окт 2014, 00:30

О нет, гугль перстрит событиями о его взломах,

Да, я тоже видел, но там речь идет о хоум-системах и взломщик в половине случаев не знает о существовании альтернативных способов защиты, а во второй половине случаев использует лайв-СД с набором утилит от кулхацкера.
Решения с использование выделенного сервера авторизации, насколько я знаю очень устойчивы.

Аватара пользователя

Автор темы
minikh
здесь недавно
здесь недавно
Сообщения: 25
Зарегистрирован: 19 окт 2014, 13:05
Ф.И.О.: Миних Владимир Анатольевич
Контактная информация:

Re: Резервирование системы визуализации с помощью UNO Server

Сообщение minikh » 13 мар 2015, 22:42

Кстати. В продолжении данной статьи. Переделали сервер, теперь он работает на Spring Framework. Вместо сокетов используем REST сервисы. Авторизация. И еще, теперь мы можем забирать из системы 1С заказы на производство и передавать их в планшет, а далее в контроллер.
Вместо ODC_RW_Tags.dll мы написали свою на Java используя WinCC ODK.
Получилась такая а-ля MES система: 1С Предприятие + наш сервер + Simatic S7.


Вернуться в «Новости и отчётность»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей