Понимание типов данных Profibus и их использования в промышленных приложениях

Что такое Profibus?

Profibus (Process Field Bus) — открытый, независимый от поставщиков стандарт Fieldbus, определённый в IEC 61158 и IEC 61784. Он был разработан в конце 1980-х годов консорциумом немецких производителей и стал одним из наиболее широко распространённых промышленных коммуникационных протоколов в мире. Profibus поддерживает детерминированный, в реальном времени обмен данными между программируемыми логическими контроллерами (PLC), датчиками, приводами, приводами и другими устройствами автоматизации. Протокол работает по медным кабелям с витой парой (RS-485) или оптоволоконной оптике, скорость передачи данных варьируется от 9,6 кбит/с до 12 Мбит/с в зависимости от длины кабеля и топологии.

Существуют три основных варианта:

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

Основные принципы типов данных Profibus

В Profibus-DP обмен данными следует за моделью master-slave. Мастер (обычно PLC или DCS) циклически считывает входные данные от рабов и записывает в них выходные данные. Каждое устройство-раб имеет заявленную конфигурацию, определяющую, как структурированы его входные и выходные данные — то есть количество байтов, назначение для обработки объектов данных и тип данных каждого объекта. Файл General Station Description (GSD), предоставляемый производителем устройства, описывает эти структуры данных в стандартизированном формате.

Типы данных в Profibus можно разделить на:

Все данные сопоставляются с областями памяти с использованием конкретных типов данных. Спецификация Profibus определяет набор элементарных типов данных, которые могут быть объединены в более сложные структуры. Правильная интерпретация на обоих концах линии связи зависит от согласования хозяина и раба по типу, длине и порядку байтов (эндианности) каждого поля данных.

Типы данных Profibus в деталях

булевый

Булев тип данных представляет двоичное значение: TRUE (1) или FALSE (0).В Profibus булевой обычно занимает один байт, хотя только наименее значимый бит (LSB) несет значение; оставшиеся семь битов следует игнорировать или устанавливать на ноль. Булевые значения широко используются для дискретных сигналов, таких как запуск/остановка двигателя, открытие/закрытие клапана, ограничение статуса переключателя и индикаторы сигнализации.Поскольку многие контроллеры могут упаковывать несколько булевых битов в один байт или слово (разбиение бита), требуется тщательная конфигурация, чтобы избежать смещения.

Целое число (подписано и неподписано)

Целые числа кодируются. Profibus поддерживает подписанные и неподписанные форматы на трех стандартных длинах:

Целые типы обычно используются для счетчиков, точек набора скорости, таймеров и параметров устройства, которые не требуют фракционного компонента. Во многих файлах GSD вы увидите обозначение INT16 или UINT32. Порядок байта обычно является большим эндианом (наиболее значительным байтом первым) на Profibus, но всегда проверяйте основную конфигурацию, потому что некоторые системы могут быть установлены на малоэндиан.

Реальная (плавающая точка)

Реальные числа (значения плавающей точки) необходимы для аналоговых измерений, таких как температура, давление, поток и уровень. Profibus использует формат IEEE 754 с одноточным (32-битным) форматом, иногда называемый REAL или FLOAT . 32-битный реал состоит из знакового бита, 8-битного экспонента и 23-битной мантисы. Двухточные (64-битные) реалии определены в спецификации, но менее распространены из-за увеличенной нагрузки шины и потребления памяти.

При передаче данных с плавающей точкой мастер и раб должны договориться о порядке байта. По умолчанию для Profibus является big-endian (MSB first). Если устройство использует little-endian (обычный с некоторыми контроллерами на базе ПК), вы должны настроить байтовый своп в мастере, чтобы избежать искаженных значений.

Байт, слово и двойное слово

Это необработанные контейнеры данных, которые не интерпретируются как цифры.

Byte составляет 8 бит, Word — 16 бит (2 байта), а Double Word — 32 бита (4 байта).Многие устройства Profibus определяют свои данные ввода/вывода как массив байтов, и именно прикладная программа должна преобразовывать их в правильный логический тип.

Струна

Типы данных строк используются для передачи буквенно-цифровой информации, такой как идентификация устройства, номера моделей, сообщения об ошибках или аннотации оператора. Profibus обычно определяет строки как последовательность символов фиксированной длины (например, 16, 32 или 64 байта), каждый байт, содержащий символ ASCII. Некоторые профили также поддерживают кодирование ISO 8859-1 (латин-1). Поскольку строки имеют фиксированную длину, для прокладки могут использоваться пробелы для трассировки или нулевые символы.

