Программируемые устройства

Основано на профиле CiA Draft Standard 405 «Интерфейс и профиль для программируемых устройств IEC 61131-3»

Введение

Этот документ представляет стандартизированный интерфейс CANopen и профиль для программируемых устройств IEC 61131-3, таких как ПЛК.

Все вышеперечисленные устройства используют методы связи, которые соответствуют описанным в проекте стандарта CiA DS-301 (Прикладной уровень и профиль связи) и профиля программируемые устройства DSP-302. С этими документами следует ознакомиться параллельно с этим профилем. В общем, создание приложения реализует обработку до пяти интерфейсов, см. рисунок.

../_images/CiA405-Interfaces.jpeg

Рисунок 1: Интерфейсы

В этом документе рассматриваются следующие интерфейсы

  1. доступ к системе связи CANopen из программы IEC 61131-3 a. основанный на переменных, т.е. доступ к элементарным переменным объектам IEC 61131-3, b. на основе вызовов функционального блока

  2. служебные функции для отладки, мониторинга и управления сетью

  3. интерфейс между инструментами CANopen и средой программирования IEC 61131-3

Все остальные интерфейсы зависят от производителя (D) или используют сервисы CANopen (E).

Примечание

На рисунке необязательно описано использование разных инструментов для программирования и настройки. Один инструмент может обрабатывать обе функции и скрывать интерфейсы.

Рекомендации

Стандарт

Описание

IEC 61131

IEC 61131 Первое издание 1993-03 Программируемые контроллеры

  • Часть 1: общая информация

  • Часть 3: языки программирования

  • Часть 5: службы обмена сообщениями

DS-301

Прикладной уровень и коммуникационный профиль

DS-302

Платформа для программируемых CANopen устройств

DS-305

Службы и протоколы уровня настройки

DS-306

Спецификация электронного технического паспорта для CANopen

Термины и определения

Типы данных

IEC 61131-3 определяет три вида типов данных:

  • Элементарные типы данных

Длина

Наименование

1 Bit

BOOL

8 Bits

SINT, USINT, BYTE

16 Bits

INT, UINT, WORD

32 Bits

DINT, UDINT, REAL, DWORD

64 Bits

LINT, ULINT, LREAL, LWORD

Зависит от реализации

TIME, DATE, TIME_OF_DAY, DATE_AND_TIME, STRING

  • Общие типы данных

Универсальные типы данных иерархически группируют элементарные типы данных. Они идентифицируются префиксом «ANY» (например, ANY_NUM, ANY_INT,…).

  • Производные типы данных

Типы данных (структуры), указанные пользователем или производителем. Типы, соответствующие типам данных CANopen (например, CIA405UINT24, …).

Переменные

IEC-переменные могут быть представлены символически или напрямую (%IX…, %QW..). IEC 61131-3 знает два вида переменных:

  • Одноэлементная переменная - Переменная состоит из одного элемента.

  • Многоэлементные массивы - Переменных и структуры.

Подразделения программной организации (POU)

POUs - это фактические программные модули, из которых состоит программа IEC. Единицы организации программы, определенные IEC 61131-3, включают функцию, функциональный блок и программу.

../_images/CiA405-software-organisation.jpeg

IEC 61131-3 организация программного обеспечения

  • Функция

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

  • Функциональный блок

Функциональный блок имеет одно или более входных значений и одно или более выходных значений. Допускается несколько экземпляров (копий) функционального блока. Функциональный блок сохраняет информацию о своем внутреннем состоянии. Он может быть выполнен из программы или другого функционального блока.

  • Программа

Этот тип POU представляет «основную программу». Экземпляры программ могут быть созданы только внутри ресурсов (с помощью задачи).

Элементы конфигурации

Конфигурация соответствует системе программируемого контроллера, как определено в IEC 61131-3-1. Конфигурация содержит один или несколько ресурсов, каждый из которых содержит одну или несколько программ, выполняемых под управлением нуля или более задач.

  • Глобальная переменная

Переменная, область действия которой является глобальной (область действия объявления, применяемого ко всем точкам в пределах источника или конфигурации).

  • Ресурс

