WinCC OA: настраиваем встроенный драйвер MODBUS TCP

Целью данной статьи является создание пошаговой инструкции для освоения настройки встроенного драйвера Modbus у scada-системы WinCC OA.

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

Итак, пошаговая инструкция по соединению стандартной станции WinCC OA по протоколу Modbus TCP. Используется популярный симулятор Modbus TCP протокола Modbus Tools (http://www.modbustools.com/download.html)
1. На рабочей машине должна быть предустановлена 64-битная операционная система, демонстрационная или ключевая версия Wincc OA (v3.14 или более поздние)
2. Скачиваем по ссылке выше и устанавливаем ModbusPollSetup64Bit.exe и ModbusSlaveSetup64Bit.exe. Устанавливаем данные компоненты для эмуляции потока данных (посылка-прием телеграмм) по протоколу Modbus TCP
3. Сначала запускаем Modbus Slave (генерация телеграмм) с настройками, как указано на рисунках, допуская работу в домашней сети (верхняя галочка)

Modbus Slave

Net agrid

4. Выставляем на эмуляторе слейва какие-либо числа

Modbus Slave

5. Настраиваем эмулятор мастера в соответствии с рисунком. Запускаем Modbus Poll

Modbus Pool

6. Видим, тикает счетчик телеграмм (TX), видим полученные и переданные данные. По умолчанию настроена функция 03 Holding Register

Modbus Pool value

7. Создаем новый стандартный проект Wincc OA. Выбрав два языка для интерфейса, отказываюсь от ввода пароля.

Создание проекта WinCC OA

8. Запускаем созданный проект «TestModbusTCP»

Admin WinCC OA

9. Дожидаемся запуска всех служб консоли

Consol Wincc OA

10. Останавливаем драйвер эмуляции протоколов (заглушку) и устанавливаем новый мастер Modbus driver

Manager Wincc OA

11. Устанавливаем строку инициализации в менеджере Modbus

Инициализация менеджера

Инициализация менеджера

Консоль должна выглядеть так:

Консоль Wincc OA

12. Выставляем в конфигурационном файле проекта
[mod_1]
tcpServerPort = 502
и перезагружаем весь наш пустой проект

Использование в частной сети

Использование в частной сети

13. Подтверждаем доступ

Консоль Wincc OA

Консоль Wincc OA

Консоль должна выглядеть вот так
14. Настраиваем драйвер как на кадре ниже и активируем, жмем Active и Apply

Настройка драйвера

15. Пробуем запустить эмулятор Slave
Если ругается что порт занят – ХОРОШИЙ ПРИЗНАК
Оставляем эту идею без действия и запускаем Modbus Pool

Модбас пул

Видим, что идут телеграммы (меняется Tx) двигается счетчик, горит поочередно ошибка, то ошибка чтения, то на запись. Учитываем, что пока у нас не создано ни одного тэга и опрос не создан.
16. Создаем новый тип данных и новую точку данных. Новой точке задаем тип данных целочисленный (Int)

Точка данных

Точка данных - канал


17. Добавляем к этой переменной алеас перефирийного адреса и кликаем на параметры

Выбор протокола

Задаем из списка протокол Modbus

Задаем параметры опроса

Задаем параметры опроса

18. Выбираем, какой у нас ПЛК, задаем период опроса. Важно!!! везде где попадается ставить галочку «Active»
19. Остается правильно с пониманием сети, запустить процесс обмена и все должно получиться
Запустить вначале нужно Modbus Slave (приемник телеграмм), только затем драйвер WinCC OA. Меняя значение в слейве мы видим, что WinCC OA считывает/получает данные
Modbus Poll так же можно запустить, например, для замены значения в регистре, но после запуска основного драйвера WinCC OA

Запрос вида:
00 1C 00 00 00 06 01 03 00 00 00 0A
00 1C – идентификатор пакета.
00 00 – всегда такое значение
00 06 – длина информационной части пакета 6 байт
01 – логический адрес контроллера/обычно равен 1, но…/
03 – команда чтения регистров
00 00 – с адреса 0000
00 0A – всего читается десять регистров (двадцать байт)

Ответ вида:
00 1C 00 00 00 17 01 03 14 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 1C – идентификатор повторить из запроса
00 00 – всегда такое значение
00 17 – длина информационной части (двадцать три байта)
01 – адрес ПЛК /повторить из запроса/
03 – функция
02 – число байт /регистры обычно 16-битные, потому число байт кратно двум/
хххх – значение регистра

00 1C 00 00 00 06 01 03 00 00 00 0A
00 1C 00 00 00 17 01 03 14 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Совет, если не выходит: перезагружайтесь почаще при настройке драйверов + если не идет обмен или пишет ерунду, то анализируйте, то что есть внутри пакетов обмена.
Удобный снифер для Modbus TCP можно взять здесь:
http://soft.mydiv.net/win/files-SmartSniff.html

Связь установлена

Видим, что связь работает и данные меняются.

#Пошаговая, #инструкция, #настройка, #драйвера, #Модбас, #WinCCOA Если Вы не нашли то, что искали, сообщите об этом в комментарии

Оставьте первый комментарий

Ваш комментарий добавлен


Возврат к списку