Назад
SFC для децентрализованной периферии
Систем ные и стандартные функции для S7-300 и S7-400 16-15
C79000-G7076-C567-01
Информация об ошибках
Код ошибки
(W#16#...)
Объяснение
0000 Задание завершено без ошибок.
0001 Ведомое DP-устройство активно. (Такой код ошибки возможен только при
MODE=0).
0002 Ведомое DP-устройство деактивировано. (Такой код ошибки возм ожен
только при MODE=0).
7000 Первый вызов с REQ =0. Задание, у казанное с помощью LADDR не
активно; BUSY имеет значение 0.
7001 Первый вызов с REQ=1. Задание, указанное с помощью LADDR, было
запущено; BUSY имеет значение 1.
7002 Промежуточный вызов (REQ не имеет значения). Активированн ое задание
все еще активно; BUSY им еет значение 1.
8090
Вы не сконфигур ировали модуль с адресом, определенным в LADDR.
Вы задейст вовали Ваш CPU как I-Slave и задали в LADDR адрес этого
"I-Slave".
8092
Для адресован ного
ведомого DP-устройства никакое задани е активации
не выполнено в настоящий момент (этот код ошибки возможен толь ко с
MODE = -1.)
8093 Никакому ведомому DP-устройству не назначено адреса, заданного в
LADDR, или значение параметра MODE неизвестно.
80A1 Адресованное ведомое DP-устройство не может быть снабжено
параметрами (этот код ошибки возможен только с MODE = 1).
Примечание:
CPU выдает такую информацию, только если в активированном ведомом
DP-устройст ве возникает отказ во время передачи параметров
(параметризации). При некорректной параметризации отдельного модуля
SFC во звращает инф ормацию об ошибке в W#16#0000.
80A2 Адресованное ведомое DP-устройство не выдает подтверждение.
80A3 Ведущее DP-устройство не. подде рживает данную функцию.
80A4 CPU не поддерживает данную функцию для внешних ведущих DP-
устройств.
80A6 Ошибка на слоте ведомого DP-устройства: невозможен доступ к данны м
пользователя (это т код ошибки возможен только с MODE = 1).
Примечание:
SFC во звращает данную информацию об ошибке, только в случае отказа
активированного ведомого DP-устройства и перед окончанием обработки
SFC. SFC возвращает информацию об ошибке W#16#0000, тольк о если
отдельный модуль недоступен.
80C1 Функция SFC12 была запущена и обрабатывалась с некорректным
логичес ки м адресом (этот код ошибки возможен только с MODE = 1).
80C3 Временная ошибка доступа: CPU в наст оящее время обрабатывает
максимально возможное количест во заданий (это т код ошиб ки возможен
только с MODE = 1 и с MODE = 2).
SFC для децентрализованн ой периферии
16-16 Системные и стандартные функции для S7-300 и S7-400
C79000-G7076-C567-01
16.4 Чтение диагнос тических данных ведомые DP-
устройства (диагн остика slave-устройства) с помо щью
SFC 13 ”DPNRM_DG”
Диагностика slave-уст ройства
Каждое ведом ое DP-устройство предоставляет диагностические данн ые,
структурированн ые в соответствии со стандартом EN 50 170 Volume 2,
PROFIBUS. Для считывания этих диагностических данных Вам нужна SFC 13
”DPNRM_DG”.
Принципиальная структура диагностических данных slave-устройства
представлена в следующей таблице, а дополнительную информацию Вы
найдете в руководствах по slave-устройствам DP.
Байт Значение
0 Состояние станции 1
1 Состояние станции 2
2 Состояние станции 3
3 Номер masterстанции
4 Идентификатор изготовителя (старший байт)
5 Идентификатор изготовителя (младший байт )
6 ... Дополнительная диагностическая инфор мация, относящаяся к slave-
устройству
Описание
С помощью SFC 13 ”DPNRM_DG” (read diagnosis data of a DP–slave [прочитать
диагностические данные ведомые DP-устройст ва]) Вы читаете текущие
диагностические данные ведомые DP-устройст ва в формате, определенном
с танд артом EN 50 170 Volume 2, PROFIBUS
. Прочитанные данные после
безошибочной передачи вводятся в целевую область, указанную в параметре
RECORD.
Вы запускаете задание на чтение, присваивая 1 параметру REQ в вызове
SFC13.
Принцип действия
Задание на чтение выполняется асинхронно, т.е. может распространяться на
нес колько вызовов SFC 13. Состояние задание отображается выход ными
параметрами RET_VAL и BUSY, см. тему "значения параметров REQ,
RET_VAL и BUSY для асинх ронных SFC".
SFC для децентрализованной периферии
Систем ные и стандартные функции для S7-300 и S7-400 16-17
C79000-G7076-C567-01
Параметр Описание Тип
данных
Область
памяти
Характеристика
REQ INPUT BOOL
I, Q, M, D, L,
кон станта
REQ=1: запрос на чтение
LADDR INPUT WORD
I, Q, M, D, L,
кон станта
Сконфигу рированный диагностический
адрес ведомые DP-устройст ва.
RET_VAL OUTPUT INT
I, Q, M, D, L Если ошибка происходи т, когда эта функция
активна, то возвращаемое значение
содержит код ошибки. Если ошибок нет, то
длина фактически переданных данных
вводится в RET_VAL.
RECORD OUTPUT ANY
I, Q, M, D, L Целевая обл асть для прочитанных
диагностических данны х. Допустимым
являет ся только тип данных BYTE.
Минимальная длина считываемой записи
данных или целевой области равна 6.
Максимальная дли на отправляемой записи
данных равна 240. Стандартные slave-
устройства могут предоста в ить более 240
байтов диагностических данных (максимум
до 244 бай тов). В этом случае первые 240
байтов передаются в целевую область, и в
этих данных ус танавливается бит
переполнения.
BUSY OUTPUT BOOL
I, Q, M, D, L BUSY=1:
Задание на чтение еще не завершен о.
Входной параметр RECORD
CPU оценивает фактическую длину прочитанных диагностических данных
следующим образом:
Если длина, указанная для RECORD, меньше, чем количество
доставленных байтов данных, то данные отбрасываются, и в RET_VAL
записывается соответствующий код ошибки.
Если длина, указанная для RECORD, больше или равна количеству
доставленных байтов данных, то данные принимаются в целе вую область,
и в RET_VAL записывается фактическая длина в виде положит ельного
значения.
Примечание
Вы должны обеспечить, чтобы все фактические параметры RECORD
совпадали во всех вызовах, относящихс я к заданию.
Задание однозначно идентифицируется входным параметром LADDR.
SFC для децентрализованн ой периферии
16-18 Системные и стандартные функции для S7-300 и S7-400
C79000-G7076-C567-01
Стандартные slave-устройства с более чем 240 байтами диагностических
данных
В случае стандартных slave-устройств, в которых количество стандартных
диагностических данных находится в диапазоне от 241 до 244 байтов
примите во внимание следующие моменты:
Если длина, указанная для RECORD, меньше 240 байтов , то данные
отбрасываются, и соответствующая информа ция об ошибке вносится в
RET_VAL.
Если длина, указанная для RECORD, больше или равна 240 байтам, то
первые 240 байтов стандартных диа гност ичес ких данных передаются в
целевую область, а в данны х устанавливается бит переполнения.
Выходной параметр RET_VAL
Если при исполнении функции происход ит ошибка, то возвращаемое
значение со держит код ошибки.
Если при передаче данных не происхо дит ошибок, то RET_VAL содержит
длину прочитанных данн ых в байтах в виде положительного числа.
Примечание
Коли чество данных для чтения в ведомом DP-устройстве зависит от его
диагностического состояния.
Информация об ошибках
Как оценивать информацию об ошибках из параметра RET_VAL, объясняется
в главе 2. Эта глава содержит также общую информацию об ошиб ках SFC.
Специфическая для SFC 13 информация об ошибках является
подмножество м информации об ошибка х для SFC 59 ”RD_REC”,
Системные ресурсы для S7-400
При вызове SFC 13 ”DPNRM_DG” для задани я, не обрабатываемого в данн ый
момент времени, в S7–400 заним аются рес урсы CPU (место в памяти). Вы
можете вызывать SFC 13 через короткие промежутк и времени подряд для
нескольки х ведомых DP-устройств при условии, что Вы не превышаете
максимальное для Вашего CPU количествоодноврем енноактивных
заданий SFC 13. Это максимальное количество Вы найдете в
/101/.
Если Вы активируете несколько заданий "одновременно", то все задания
будут выполнены, не влияя друг на друга.
Если Вы дости гнете ограничения системных ресурсов, то Вы получите
сообщен ие об этом в RET_VAL. В этом случае повторите зада ние.
SFC для децентрализованной периферии
Систем ные и стандартные функции для S7-300 и S7-400 16-19
C79000-G7076-C567-01
16.5 Чтение консистент ных данных стандартного ведомые
DP-ус тройства с помощью SFC14 "DPRD_DAT"
Консистентность данных
О братитесь к разделу Обзор системы связи S7 и базовая система связи S7 –
консистентность данных.
Назначение SFC14
Вам понадобится SFC 14DPRD_DAT, так как с помощью команд загрузки,
которые выполняют дос туп к периферии или к таблице входов образа
процесса, Вы можете считыв ать максимум четыре последовательных байта.
Примечание
При необходимости Вы мож ет е считывать даные отображения процесса по
входу.
Обратитес ь к тех нической доку ментац и и для определения, поддерживает ли
CPU данную функцию.
Описание
С помощью SFC14 "DPRD_DAT" (read consistent data of a DP standard slave)
Вы считываете консистентные данные стандартного ведомые DP-устройства.
Длина должна составлять три байта или более четырех байтов, причем
максимальная длина фиксирована для каждого конкретн ого CPU.
Максимальную длину Вы найдете в тех нических данных своего CPU. Если
при передаче данных не было ошибки, то прочитанные данные записываются
в целевую обл асть, определяемую параметром RECORD.
Эта целевая область должна иметь ту же самую длину, которую Вы с
помощью STEP 7 сконфигурировали для выбранного модуля.
Если Вы читаете из стандартного ведомые DP-устройства, имеющего
модульную конструкцию , или с несколькими иден тификаторами DP, то Вы
можете обратиться к данным только одного модули или иденти фикатора DP
на каждый вызов SFC14, указывая сконфигурированный начальный адрес.
SFC для децентрализованн ой периферии
16-20 Системные и стандартные функции для S7-300 и S7-400
C79000-G7076-C567-01
Параметр Описание Тип
данных
Область
памяти
Характеристика
LADDR INPUT WORD I, Q, M, D, L,
кон станта
Сконфигурированный начальный адрес из
области входов (I) модуля, из которой данные
будут считываться.
RET_VAL OUTPUT INT I, Q, M, D, L Если ошибка происходит, когда эта фун кция
активна, то во звращаемое значение содержит
код ошибки.
RECORD OUTPUT ANY I, Q, M, D, L Целевая область для прочитанных данны х
пользователя. Она должна быть точно такой
же длины, какую Вы сконфигурировали с
помощью STEP 7 для выбранного модуля.
Допустимым является только тип данных
BYTE.
Информация об ошибках
Код ошибки (W#16#...) Объяснение
0000 Ошибки не было.
8090 Вы не сконфигурировали модуль для заданного логического базового
адреса или не учли ограни чение на длину консистентных данных.
8092 В ссылке ANY указан тип, отличный от BYTE.
9093 Для заданного в LADDR лог ического адреса не существует модуля DP, из
которого Вы можете считывать консистентные данные.
80A0 Выбр анный модуль неисправен.
80B0 Отказ slave-устройства на вне шнем интерфейсном модуле DP.
80B1 Длина заданной целевой обл асти не равна сконфигурированной с
помощью STEP 7 длине данных пользователя.
80B2 Сис темная ошибка в случае внешнего интерфейсного модуля DP.
80B3 Сис темная ошибка в случае внешнего интерфейсного модуля DP.
80C0 Сис темная ошибка в случае внешнего интерф ейсного модуля DP.
80C2 Сис темная ошибка в случае внешнего интерфейсного модуля DP.
80Fx Системная ошибка в случае внешнего интерфейсного модуля DP.
87xy Системная ошибка в случае внешн его интерфейсного модуля DP.
808x Системная ошибка в случае внешнего интерф ейсного модул я DP.
SFC для децентрализованной периферии
Систем ные и стандартные функции для S7-300 и S7-400 16-21
C79000-G7076-C567-01
16.6 Запись консистентных данных в стандартное ведомое
DP-ус тройство с помощью SFC15 "DPWR_DAT"
Консистентность данных
О братитесь к разделу Обзор системы связи S7 и базовая система связи S7 –
консистентность данных.
Назначение SFC15
Вам понадобится SFC15 "DPWR_DAT", так как с помощью команд передачи,
которые выполняют дос туп к периферии или к таблице выходов образа
процесса, Вы можете зап исать максимум четыре последовательных байта
Описание
С помощью SFC15 "DPWR_DAT" Вы консистентно передаете указанные в
RECORD данные адресованному стандартному slave-устройству DP. Дл ина
передаваемых данных должна состав лять три байта или более четырех
байтов , причем максимальная длина фиксирована для каждого конкре тного
CPU. Вы найдет е эту информацию в техн ических данны х своего CPU. Данные
передаются синхронно, т.е. по окончании SFC задание на запись тоже
завершается.
Исходная область дол жна иметь ту же самую длину, котору ю Вы
сконфигурировали с помощью STEP 7 для выбранного модуля.
Если стандартное ведомое DP-устройство имеет модульную кон струкцию, Вы
можете получить доступ только к одному модулю ведомые DP-устройства.
Параметр Описание Тип
данных
Область памяти Характеристика
LADDR INPUT WORD I, Q, M, D, L,
константа
Сконфигурированный начальный
адрес из области выходов модуля, в
кот орый данные будут записываться.
RECORD INPUT ANY I, Q, M, D, L Исходная область для записываемых
данных пользователя. Она должна
быт ь точно такой же длины, какую Вы
с сконфигурировали помощью STEP 7
для выбранного модуля. Допустимым
является только тип данных BYTE.
RET_VAL OUTPUT INT I, Q, M, D, L Если ошибка проис ходит, когда эта
функция активна, то возвращаемое
значение содержит код ошибки.
SFC для децентрализованн ой периферии
16-22 Системные и стандартные функции для S7-300 и S7-400
C79000-G7076-C567-01
Информация об ошибках
Примечание
Если Вы обращаетесь к ведомым DPV1-устройствам, информация об
ошибке от этих устройств может быть передана от ведущего DP-устройства
к SFC. Для получения более подробной информации по ошибкам, см. тему
Получе ние преры вания от ведомых DP-устройств с помощью SFB 54
"RALRM" STATUS[3].
Код ошибки (W#16#...) Объяснение
0000 Ошибки не было.
808x Системная ошибка в случае внешнего интерфейсного модул я DP.
8090 Для заданного логичес кого базового адреса Вы не сконфигурировали
модуль или не учли ограничени е на длину консистентных данных.
8092 В ссылке ANY указан тип, отличный от BYTE.
9093 Для заданного в LADDR лог ического адреса не существует модуля DP, в
который Вы можете записывать консистентные данные.
80A1 Выбр анный модуль неисправен.
80B0 Отказ slave-усстройства на внешнем интерфейсном модуле DP.
80B1 Длина заданной исходной области не равна с конфигурированной с
помощью STEP 7 длине данных пользователя.
80B2 Сис темная ошибка на внешнем интерфейсном модуле DP.
80B3 Сис темная ошибка на внешнем интерфейсном модуле DP.
80C1 Данные предыдущего задания на запись в модуле еще не обработаны
модулем.
80C2 Сис темная ошибка на внешнем интерфейсном модуле DP.
80Fx Системная ошибка на внешнем интерфейсном модуле DP.
85xy Системная ошибка на вне шнем интерфейсном модуле DP.
Систем ные и стандартные функции для S7-300 и S7-400
C79000-G7076-C567-01 17-1
17 SFC для связи с помощью глобальных
данных
SFC для связи с помощью г лобальных данных
17-2 Системные и стандартные функции для S7-300 и S7-400
C79000-G7076-C567-01
17.1 Передача GDпакет а с помощью SFC60 "GD_SND"
Описание
С помощью SFC 60 ”GD_SND” (global data send [передача глобальных
данных]) данные пакета глобальных да нн ых (GD–пакета) собираются и затем
передаются по маршруту, указанному в GDпакете. Перед этим GD–пакет
должен быть сконфигурирован с помощью STEP 7.
SFC60 "GD_SND" может быть вызван лю бом месте программы пользователя.
Вызовы SFC60 не влияют на скорость сканирования, а также сбор и передачу
данных системой в точке контроля цикла.
Возможность прерывания
SFC60 "GD_SND" может прерываться более высокими классами приоритет а.
Возможно также, что SFC60 вновь вызывается для того же GD-пакета в более
высоком классе приоритета .
Тогда данные собираются и передаются в более высо ком классе приоритета.
Когда программа возвращается в прерванную SFC, последняя немедленно
завершается, а уже собранные данные отбрасываются.
Эта процедура означает , что при обработке самого высокого класса
приоритета передаются консистентные данные (в смы сле консистентности,
определенной для гло бальных данны х).
Консистентность данных в GD
Для обеспечения консистентн ости данных , собранных из различных областей
памяти, и пере данных данных применяются следующие правила.
Консистентными данными могут быть:
данные простых типов (бит, байт, слово и двойное слово)
массив данных типа байт, слово и двойное слово длиной, не
превышающей максимума, завис ящего от конкретного CPU.
Обеспечение консистентности для всего GDпакета
GD-па кет в CPU, передающем данные, имеет структуру, кот орая не
гарантирует автоматически, что собранные данные будут консистентными.
Это, например, имеет место, когда пакет состоит из массива байтов, и
количество байтов превы шает максимальную длину для кон кретного CPU.
Если, одна ко, Вам нужна консистентность для всего GD-пакета, то след уйте в
своей програм ме п роцедуре, описанной ниже:
Заблокируйте или заде ржите появлен ие более приоритетны х прерываний
и асинхронных ошибок, вызвав SFC 39 ”DIS_IRT” или SFC 41 ”DIS_AIRT.
Вызовите SFC60 "GD_SND".
Вновь разб локируйте более приоритетные прерывания и асинхронные
ошибки, вызвав SFC 40 ”EN_IRTили SFC 42 ”EN_AIRT.