«Функция обработки сигналов» и ее «человеко-машинный интерфейс» и «функции интерфейса датчиков и исполнительных механизмов», как определено в IEC 61131-3-1. Обычно ресурс означает центральный процессор одного ПЛК.

  • Задача

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

  • Путь доступа

Объединение символьного имени с переменной с целью открытого обмена данными.

Доступ к определению сетевых переменных

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

В этом профиле используются термины и определения /DSP-302/ «Фреймворк для программируемых устройств CANopen». Он определяет использование сетевых переменных способом, независимым от типа программируемого устройства. Здесь вводятся некоторые ограничения для программируемых устройств стандарта IEC 61131-3.

Определения, относящиеся к конкретному профилю CANopen

CANopen предоставляет возможность идентифицировать профиль узла. Следовательно, коммуникационный профиль CANopen /DS-301/ определяет объект 1000h («Тип устройства»). Объект 1000h представляет собой 32-разрядное слово, разделенное на два 16-разрядных слова. LSB содержит номер профиля, MSB содержит дополнительную информацию. Для устройства, следующего этим спецификациям, номер профиля устанавливается равным 405. Дополнительная информация (MSB) имеет значение 0 и зарезервирована для дальнейшего использования CiA. Профиль не определяет сопоставление по умолчанию.

Типы данных

IEC 61131-3 и CANopen определяют разные типы данных. В следующей таблице определено назначение типов, которые эквивалентны и которые можно использовать в качестве сетевых переменных. Для обработки этих типов данных в формате файла полезно присвоить номера типу данных. Таблица начинается с типов данных, определенных в CANopen, и использует ту же кодировку. Дополнительные типы данных стандарта IEC 61131-3 начинаются с A0H.

IEC 61131-3

CANopen

Ширина данных (bit)

Кодировка (Hex)

BOOL

Boolean

1

01

SINT

Integer8

8

02

INT

Integer16

16

03

CIA405INT24

Integer24

24

10

DINT

Integer32

32

04

CIA405INT40

Integer40

40

12

CIA405INT48

Integer48

48

13

CIA405INT56

Integer56

56

14

LINT

Integer64

64

15

USINT

Unsigned8

8

05

UINT

Unsigned16

16

06

CIA405UINT24

Unsigned24

24

16

UDINT

Unsigned32

32

07

CIA405UINT40

Unsigned40

40

18

CIA405UINT48

Unsigned48

48

19

CIA405UINT56

Unsigned56

56

1A

ULINT

Unsigned64

64

1B

REAL

Float

32

08

BYTE

Unsigned8

8

A4

WORD

Unsigned16

16

A5

DWORD

Unsigned32

32

A6

LWORD

Unsigned64

64

A7

Следующие типы данных эквивалентны, но не могут быть переданы через PDOs:

IEC 61131-3

CANopen

Encoding (Hex)

TIME

Time_Difference

0D

DATE

Time_Of_Day

0C

TIME_OF_DAY

Time_Of_Day

0C

STRING

Visible String

09

Следующие типы данных IEC 61131-3 не имеют эквивалента в CANopen: LREAL, DATE_AND_TIME,. Следующие типы данных CANopen не имеют эквивалента в IEC 61131-3: Octet String, Domain.

Функции преобразования типов данных

Функции преобразования типов должны быть определены в соответствии с IEC 61131-3 (т.е. <from>_TO_<to>, например, CIA405uint24_TO_DINT) в обоих направлениях для следующих комбинаций:

Type1

Type2

CIA405INT24

DINT

CIA405INT40

LINT

CIA405INT48

LINT

CIA405INT56

LINT

CIA405UINT24

UDINT

CIA405UINT40

ULINT

CIA405UINT48

ULINT

CIA405UINT56

ULINT

CIA405UINT24

ULINT

CIA405UINT40

LWORD

CIA405UINT48

LWORD

CIA405UINT56

LWORD

Представление типов данных

CANopen определяет определенное представление для типов данных, в то время как IEC 61131-3 этого не делает. Если система IEC 61131-3 может использовать то же представление, что определено в CANopen, проблем не возникнет. Стратегия этого стандарта заключается в следующем:

  1. Данные сети (обычно PDOs), доступные для IEC 61131-3 в виде сетевых переменных посредством записей в диапазоне A000-AFFF, обычно отображаемые в образ процесса системы IEC 61131-3, должны быть представлены IEC 61131-3 в собственной системе IEC 61131-3 (зависящей от платформы, потенциально может открыть несоответствующее требованиям) представление данных. Тип данных CANopen для этих элементов данных известен ядру CANopen, все необходимые преобразования должны быть выполнены перед введением значения в образ процесса, соответственно, после извлечения его из образа процесса.

  2. Все остальные данные, тип данных которых потенциально неизвестен ядру CANopen и/или приложению IEC 61131-3 (например, данные SDO), должны быть представлены системе IEC 61131-3 в стандартном формате данных CANopen в виде потока необработанных байтов. Должны быть предоставлены функции преобразования для преобразования этого представления данных в собственный формат IEC 61131-3, но информация о типе данных должна быть доступна во время выполнения.

Примечание

Примечания по применению приведены в главе 8.4.2. (TODO уточнить)

Доступ к CANopen из IEC 61131-3

Как упоминалось во введении, в этом документе рассматриваются два метода доступа к сети CANopen:

  1. Доступ на основе переменных, доступ к отдельным переменным из программы IEC 61131-3 в соответствии с сетевыми переменными /DSP-302/.

  2. Доступ на основе функциональных блоков, вызывающий функциональные блоки для записи и/или чтения данных. Это реализовано с помощью SDO access.

  3. Дополнительные функции управления для обработки информации о чрезвычайных ситуациях, LSS и состоянии сети.

Модель платформы CAN bp как FB IEC 61499

../_images/CANbp-FB.svg

Рисунок 2: CAN bp в модели функционального блока IEC 61499.

Доступ на основе переменных

Все объекты, расположенные в диапазоне A000h - AFFFh объектного словаря узла, должны быть видны как переменные приложению на этом узле, запрограммированному в соответствии с IEC 61131-3. Какой тип переменных используется, например

  • непосредственно представленные переменные

  • внешние переменные

  • параметры (программ или функциональных блоков) должны быть оставлены для реализации в соответствии с IEC 61131-3.

Определение направления передачи данных

Термины «ввод» и «вывод» определены в документе Framework for Programmable Devices /DSP- 302/. Вход имеет направление данных CANopen ro, выход имеет направление данных CANopen wo (rww соответственно), как и для любого другого типа устройств.

../_images/CiA405-Direction.jpeg

Рисунок 3: Направление сетевых переменных

Объект A4C0H определен как выходы, поскольку другое устройство может записывать в него значения, что (с точки зрения CANopen) аналогично записи значения на цифровой выход. Если устройство имеет физический выход или программное обеспечение, которое обрабатывает эти значения - в принципе, разницы нет. Таким образом, можно использовать терминологию “запись значений в приложение ПЛК”.

С точки зрения программистов ПЛК, приложение будет считывать значение – это то же самое, как если бы оно считывало цифровые входные линии напрямую, без подключения шины между ними.

Записи объектного словаря для переменных стандарта IEC 61131-3

Фреймворк для программируемых устройств /DSP-302/ определяет использование так называемых сегментов. Конкретное размещение сегментов остается открытым. Чтобы упростить реализацию и значительно упростить использование программного обеспечения разных производителей, использование сегментов указано для программируемых устройств стандарта IEC 61131-3: Сегменты расположены в диапазоне индексов A000h -AFFFh. Это позволяет любому устройству другого профиля (например, устройству ввода-вывода или приводному блоку) использовать стандартные записи словаря объектов этого профиля и дополнительно использовать сетевые переменные.

Чтение значений из приложения ПЛК:

Start-Index

Data Type

Direction

A000H

Integer8

ro

A040H

Unsigned8

ro

A080H

Boolean

ro

A0C0H

Integer16

ro

A100H

Unsigned16

ro

A140H

Integer24

ro

A180H

Unsigned24

ro

A1C0H

Integer32

ro

A200H

Unsigned32

ro

A240H

Float (32)

ro

A280H

Unsigned40

ro

A2C0H

Integer40

ro

A300H

Unsigned48

ro

A340H

Integer48

ro

A380H

Unsigned56

ro

A3C0H

Integer56

ro

A400H

Integer64

ro

A440H

Unsigned64

ro

Запись значений в приложение ПЛК:

Start-Index

Data Type

Direction

A480H

Integer8

rww

A4C0H

Unsigned8

rww

A500H

Boolean

rww

A540H

Integer16

rww

A580H

Unsigned16

rww

A5C0H

Integer24

rww

A600H

Unsigned24

rww

A640H

Integer32

rww

A680H

Unsigned32

rww

A6C0H

Float (32)

rww

A700H

Unsigned40

rww

A740H

Integer40

rww

A780H

Unsigned48

rww

A7C0H

Integer48

rww

A800H

Unsigned56

rww

A840H

Integer56

rww

A880H

Integer64

rww

A8C0H

Unsigned64

rww

Это распределение, описанное в соответствии с правилами описания /DSP-302/, приведено в приложении. Записи MaxCnt, отсутствующие в приведенном выше списке, зависят от доступной памяти устройства. Для дальнейшего упрощения в файлах EDS для устройств, следующих за DS405, разрешается опускать это описание. Это отмечается путем дополнительной установки второго бита всех поддерживаемых динамических каналов раздела DeviceInfo:

[DeviceInfo]


DynamicChannelsSupported=3

Имена переменных

Записи объектного словаря, имена которых не являются допустимыми именами переменных в соответствии с IEC 61131-3, не должны использоваться в системе IEC 61131-3. В этом документе автоматическое переименование не определено.

Доступ на основе функционального блока

Подсказка

В разработке (TODO дополнить)

Интеграция инструментов

В этой главе определяется обмен информацией между программными пакетами, касающейся сетевых переменных. Типичными программными пакетами в этом контексте являются система программирования IEC 61131-3 и система настройки сети/ планирования сетевого проекта. Обе системы могут быть интегрированы в одно программное обеспечение. В этом случае обмен информацией может осуществляться внутри компании. В другом случае существуют два отдельных программных пакета, задача которых заключается в обмене некоторой необходимой информацией стандартизированным способом:

../_images/CiA405-Correlation.jpeg

Корреляция между программированием и конфигурацией сети

Основная концепция

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

Далее предполагается, что вся необходимая информация о конфигурации сети CANopen хранится в файлах DCF (файловая операционная система). Эти файлы и форматы уже определены в спецификации /DS-301/. Все используемые инструменты должны иметь доступ на чтение и запись к этим файлам EDS и DCF. Необходимо, чтобы каждый инструмент работал с одними и теми же файлами в одном месте. Способ обработки доступа зависит от используемой операционной системы.

Для указания всех узлов, появляющихся в сети, должен быть создан специальный файл под названием „Nodelist“. Формат этого файла совпадает с форматом файла EDS/DCF (ini-файл Windows). Для управления доступом на чтение/запись к файлам DCF должен быть создан еще один файл под названием „Обработчик доступа“.

Всякий раз, когда инструмент хочет изменить файлы „Nodelist“, „Обработчик доступа“ и DCF, он должен сначала проверить их существование.

Примечание

Указания по применению приведены в главе 8.4.4. (TODO уточнить)

Список узлов

Этот файл содержит все узлы в сети. Способ доступа инструментов к этому файлу зависит от используемой операционной системы. Для файловой системы это означает отображение инструментам пути и имени файла. Это местоположение должно совпадать с тем, где хранятся все файлы DCF. Используя минимальную информацию из „Списка узлов“, инструмент может запросить у пользователя DCF каждого узла, EDS и как установить доступ для чтения или записи. Дальнейшие записи предназначены для поддержки более чем одной сети. Чтобы разрешить инструментам автоматический доступ к „Списку узлов“, указывается следующее имя файла:

„nodelist.cpj“

Указываются следующие записи:

[Разделы] и записи

Описание

[Topology]

Необязательно, если этот раздел отсутствует, инструменты могут предположить, что существует по крайней мере одна сеть с номером 1.

NetName =

Необязательное имя для сети. Это полезно для инструмента, который помогает пользователю идентифицировать сеть.

Nodes = 0x02

