- Введение
- Продукция
- Маркировка
- Функции
- Руководство пользователя
- О документации
- Меры безопасности
- Индикация
- Максимальная конфигурация
- CAN-топология
- Подключение CAN-шины
- Разъемы и провода
- Монтаж модулей
- Общие правила и нормы эксплуатации
- Технические характеристики
- Условия эксплуатации
- Использование по назначению
- Маркировка
- Техническое обслуживание
- Транспортирование и хранение
- Упаковка
- Гарантийные обязательства
- Обновление
- Платформа CAN bp
- CANopen
- ISOBUS (ISO 11783)
- Решения
- Параметризация
- Программирование
- Литература и источники
- Образование
- Дополнительная информация
Программируемые устройства¶
Основано на профиле CiA Draft Standard 405 «Интерфейс и профиль для программируемых устройств IEC 61131-3»
Введение¶
Этот документ представляет стандартизированный интерфейс CANopen и профиль для программируемых устройств IEC 61131-3, таких как ПЛК.
Все вышеперечисленные устройства используют методы связи, которые соответствуют описанным в проекте стандарта CiA DS-301 (Прикладной уровень и профиль связи) и профиля программируемые устройства DSP-302. С этими документами следует ознакомиться параллельно с этим профилем. В общем, создание приложения реализует обработку до пяти интерфейсов, см. рисунок.
В этом документе рассматриваются следующие интерфейсы
доступ к системе связи CANopen из программы IEC 61131-3 a. основанный на переменных, т.е. доступ к элементарным переменным объектам IEC 61131-3, b. на основе вызовов функционального блока
служебные функции для отладки, мониторинга и управления сетью
интерфейс между инструментами CANopen и средой программирования IEC 61131-3
Все остальные интерфейсы зависят от производителя (D) или используют сервисы CANopen (E).
Примечание
На рисунке необязательно описано использование разных инструментов для программирования и настройки. Один инструмент может обрабатывать обе функции и скрывать интерфейсы.
Рекомендации¶
Стандарт |
Описание |
---|---|
IEC 61131 |
IEC 61131 Первое издание 1993-03 Программируемые контроллеры
|
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, включают функцию, функциональный блок и программу.
Функция
Функция имеет одно или несколько входных значений и ровно одно выходное значение. Она не содержит информации о внутреннем состоянии, т.е. вызов функции с одинаковыми аргументами (входными данными) всегда приводит к одному и тому же значению (выходным данным). Функция может быть выполнена из программы, функционального блока или другой функции.
Функциональный блок
Функциональный блок имеет одно или более входных значений и одно или более выходных значений. Допускается несколько экземпляров (копий) функционального блока. Функциональный блок сохраняет информацию о своем внутреннем состоянии. Он может быть выполнен из программы или другого функционального блока.
Программа
Этот тип 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, проблем не возникнет. Стратегия этого стандарта заключается в следующем:
Данные сети (обычно PDOs), доступные для IEC 61131-3 в виде сетевых переменных посредством записей в диапазоне A000-AFFF, обычно отображаемые в образ процесса системы IEC 61131-3, должны быть представлены IEC 61131-3 в собственной системе IEC 61131-3 (зависящей от платформы, потенциально может открыть несоответствующее требованиям) представление данных. Тип данных CANopen для этих элементов данных известен ядру CANopen, все необходимые преобразования должны быть выполнены перед введением значения в образ процесса, соответственно, после извлечения его из образа процесса.
Все остальные данные, тип данных которых потенциально неизвестен ядру CANopen и/или приложению IEC 61131-3 (например, данные SDO), должны быть представлены системе IEC 61131-3 в стандартном формате данных CANopen в виде потока необработанных байтов. Должны быть предоставлены функции преобразования для преобразования этого представления данных в собственный формат IEC 61131-3, но информация о типе данных должна быть доступна во время выполнения.
Примечание
Примечания по применению приведены в главе 8.4.2. (TODO уточнить)
Доступ к CANopen из IEC 61131-3¶
Как упоминалось во введении, в этом документе рассматриваются два метода доступа к сети CANopen:
Доступ на основе переменных, доступ к отдельным переменным из программы IEC 61131-3 в соответствии с сетевыми переменными /DSP-302/.
Доступ на основе функциональных блоков, вызывающий функциональные блоки для записи и/или чтения данных. Это реализовано с помощью SDO access.
Дополнительные функции управления для обработки информации о чрезвычайных ситуациях, LSS и состоянии сети.
Модель платформы CAN bp как FB IEC 61499¶
Доступ на основе переменных¶
Все объекты, расположенные в диапазоне A000h - AFFFh объектного словаря узла, должны быть видны как переменные приложению на этом узле, запрограммированному в соответствии с IEC 61131-3. Какой тип переменных используется, например
непосредственно представленные переменные
внешние переменные
параметры (программ или функциональных блоков) должны быть оставлены для реализации в соответствии с IEC 61131-3.
Определение направления передачи данных¶
Термины «ввод» и «вывод» определены в документе Framework for Programmable Devices /DSP- 302/. Вход имеет направление данных CANopen ro, выход имеет направление данных CANopen wo (rww соответственно), как и для любого другого типа устройств.
Объект 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 и система настройки сети/ планирования сетевого проекта. Обе системы могут быть интегрированы в одно программное обеспечение. В этом случае обмен информацией может осуществляться внутри компании. В другом случае существуют два отдельных программных пакета, задача которых заключается в обмене некоторой необходимой информацией стандартизированным способом:
Основная концепция¶
Описанный механизм основан на предположении, что в данный момент времени активен только один инструмент. Это означает, что только один инструмент имеет право записывать информацию в файлы. Например, в многозадачной операционной системе все инструменты могут запускаться одновременно, но только одному инструменту разрешено изменять данные проекта путем одновременной записи в файлы проекта.
Далее предполагается, что вся необходимая информация о конфигурации сети 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 инструмент должен освободить файл. Если инструмент был заблокирован другим, он может сообщить пользователю подробную информацию о блокирующем инструменте.
Содержание |
Описание |
---|---|
„Название инструмента“ |
Необязательно, укажите имя инструмента, имеющего доступ для чтения/записи. |
Полезные функции¶
Удаленные функции между ресурсами¶
Down-/Upload¶
Подсказка
Механизм загрузки программы определен в /DSP-302/. (TODO дополнить)
Записи объектного словаря¶
Современные системы программирования предоставляют пользователям средства управления проектами, настройки устройств, тестирования и отладки. Для тестирования и отладки определены следующие элементы, которые могут быть оценены с помощью инструментов (например, конфигурация, SCADA-системы). Следующий подход представляет собой комбинацию проекта CANopen и иерархии конфигурации IEC 61131. Проект CANopen состоит, по крайней мере, из одного или нескольких ПЛК в одной сети.
Объекты, определенные в этой главе, которые имеют тип данных 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 изображение процесса будет содержать следующее значение: