Запись и чтение записей данных с помощью системных функций
Некоторые модули имеют предназначенную только для записи область системных данных, в которую Ваша программа может передавать записи данных. Эта область содержит записи данных с номерами от 0 до максимум 240. Не каждый модуль содержит все записи данных (см. таблицу ниже).
Другие модули имеют область системных данных, предназначенную только для чтения, в которой Ваша программа может читать записи данных. Эта область содержит записи данных с номерами от 0 до максимум 240. Не каждый модуль содержит все записи данных (см. следующую таблицу).
Есть модули, имеющие обе области системных данных. Это физически отдельные области, у которых общей является только их логическая структура.
Область системных данных, предназначенная только для записи
Следующая таблица показывает структуру области системных данных, предназначенной только для записи. Эта таблица показывает также, какими длинными могут быть отдельные записи данных и с помощью каких SFC они могут записываться.
Номер записи данных | Содержимое | Размер | Ограничение | Может записываться с помощью SFC |
---|---|---|---|---|
0 | Параметры | У S7-300: от 2 до 14 байтов | может записываться только контроллером S7-400 | 56 "WR_DPARM" 57 "PARM_MOD" |
1 | Параметры | У S7-300: от 2 до 14 байтов Записи данных 0 и 1 вместе имеют ровно 16 байтов. | - | 55 "WR_PARM" 56 "WR_DPARM" 57 "PARM_MOD" |
от 2 до 127 | Данные пользователя | не более, чем по 240 байтов каждая | - | 55 "WR_PARM" 56 "WR_DPARM" 57 "PARM_MOD" 58 "WR_REC" |
от 128 до 240 | Параметры | не более, чем по 240 байтов каждая | - | 55 "WR_PARM" 56 "WR_DPARM" 57 "PARM_MOD" 58 "WR_REC" |
Область системных данных, предназначенных только для чтения
Следующая таблица показывает структуру области системных данных, предназначенных только для чтения. Эта таблица показывает также, какими длинными могут быть отдельные записи данных и с помощью каких SFC они могут читаться.
Номер записи данных | Содержимое | Размер | Может читаться с помощью SFC |
---|---|---|---|
0 | Специфические для модулей диагностические данные (устанавливаются, как правило, для всей системы) | 4 байта | 51 "RDSYSST" (SSL_ID 00B1H) 59 "RD_REC" |
1 | Специфические для канала диагностические данные (включая запись данных 0) | • У S7-300: 16 байтов • У S7-400: от 7 до 220 байтов |
51 "RDSYSST" (SSL_ID 00B2H и 00B3H) 59 "RD_REC" |
от 2 до 127 | Данные пользователя | не более, чем по 240 байтов каждая |
59 "RD_REC" |
от 128 до 240 | Диагностические данные | не более, чем по 240 байтов каждая |
59 "RD_REC" |
Системные ресурсы
Если Вы через короткие промежутки времени запускаете подряд несколько асинхронно протекающих процессов передачи записей данных, то распределение системных ресурсов операционной системой гарантирует, что все задания выполнятся и не будут влиять друг на друга.
Если используются все доступные системные ресурсы, то это отображается в RET_VAL. Вы можете устранить эту нерегулярную ошибочную ситуацию простым повторением задания.
Максимальное количество .одновременно активных заданий системных функций зависит от Вашего контроллера.
Чтение определенных параметров с помощью SFC54 "RD_DPARM"
С помощью SFC54 "RD_DPARM" (read defined parameter [читать определенный параметр]) Вы считываете запись данных адресуемого модуля с номером RECNUM из соответствующего SDB1xy. Считываемая запись данных вводится в целевую область, открытую с помощью параметра RECORD.
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
IOID | INPUT | BYTE | I, Q, M, D, L, константа | Идентификатор (ID) адресной области: B#16#54 =Периферийный вход (PI) B#16#55 = Периферийный выход (PQ) Если модуль смешанный, то задайте ID области с наименьшим адресом. Если адреса одинаковые, то задайте B#16#54. |
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 | Если в то время, когда функция активна, происходит ошибка, то возвращаемое значение содержит код ошибки. А также: длина считываемой записи данных в байтах, если считываемая запись данных вмещается в область назначения, и при передаче не было ошибок |
RECORD | OUTPUT | ANY | I, Q, M, D, L | Область назначения для считываемой записи данных. Разрешается только тип данных BYTE. |
Информация об ошибках
Смотри раздел "Назначение параметров для модуля с помощью SFC57 "PARM_MOD".
<-- Предыдущая статья | Следующая статья --> |