Обязательно, количество узлов в сети. Диапазон чисел от 1 до 127. Число должно быть прочитано как шестнадцатеричное число с начальным значением 0x.

NodeXPresent = 0x01

Обязательный для каждого существующего узла. X указывает номер узла CANopen в сети. X кодируется десятичным числом без начальных нулей (например, присутствует узел 1, присутствует узел 10, присутствует узел 127). Значение 0x01 означает, что узел X присутствует. Значение 0x00 или отсутствующая запись означает, что узел отсутствует. Все остальные значения зарезервированы.

NodeXName = Node1

Необязательное имя узла. Это для инструментов, помогающих пользователю идентифицировать узел. X кодируется десятичным числом без начальных нулей (например, имя узла 1, имя узла 10, имя узла 127).

NodeXDCFName = Node1.dcf

Необязательное имя файла DCF для этого узла. Имя файла должно быть записано без указания пути. Эта запись полезна для инструментов, основанных на файловой системе. X кодируется десятичным числом без начальных нулей (например, Node1DCFName, Node10DCFName, Node127DCFName).

EDSBaseName = path

Необязательный путь к файлам EDS. Эта запись полезна для инструментов, основанных на файловой системе.

Могут существовать другие разделы и записи. Производители инструментов несут ответственность за избежание коллизий в именовании разделов и записей. Синтаксическое определение раздела, записи и значений записей приведено в /DSP-306/.

Обработчик доступа

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

Имя файла этого „обработчика доступа“ - „lock“.

Содержание

Описание

„Название инструмента“

Необязательно, укажите имя инструмента, имеющего доступ для чтения/записи.

Полезные функции

Удаленные функции между ресурсами

Down-/Upload

Подсказка

Механизм загрузки программы определен в /DSP-302/. (TODO дополнить)

Записи объектного словаря

Современные системы программирования предоставляют пользователям средства управления проектами, настройки устройств, тестирования и отладки. Для тестирования и отладки определены следующие элементы, которые могут быть оценены с помощью инструментов (например, конфигурация, SCADA-системы). Следующий подход представляет собой комбинацию проекта CANopen и иерархии конфигурации IEC 61131. Проект CANopen состоит, по крайней мере, из одного или нескольких ПЛК в одной сети.

../_images/CiA405-Project-structure.jpeg

Объекты, определенные в этой главе, которые имеют тип данных visible string, используют строки фиксированной длины в 32 символа. Символьное представление используется из главы 2.1 стандарта IEC 61131-3.

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

Следующие записи объекта должны поддерживать доступ для чтения, доступ для записи необязателен. Чтобы избежать конфликтов согласованности с CANopen tools во время настройки сети (загрузки), следующие объекты должны поддерживать запись „ObjFlags“ в EDS/DCF с установленным битом „Отказать в записи при загрузке“ (бит 0). Представьте, что инструмент CANopen записывает конфигурацию по шине CAN на узел. Для этого инструмента невозможно запретить явную запись в следующих записях. Но эти объекты обычно обрабатываются программным средством IEC 61131. Таким образом, не гарантируется, что информация в DCF соответствует этой конфигурации. Обратите внимание на решение с записью „ObjFlags“, указанной в /DSP-306/.

Подсказка

Перенести описание „ObjFlags“, указанной в /DSP-306/ (TODO дополнить)

Название проекта

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

Описание объекта

Index

9800H

Имя

Project_Name

Объектный код

VAR

Тип данных

Visible String

Описание значения

Класс объекта

Опция

Доступ

R (опционально W)

Отображение PDO

Нет

Диапазон значений

Visible String

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Конфигурация

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

Структура определения конфигурации

Index

Subindex

Описание

Тип данных

0080H

Определение конфигурации

0H

Количество поддерживаемых записей

Unsigned8

1H

Имя конфигурации

Visible String

2H

Версия конфигурации

Unsigned32

3H

Номер ресурса

Unsigned8

Подробное описание объекта

Поле

Значение

Index

9501H

Имя

Конфигурация

Объектный код

RECORD

Количество элементов

3

Тип данных

Configuration_Def

Описание значения

Поле

Значение

Sub-Index

0H.

Описание

Количество записей

Класс объекта

Опция

Доступ

RO

PDO Отображение

