step7-pro
голосование
Чего не хватает сайту
поиска
новых статей
статей о подключении оборудования
примеров решения задач
форума
ничего не нужно
поиск


новости
Появился поиск по сайту. Обещаю его улучшить и сделать более адекватным
--------------11.10.11
Новая гостевая книга надеюсь избавит от спама. Еще немного и появится поис и многое другое
--------------11.07.11
C НАСТУПАЮЩИМ НОВЫМ ГОДОМ И РОЖДЕСТВОМ!
--------------30.12.10
Новые статьи по системным функциям и блокам
--------------25.12.10
Теперь у нас новый дизайн, конечно не супер но надеюсь всем понравиться
--------------05.12.10
Форум закрыт по причине ненадобности
--------------08.09.10
Гостевая книга временно отключена из спама
--------------15.10.10
Наш форум forum.step7-pro.ru общайтесь на здоровье!
--------------03.06.10
Наш сайт в twitter Вы сможете подписаться на рассылку новостей и узнавать о новых статьях на нашем сайте.
--------------20.03.10
После долгого перерыва наш сайт снова начал работать
--------------26.02.10
реклама

Получение прерывания от ведомого DP-устройства посредством SFB54 "RALRM"

 

Примечание
Интерфейс SFB54 идентичен FB "RALRM", определенному стандартом "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3" ("Принципы PROFIBUS в коммуникациях PROFIBUS и Proxy FB в соответствии со стандартом IEC 61131-3").

SFB "RALRM" получает прерывание со всей соответствующей информацией от периферийного модуля (централизованная структура) или от ведомого компонента DP. Эта информация помещается в его выходные параметры.

Информация в выходных параметрах содержит стартовую информацию вызываемого ОВ, также как и информацию источника прерывания.

Вызывайте SFB54 только в OB прерывания, запускаемого операционной системой CPU в результате обработки прерывания ввода-вывода.

 

Примечание
Если Вы вызываете SFB 54 "RALRM" в OB, стартовое событие для которого было инициировано не периферией, SFB помещает соответственно "урезанную" информацию в выходные параметры. Обеспечьте использование различных экземпляров DB при вызове SFB 54 "RALRM" в разных OB. Более того, если Вы хотите проверять данные, полученные при вызове SFB 54 для несвязанного OB прерывания, Вы должны использовать отдельный экземпляр DB для OB стартового события.

 

Вызов SFB 54

Системный блок SFB 54 "RALRM" можно вызывать в трех режимах работы (MODE), показанно в следующей таблице

Режим SFB 54
0 . показывает на компонент, который инициировал прерывание, в выходном параметре
ID и устанавливает выходной параметр NEW в состояние TRUE (ИСТИНА)
1 . описывает все выходные параметры, независимо от компонента, который
инициировал прерывание
2 . проверяет, действительно ли компонент, определенный во входном параметре F_ID, инициировал прерывание:
• если нет, то параметр NEW = FALSE (ЛОЖЬ);
• если да, то параметр NEW = TRUE (ИСТИНА), и другие выходные параметры будут также описаны.

 

 

Параметр Описание Тип данных Область памяти Характеристика
MODE INPUT INT I, Q, M, D, L, константа Режим работы
F_ID INPUT DWORD I, Q, M, D, L, константа Логический начальный адрес DP- компонента (модуля), инициировавшего прерывание
MLEN INPUT INT I, Q, M, D, L, константа Максимальная длина в байтах получаемых данных прерывания
NEW OUTPUT BOOL I, Q, M, D, L Новое прерывание было получено
STATUS OUTPUT DWORD I, Q, M, D, L Код ошибки от SFB или ведущего DB- устройства
ID OUTPUT DWORD I, Q, M, D, L Логический начальный адрес компонента (модуля), инициировавшего прерывание. Старший бит содержит ID для I/O: 0 . для входного адреса, 1 . для выходного адреса
LEN OUTPUT INT I, Q, M, D, L Длина в байтах полученных данных прерывания
TINFO IN_OUT INT I, Q, M, D, L (информация задания) Область назначения для запуска OB информации управления
AINFO IN_OUT ANY I, Q, M, D, L (информация прерывания) Область назначения для информации заголовка и дополнительной информации прерывания. Для AINFO Вы должны обеспечить область с размерами по крайней мере MLEN байтов

 

Внимание
Если Вы выбрали слишком малую область назначения TINFO или AINFO, то не вся информацияЮ, полученная SFB 54, будет записана.

 

Структура данных для области назначения TINFO

Байты Значение
0...19 Стартовая информация OB, из которого производится текущий вызов SFC 54
20...27 Информация управления

Структура информации управления

Байт № для TINFO Тип данных Значение
20 BYTE центральная: 0
    распределенная: ID ведущего DP-устройства (возможные значения: 0...255)
21 BYTE центральная: Номер модуля стойки (возможные значения: 0...31)
    распределенная: Номер DP-станции (возможные значения: 0...127)
22 BYTE центральная: 0
    распределенная:
• биты 0...3 тип Slave (ведомый) 0000: DP
0001: DPS7
0010: DPS7 V1
0011: DPV1
0100: резерв
• биты 4...7 тип Profile 0000: DP
0001: резерв
23 BYTE центральная: 0
    распределенная:
• биты 0...3 тип Interrupt info (инф-я прерывания) 0000: Transparent
(Явная) (Прерывание от сконфигурированного распределенного модуля)
0001: Представительная
(Прерывание не из DPV1 ведомого устройства или из несконфигурированного слота)
0010: Cгенерированная
(прерывание, генерировано в CPU)
0011: Резерв
биты 4...7 Structure version (версия структуры) 0000:

0001:
Исходная

Резерв
24 BYTE центральная: 0
    распределенная
Флаги интерфейса ведущего DP-устройства
• бит 0=0 Прерывание от интегрированного DP-интерфейса
• бит 0=1 Прерывание от внешнего DP-интерфейса
• биты 1...7 резерв
25 BYTE центральная: 0
    распределенная
Флаги интерфейса ведомого DP-устройства
• бит 0 Содержимое бита EXT_DIAG_Bit структуры сообщения диагностики или 0, если этот бит не существует.
• биты 1...7 резерв
26, 27 WORD центральная: 0
    распределенная ID-номер PROFIBUS

 

Структура данных области назначения AINFO

Байт Значение
0...3 Информация заголовка:  
4...223 Дополнительная информация прерывания: специальные данные модуля для соответствующего прерывания:
  центральная: Элементы массива ARRAY[0] ... ARRAY[220]
  распределенная: Элементы массива ARRAY[0] ... ARRAY[59]

 

Структура данных заголовка Header Information

Байт Тип
данных
Значение
0 BYTE Длина информации для соответствующего прерывания в байтах
    центральная: 1...224
    распределенная: 4...63
1 BYTE центральная: Резерв
    распределенная: ID соответствующего типа прерывания
      1: Прерывание диагностики
      2: Аппаратное прерывание
      3: Прерывание удаления
      4: Прерывание вставки
      5: Прерывание статуса
      6: Прерывание обновления (модификации)
      32...126 Прерывание определенное изготовителем
2 BYTE Номер слота компонента, вызвавшего прерывание
3 BYTE центральная: Резерв
    распределенная: Спецификация
      биты 0 и 1 0: больше нет информации
1: входящее событие, прерывание на слоте
2: исходящее событие, прерывание на слоте завершено
3: исходящее событие, прерывание на слоте все еще активно
      бит 2: Add_Ack (подтверждение)
      биты 3...7: Порядковый номер

 

Области назначения TINFO и AINFO

Степень заполнения областей назначения TINFO и AINFO зависит от OB, в котором вызывается функция SFB54. См. представленную ниже таблицу с данными по заполнению областей назначения TINFO и AINFO.

Тип прерывания ОВ TINFO информация состояния ОВ TINFO информация управления АINFO информация заголовка АINFO дополнительная информация прерывания
Аппаратное прерывание 4x Да Да Да центральная: Нет
распределенная: как выдает ведомое DP-устройство
Прерывание состояния 55 Да Да Да Да
Прерывание модификации 56 Да Да Да Да
Прерывание производителя 57 Да Да Да Да
Прерывание при ошибке избыточности периферии 70 Да Да Нет Нет
Прерывание диагностики 82 Да Да Да центральная: Запись данных 1
распределенная: как выдает ведомое DP-устройство
Прерывание удаления/вставки 83 Да Да Да центральная: Нет
распределенная: как выдает ведомое DP-устройство
Прерывание при сбое модуля стойки/ станции 86 Да Да Нет Нет
... все
прочие
ОВ
Да Нет Нет Нет

 

Информация об ошибках

Выходной параметр STATUS содержит информацию об ошибках. Он состоит из 4-хбайтового массива ARRAY[1.4] OF BYTE и имеет структуру, показанную в нижеследующей таблице:

Элемент массива Имя Значение
STATUS[1] Function_Num • B#16#00, если нет ошибки
• ID функции из DPV1-PDU: в случае ошибки B#16#80 подключается с функцией OR. Если не используется протокол DPV1, B#16#C0.
STATUS[2] Error_Decode Адрес ID ошибки
STATUS[3] Error_Code_1 ID ошибки
STATUS[4] Error_Code_2 Расширенная информация по ID ошибки производителя

STATUS[2] может иметь следующие значения:

Error_Decode (B#16#...) Источник Значение
00..7F CPU Нет ошибок или нет предупреждений
80 DPV1 Ошибка согласно IEC 61158-6
81...8F CPU B#16#8х указывает на ошибку в n-ном параметре вызова SFB
FE, FF DP Profile Profile-ошибка

STATUS[3] может иметь следующие значения:

Error_Decode (B#16#...) Error_Code_1
(B#16#...)
Объяснение в соответствии с DVP1 Значение
00 00   нет ошибок, нет предупреждений
70 00 резервируется, отбрасывается начальный вызов: нет передачи записи данных
01 резервируется, отбрасывается начальный вызов: передача записи данных началась
02 резервируется, отбрасывается промежуточный вызов: ведется передача записи данных
80 90 резервируется, проходит некорректный начальный адрес
92 резервируется, проходит некорректный тип указателя ANY
93 резервируется, проходит DP-компонент, адресуемый посредством ID или F_ID несконфигурирован
96 CPU Произошло переключение "ведущий - запасной" в H системе, и ранее активный ведущий CPU перешел в режим STOP. В то же время обрабатывался OB. SFB 54 не может выдать стартовую информацию ОВ, информацию управления, информацию заголовка или инфоромацию дополнительного прерывания. Вы можете считать стартовую информацию ОВ с помощью SFC 6 "RD_SINFO". Кроме того, Вы можете использовать SFC 13 "DPNRM_DG" для синхронного чтения текущей диагностической информации от поврежденного ведомого DP-устройства для блоков OB 4x, 55, 56, 57, 82 и 83 (Адресация из стартовой информации OB).
A0 ошибка чтения Не подтверждается чтение в модуле
A1 ошибка записи Не подтверждается запись в модуле
A2 сбой модуля Ошибка протокола DP в уровне, возможен сбой оборудования
A3 резервируется, проходит Ошибка протокола DP в DDLM или в уровне интерфейс пользователя - пользователь, возможен сбой оборудования
A4 резервируется, проходит Сбой в шине связи
A5 резервируется, проходит -
A7 резервируется, проходит Ведомое устройство DP или модули заняты (временная ошибка)
A8 несовпадение версии Ведомое устройство DP или модули сообщают о несовпадении версий
A9 характеристика не поддерживается Ведомое устройство DP или модули не поддерживают характеристику
AA...AF определяется пользователем Ведомое устройство DP или модули сообщают об определенной производителем ошибке в приложении. Обратитесь к документации по ведомому DP-устройству или модулям.
B0 неверный индекс Запись данных, не известная в модуле Запрещенный номер =>256 записи данных
B1 ошибка размера записи Неправильная длина указана в параметре RECORD ; для SFB54: ошибка длины в AINFO
B2 ошибочный слот Конфигурированный слот свободен
B3 конфликт типов Фактический тип модуля не соответствует определению
B4 ошибка области Ведомое устройство DP или модуль сообщают о доступе к неправильно заданной области
B5 ошибка состояния Ведомое устройство DP или модуль не в состоянии "Готов"
B6 ошибка доступа Ведомое устройство DP или модуль не не обеспечивают доступ
B7 ошибка диапазона Ведомое устройство DP или модуль сообщают о выходе параметра (сигнала) за разрешенный диапазон
B8 ошибка параметра Ведомое устройство DP или модули сообщают об ошибочном параметре
B9 ошибка типа Ведомое устройство DP или модули сообщают об ошибочном типе
BA...BF определяется пользователем Ведомое устройство DP или модуль сообщают об определенной производителем ошибке доступа. Обратитесь к документации по ведомому DP-устройству или модулю.
C0 конфликт, возникший при чтении В блоке имеется запись данных, однако, нет никаких считанных данных
C1 конфликт, возникший при записи Данные предыдущего запроса записи к модулю для той же самой записи данных еще не были обработаны модулем
C2 ресурс занят В настоящее время модуль обрабатывает максимально возможное число заданий для CPU
С3 ресурс недоступен Требуемый для выполнения задания ресурс занят.
С4   Внутренняя временная ошибка. Задание не может быть выполнено. Повторите задание. При частом появлении подобной ошибки проверьте Вашу установкуна наличие источника электрических помех
С5   Ведомое устройство DP или модуль не доступен.
С6   Передача записи данных отменена из-за отмены (потери) приоритетного класса
С7   Выполнение задания отменено из-за рестарта (теплого рестарта) или холодного рестарта ведущего DP-устройства.
C8...CF   Ведомое устройство DP или модуль сообщают об определенной производителем ошибке доступа к ресурсу. Обратитесь к документации по ведомому DP-устройству или модулю
Dx определяется пользователем Параметр ведомого устройства DP. Обратитесь к документации по ведомому DP-устройству.
81 00...FF   Ошибка при первом вызове параметра (для SFB54: MODE)
00   Неразрешенный рабочий режим
82 00...FF   Ошибка при втором вызове параметра
88     Ошибка при восьмом вызове параметра (для SFB54: TINFO)
  01   Синтаксическая ошибка в ID
  23   Превышено количество в группе данных или область назначения слишком мала.
  24   Ошибка диапазона ID
  32   Номер DB/DI за пределами диапазона пользователя.
  3A   Номер DB/DI равен NULL для области ID DB/DI или определяемый DB/DI не существует
89 00...FF   Ошибка при девятом вызове параметра (для SFB54: AINFO)
  01   Синтаксическая ошибка в ID
  23   Превышено количество в группе данных или область назначения слишком мала.
  24   Ошибка диапазона ID
  32   Номер DB/DI за пределами диапазона пользователя.
  3A   Номер DB/DI равен NULL для области ID DB/DI или определяемый DB/DI не существует
8A 00...FF   Ошибка в 10 вызове параметра
8F 00...FF   Ошибка в 15 вызове параметра
FE, FF 00...FF   Profile-ошибка

При DPV1-ошибке ведущее DP-устройство передает CPU и SFB параметр состояния STATUS[4]. При отсутствии DPV1-ошибки значение параметра равно 0 при следующих исключениях для SFB52:

 

 

<-- Предыдущая статья   Следующая статья -->
сделано djoni политика конфидициальности Rambler's Top100