- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Резервирование системы визуализации с помощью UNO Server
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Резервирование системы визуализации с помощью UNO Server
Недавно один заказчик поставил нам такую задачу:
для небольшого производства, которое управляется ПЛК 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
Всем спасибо за внимание! Если есть критика или пожелания - пишите, будем рады обсудить.
-
- частый гость
- Сообщения: 409
- Зарегистрирован: 20 ноя 2012, 13:45
- Имя: :.О.N.Ф
- Страна: Россия
- Благодарил (а): 3 раза
- Поблагодарили: 7 раз
Re: Резервирование системы визуализации с помощью UNO Server
А что не так с безопасностью? Вайфай?
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Re: Резервирование системы визуализации с помощью UNO Server
Шифрование будет между сервером и планшетом.
-
- здесь недавно
- Сообщения: 48
- Зарегистрирован: 24 ноя 2012, 19:43
- Имя: Толмачев Андрей Александрович
- Страна: Германия
Re: Резервирование системы визуализации с помощью UNO Server
Вот сайт нашего российского партнера. По ссылке - система визуализации.http://dmdevelopment.ru/index.php/projects
Решение интересное. Внедрения в основом в Европе.
Решение интересное. Внедрения в основом в Европе.
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 21 окт 2014, 10:34
- Имя: Меркурьев В. В.
Re: Резервирование системы визуализации с помощью UNO Server
Думаю шифрование это вопрос, конечно, актуальный, но не самый важный, потому что даже у таких мэтров как Wondervare между клиентом и сервером (IAS) по сети гоняются незашифрованные данные. И опять же это сеть предприятия, которая должна быть отделена от всего мира, и шифрование имеет смысл только в случае взлома пароля WiFi, и только в случае если этот WiFi можно поймать за пределами предприятия.BigDog писал(а):Не сам вайфай. Шифрование. На стороне ПЛК?Вайфай?
Но какие тут есть варианты:
1) Использовать шифрование между сервером и клиентом (между компьютером и планшетом).
2) Не использовать WiFi, воткнуть в OTG-host сетевуху и забить на шифрование.
3) И как Вы написали, шифровать данные одним из алгоритмов на стороне ПЛК и потом расшифровывать на планшете. Но это повлияет на скорость передачи, и скорее всего увеличит цикл контроллера.
-
- частый гость
- Сообщения: 409
- Зарегистрирован: 20 ноя 2012, 13:45
- Имя: :.О.N.Ф
- Страна: Россия
- Благодарил (а): 3 раза
- Поблагодарили: 7 раз
Re: Резервирование системы визуализации с помощью UNO Server
Почему вопрос безопасности не возникает касательно привычных промышленных протоколов, в которых также нет шифрования?
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Re: Резервирование системы визуализации с помощью UNO Server
На этот вопрос уже отвечали (первый раз - лет эдак пять назад), например тут:Exactamente писал(а):Почему вопрос безопасности не возникает касательно привычных промышленных протоколов, в которых также нет шифрования?
Такие интерфейсы эффективнее взламывать при помощи топора и молотка.TEB писал(а):Кхм, кто-нибудь слышал о массовой атаке хакеров и взлом интерфейса RS-485 с протоколом скорее всего ModBUS, о котором мы тут говорим? :)
По вопросам работы Форума можно обратиться по этим контактам.
-
- частый гость
- Сообщения: 409
- Зарегистрирован: 20 ноя 2012, 13:45
- Имя: :.О.N.Ф
- Страна: Россия
- Благодарил (а): 3 раза
- Поблагодарили: 7 раз
Re: Резервирование системы визуализации с помощью UNO Server
То есть проблема всё-таки в вайфае)
На самом деле, хакеры могут атаковать тот же вай-фай, и если им в том повезёт, взломать* скорее всего тот же модбас ТСР. Вы же не хотите сказать, что ни разу в проектах не внедряли беспроводные сети?
*Взломать = чудом узнать какое оборудование используется и раздобыть его карту регистров. Это не всегда тривиальная задача, даже если знаем, что за оборудование)
На самом деле, хакеры могут атаковать тот же вай-фай, и если им в том повезёт, взломать* скорее всего тот же модбас ТСР. Вы же не хотите сказать, что ни разу в проектах не внедряли беспроводные сети?
*Взломать = чудом узнать какое оборудование используется и раздобыть его карту регистров. Это не всегда тривиальная задача, даже если знаем, что за оборудование)
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».
-
- почётный участник форума
- Сообщения: 1075
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 52 раза
- Поблагодарили: 20 раз
Re: Резервирование системы визуализации с помощью UNO Server
WPA ?Потому и спросил. Я не знаю чем парировать их аргументы про шифрование модбаса и других, закрытых внутренних протоколов
-
- частый гость
- Сообщения: 409
- Зарегистрирован: 20 ноя 2012, 13:45
- Имя: :.О.N.Ф
- Страна: Россия
- Благодарил (а): 3 раза
- Поблагодарили: 7 раз
Re: Резервирование системы визуализации с помощью UNO Server
Запароленный вайфай, фильтрация по МАС-адресам, отдельный vlan до сервера, ограниченные маршруты, порты и файрвол на рутерах, vpn между точкой доступа/сервером и беспроводным устройством? Как говаривал Будда, абсолютную защиту от проникновения обеспечить невозможно, нужно только сделать взлом невыгодным по времени и усилиям.
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Re: Резервирование системы визуализации с помощью UNO Server
В нашей задаче заказчик хочет только получать новый рецепт на планшет/телефон и дальше использовать эту информацию как напоминания. По сути это будет система оповещений. Управления с планшета не планируется пока.. Но это пока. Аппетит, как известно, приходит во время еды. Так что про шифрование в любом случае реализовывать будем.
-
- почётный участник форума
- Сообщения: 1075
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 52 раза
- Поблагодарили: 20 раз
Re: Резервирование системы визуализации с помощью UNO Server
Да, я тоже видел, но там речь идет о хоум-системах и взломщик в половине случаев не знает о существовании альтернативных способов защиты, а во второй половине случаев использует лайв-СД с набором утилит от кулхацкера.О нет, гугль перстрит событиями о его взломах,
Решения с использование выделенного сервера авторизации, насколько я знаю очень устойчивы.
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Re: Резервирование системы визуализации с помощью UNO Server
Кстати. В продолжении данной статьи. Переделали сервер, теперь он работает на Spring Framework. Вместо сокетов используем REST сервисы. Авторизация. И еще, теперь мы можем забирать из системы 1С заказы на производство и передавать их в планшет, а далее в контроллер.
Вместо ODC_RW_Tags.dll мы написали свою на Java используя WinCC ODK.
Получилась такая а-ля MES система: 1С Предприятие + наш сервер + Simatic S7.
Вместо ODC_RW_Tags.dll мы написали свою на Java используя WinCC ODK.
Получилась такая а-ля MES система: 1С Предприятие + наш сервер + Simatic S7.