Нет

Диапазон значений

1H - 3H

Обязательный диапазон

Нет

Значение по умолчанию

3H

Поле

Значение

Sub-Index

1H.

Описание

Имя конфигурации

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Visible String

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Поле

Значение

Sub-Index

2H.

Описание

Версия конфигурации

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Unsigned32

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Поле

Значение

Sub-Index

3H.

Описание

Номер ресурса

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Unsigned8

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Ресурсы

Объявление ресурсов предоставляет механизм для выделения задач и программ ресурсу (например, процессору PLC). Ресурс будет идентифицирован по его имени и версии. Дескриптор задачи - это ссылка на первую задачу на ресурсе.

Структура определения конфигурации

Index

Subindex

Описание

Тип данных

0081H

Определение ресурса

0H

Количество поддерживаемых записей

Unsigned8

1H

Имя ресурса

Visible String

2H

Версия ресурса

Unsigned32

3H

Номер задачи

Unsigned8

4H

Дескриптор задачи

Unsigned32

Подробное описание объекта

Поле

Значение

Index

9600H - 96FFH

Имя

Ресурс

Объектный код

RECORD

Количество элементов

4

Тип данных

Resource_Def

Описание значения

Поле

Значение

Sub-Index

0H.

Описание

Количество записей

Класс объекта

Опция

Доступ

RO

PDO Отображение

Нет

Диапазон значений

Unsigned8

Обязательный диапазон

4

Значение по умолчанию

нет

Поле

Значение

Sub-Index

1H.

Описание

Имя ресурса

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Visible String

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Поле

Значение

Sub-Index

2H.

Описание

Версия ресурса

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Unsigned32

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Поле

Значение

Sub-Index

3H.

Описание

Номер задачи

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Unsigned8

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Поле

Значение

Sub-Index

4H.

Описание

Дескриптор задачи

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Unsigned32

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Задача

Задача будет идентифицирована по ее имени или идентификатору. Поддерживаются типы задач cyclic, event и timertask. Представление значений: cyclic = 0x0, event = 0x1, timertask = 0x2

Структура определения конфигурации

Index

Subindex

Описание

Тип данных

0082H

Определение ресурса

0H

Количество поддерживаемых записей

Unsigned8

1H

Имя задачи

Visible String

2H

Идентификатор задачи

Unsigned32

3H

Тип задачи

Unsigned32

4H

Приоритет задачи

Unsigned32

5H

Временной интервал

Unsigned32

Подробное описание объекта

Поле

Значение

Index

9700H - 97FFH

Имя

Задача

Объектный код

RECORD

Количество элементов

5

Тип данных

Task_Def

Описание значения

Поле

Значение

Sub-Index

0H.

Описание

Количество записей

Класс объекта

Опция

Доступ

RO

PDO Отображение

Нет

Диапазон значений

Unsigned8

Обязательный диапазон

Нет

Значение по умолчанию

нет

Поле

Значение

Sub-Index

1H.

Описание

Имя задачи

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Visible String

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Поле

Значение

Sub-Index

2H.

Описание

Идентификатор задачи

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Unsigned32

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Поле

Значение

Sub-Index

3H.

Описание

Тип задачи

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Unsigned32

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Поле

Значение

Sub-Index

4H.

Описание

Приоритет задачи

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Unsigned32

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Поле

Значение

Sub-Index

5H.

Описание

Временной интервал

Класс объекта

Опция

Доступ

R (опционально W)

PDO Отображение

Нет

Диапазон значений

Unsigned32

Обязательный диапазон

Нет

Значение по умолчанию

Нет

Запуск/остановка (программы/задачи)

Подсказка

Перенести описание, смотрите в /DSP-302/ (TODO дополнить)

Отладка/мониторинг

Подсказка

Перенести описание, смотрите в /DSP-302/ (TODO дополнить)

Обзор объектного словаря IEC 61131-3

В следующей таблице показаны все объекты, на которые влияет эта спецификация.

Индекс

Sub

Объект.

Имя

Тип

Атрибут

M/O

0080H

DEFSTRUCT

Имя конфигурации

0081H

DEFSTRUCT

Определение ресурса

0082H

DEFSTRUCT