Струнная передача обычно является ациклической (через каналы параметров), так как циклическая передача будет тратить пропускную способность.На системах HMI и SCADA строки из Profibus-рабов часто отображаются в виде простого текста после декодирования значений ASCII.

Композитные типы: массивы и структуры

Profibus позволяет группировать элементарные типы данных в массивы (повторяя один и тот же тип) и структуры (смесь разных типов). Например, 4-канальный аналоговый модуль ввода может отправлять массив из четырех 16-битных целых чисел. Профиль диска может использовать структуру, содержащую управляющее слово (16-битное целое число), заданную точку (32-битное реальное) и статусное слово (16-битное целое число). Файл GSD определяет точную компоновку, придавая каждому элементу уникальный слот или индекс.

Сложные типы данных, такие как Время (например, продолжительность или временная метка) и Дата (закодированные как 16-битное или 32-битное значение) также определены в спецификации Profibus, но появляются в основном в контекстах приложений, специфичных для профиля (например, технология привода или управление процессом).

Практическое использование в промышленных приложениях

Производственная автоматизация

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

Инженеры настраивают отображение данных в главном ПЛК с помощью аппаратного средства конфигурации (например, Siemens TIA Portal, Rockwell ControlLogix со сканером Profibus). Выбор типа данных напрямую влияет на время цикла: меньшие типы снижают нагрузку на шину, позволяя повысить скорость обновления.

Контроль процесса

Profibus-PA является предпочтительным вариантом для непрерывных технологических отраслей. Здесь доминируют аналоговые измерения. Передатчик давления, например, будет циклически отправлять 32-битное реальное значение, представляющее переменную процесса (например, 12.345 бар). Профиль устройства (PA Profile 3.0 или 4.0) определяет стандартизированные блоки, такие как Аналоговый ввод или PID контроллер , каждый с четко определенными типами данных и байтами состояния. Байт состояния (обычно байт-ширина) предшествует или сопровождает аналоговое значение, обеспечивая качественную информацию (хорошая, неопределенная, плохая) и ограничивает сигналы тревоги. Эта комбинация реальных и булевых типов данных позволяет системе управления действовать как на измеренное значение, так и на его состояние.

Управление движением и приводы

Профили приводов для Profibus (например, PROFIdrive) используют комбинацию типов данных для достижения быстрого, скоординированного движения. Типичная циклическая телеграмма включает в себя:

Правильная интерпретация битовых полей в словах управления / статуса имеет решающее значение. Один несоответствующий булевый бит может вызвать неожиданное поведение диска.

Системы безопасности (PROFIsafe)

PROFIsafe - это уровень связи по безопасности, который работает поверх Profibus. Он использует специальный формат данных, известный как блоки данных «F-host» и «F-slave». Соответствующие безопасности данные (например, кнопки экстренной остановки, световые занавески) передаются как значения Boolean или 16-битное целое число , но с дополнительными функциями, связанными с безопасностью: последовательный порядковый номер, CRC (циклическая проверка избыточности) по полезной нагрузке и таймер сторожевого типа. Семантика базового типа данных остается прежней, но драйвер PROFIsafe обрабатывает дополнительные накладные расходы прозрачно для пользователя.

Лучшие практики для выбора типа данных

Устранение неполадок в общих проблемах типов данных

Неправильное толкование типов данных является частым источником проблем с полевыми шинами. Наиболее распространенные симптомы и их коренные причины включают:

Будущее профибусов и типов данных

Хотя Profinet все чаще используется для новых установок из-за его более высокой скорости и гибкости, Profibus остается глубоко внедренным в существующие установки. Многие объекты работают гибридные сети, где Profibus и Profinet сосуществуют через прокси-шлюзы. Определения типов данных от Profibus были перенесены в Profinet, гарантируя, что профили устройств и инструменты конфигурации остаются согласованными. Понимание типов данных Profibus, таким образом, обеспечивает прочную основу для перехода к промышленной связи на основе Ethernet.

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

Более подробные спецификации см. в официальной документации Profibus от Profibus International (] www.profibus.com) и соответствующих стандартах МЭК. Дополнительные практические рекомендации можно найти в примечаниях к заявкам от Siemens (]Siemens Industry Online Support) и в статье Wikipedia о Profibus.