Чтение заранее определенных параметров с помощью SFC102 "RD_DPARA"
С помощью SFC102 "RD_DPARА" (read predefined parameters [считать предопределенные параметры]) Вы можете считывать запись данных выбранного модуля с номером RECNUM из соответствующего SDB1xy. Считываемая запись данных вводится в целевую область, открытую с помощью параметра RECORD.
Принцип работы
Функция SFC102 "RD_DPARA" выполняется асинхронно, т.е. время ее работы может перекрывать несколько вызовов функции. Запуск функции SFC102 осуществляется с REQ =1
Состояние работы функции можно контролировать с помощью выходных параметров RET_VAL и BUSY.
Также для асинхронно работающих функций контролируйте значения REQ, RET_VAL и BUSY
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
REQ | INPUT | BOOL | I, Q, M, D, L | REQ = 1: запрос на вызов функции |
LADDR | INPUT | WORD | I, Q, M, D, L, константа |
Логический базовый адрес модуля. В случае смешанных модулей задайте меньший из двух адресов. |
RECNUM | INPUT | BYTE | I, Q, M, D, L, константа | Номер записи данных (разрешенные значения: от 0 до 240) |
RET_VAL | OUTPUT | INT | I, Q, M, D, L | Если в то время, когда функция активна, происходит ошибка, то возвращаемое значение содержит код ошибки. А также: длина считываемой записи данных в байтах, если считываемая запись данных вмещается в область назначения, и при передаче не было ошибок. |
BUSY | OUTPUT | BOOL | I, Q, M, D, L | BUSY = 1: еще не завершено |
RECORD | OUTPUT | ANY | I, Q, M, D, L | Область назначения для считываемой записи данных. Разрешается только тип данных BYTE. |
Информация об ошибках
Смотри раздел "Назначение параметров для модуля с помощью SFC57 "PARM_MOD".
Запись динамических параметров с помощью SFC55 "WR_PARM"
С помощью SFC55 .WR_PARM. (write parameter [записать параметр]) Вы передаете запись данных RECORD адресуемому модулю. Параметры, которые передаются модулю, не заменяют параметры этого модуля в соответствующем SDB, если они там существуют.
Передаваемая запись данных не должна быть статической:
- Это не должна быть запись данных 0 (запись данных 0 является статической во всей системе)
- Если происходит обращение к записи данных в SDB 100 . 129, то бит статики не должен быть установлен.
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
REQ | INPUT | BOOL | I, Q, M, D, L, константа |
REQ = 1: запрос на запись |
IOID | INPUT | BYTE | I, Q, M, D, L, константа |
Идентификатор адресной области: B#16#54 = периферийный вход (PI) B#16#55 = периферийный выход (PQ) Если модуль смешанный, то укажите идентификатор области самого младшего адреса. Если адреса одинаковы, укажите B#16#54. |
LADDR | INPUT | WORD | I, Q, M, D, L, константа | Логический базовый адрес модуля. У смешанных модулей указывайте младший из двух адресов. |
RECNUM | INPUT | BYTE | I, Q, M, D, L, константа | Номер записи данных |
RECORD | INPUT | ANY | I, Q, M, D, L, | Запись данных |
RET_VAL | OUTPUT | INT | I, Q, M, D, L | Если при исполнении функции появляется ошибка, то возвращаемое значение содержит код ошибки. |
BUSY | OUTPUT | BOOL | I, Q, M, D, L | BUSY = 1: Процесс записи еще не закончен. |
Входной параметр RECORD
Передаваемые данные читаются из параметра RECORD при первом вызове SFC. Если передача записи данных длится дольше, чем вызов, то содержимое параметра RECORD больше не является релевантным для последующих вызовов SFC (для того же самого задания).
Информация об ошибках
Смотри раздел "Назначение параметров для модуля с помощью SFC57 "PARM_MOD".
(только для S7-400) Если происходит общая ошибка W#16#8544, то это показывает только, что был заблокирован доступ по крайней мере к одному байту области памяти входов/выходов, содержащей запись данных. Передача данных была продолжена
<-- Предыдущая статья | Следующая статья --> |