Определение задачи

1000H

VAR

Тип устройства

Unsigned32

RO

M

9501H

RECORD

Конфигурация

Configuration_Def

RW

O

9600H

RECORD

1 st Ресурс

Resource_Def

RW

O

9601H

RECORD

2 nd Ресурс

Resource_Def

RW

O

96FFH

RECORD

255 th Ресурс

Resource_Def

RW

O

9700H

RECORD

1 st Задача

Task_Def

RW

O

9701H

RECORD

2 nd Задача

Task_Def

RW

O

97FFH

RECORD

255 th Задача

Task_Def

RW

O

9800H

VAR

Имя проекта

Visible String

RW

O

97FFH

RECORD

255 th Задача

Task_Def

RW

O

A000H

ARRAY

1 st Динамическое Integer 8

Integer8

RO

O

A03FH

ARRAY

64 th Динамическое Integer 8

Integer8

RO

O

A040H

ARRAY

1 st Динамическое Unsigned8

Unsigned8

RO

O

A07FH

ARRAY

64 th Динамическое Unsigned8

Unsigned8

RO

O

A080H

ARRAY

1 st Динамическое Boolean

Boolean

RO

O

A0BFH

ARRAY

64 th Динамическое Boolean

Boolean

RO

O

A0C0H

ARRAY

1 st Динамическое Integer16

Integer16

RO

O

A0FFH

ARRAY

64 th Динамическое Integer16

Integer16

RO

O

A100H

ARRAY

1 st Динамическое Unsigned16

Unsigned16

RO

O

A13FH

ARRAY

64 th Динамическое Unsigned16

Unsigned16

RO

O

A440H

ARRAY

1 st Динамическое Unsigned64

Unsigned64

RO

O

A47FH

ARRAY

64 th Динамическое Unsigned64

Unsigned64

RO

O

A480H

ARRAY

1 st Динамическое Integer8

Integer8

RWW

O

A4BFH

ARRAY

64 th Динамическое Integer8

Integer8

RWW

O

A8C0H

ARRAY

1 st Динамическое Unsigned64

Unsigned64

RWW

O

A8FFH

ARRAY

64 th Динамическое Unsigned64

Unsigned64

RWW

O

Пример файла DCF

Это не полный список DCF. Перечислены только несколько конкретных позиций для DS405.

[DeviceInfo]
...
DynamicChannelsSupported=3
...
[DynamicChannels] ; optional since DynamicChannelsSupported=3 NrOfSeg=36 ; see application notes
Type1=1
Dir1=ro
Range1=0xA080-0xA0BF
PPOffset1=0,1
...
Type36=8
Dir36=rww
Range36=0xA6C0-0xA6FF
PPOffset36=0
...
[OptionalObjects]
1=0xA000
...
[A000] ; Integer8 RO
SubNumber=3
ParameterName=Integer8_RO_Variables
ObjectType=8
[A000Sub0]
ParameterName=NrOfSupportedObjects
ObjectType=0x7
DataType=0x0005
AccessType=ro
DefaultValue=2
PDOMapping=0
[A000Sub1]
ParameterName=<NameOfProcessVariable1>
ObjectType=0x7
DataType=0x0002
AccessType=ro
DefaultValue=
PDOMapping=1
[A000Sub2]
ParameterName=<NameOfProcessVariable2>
ObjectType=0x7
DataType=0x0002
AccessType=ro
DefaultValue=
PDOMapping=1
...

Примечания по применению

Сетевые переменные

Использование динамического присвоения индексов сетевым переменным подразумевает, что область объектного словаря содержит массивы с пробелами. Например, массив может содержать два подобъекта 1 и 5.

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

В главе 4.2 указано, что представление внутреннего типа данных частично не соответствует требованиям CANopen. Если это произойдет, одни и те же значения данных могут быть представлены по-разному.

Пример:

ПЛК может иметь порядок байтов, противоположный CANopen. При передаче сетевой переменной типа данных Unsigned16 со значением 1 через PDO в соответствии с пунктом 4.2 изображение процесса будет содержать следующее значение:

../_images/CiA405-PDO.jpeg

Представление данных с помощью PDO на несоответствующих ПЛК CANopen