3 Функции копирования и манипулирования блоками
Системные и стандартные функции для S7-300 и S7-400
3-22 A5E00261410-01
3.11 Запись блока данных в загружаемой памяти с
помощью SFC84 "WRITE_DBL"
Описание
С помощью SFC84 "WRITE_DBL" (write date block in load memory [запись DB в
загружаемой памяти]) Вы можете записать данные исходного DB в DB типа
BLOCK_DB или в область DB в загружаемой памяти (Memory Card – карта
памяти). DB в загружаемой памяти (с параметром DSTBLK) может быть
выполняемым или невыполняемым. Исходная область, из которой
производится считывание, может быть типа BLOCK_DB или DB-содержимым
в рабочей памяти, следовательно, исходный DB (с параметром SRCBLK)
должен быть связанным (выполняемым), т.е. с параметром UNLINKED = 0.
Кроме того, исходный DB может быть сгенерирован с помощью функции
SCF22 "CREAT_DB".
Для корректной работы функции нельзя изменять область назначения во
время работы SFC84.
На параметры SRCBLK и DSTBLK накладываются следующие ограничения:
•
Для указателя ANY типа BOOL длина должна делиться на 8.
• Если указатель ANY имеет тип STRING, то заданная длина должна быть
равна 1.
При необходимости Вы можете определить размер исходной области с
помощью функции SFC24 "TEST_DB".
Во время записи загруженного DB при первом входе в него изменяется
контрольная сумма пользовательской программы
Примечание
Функция SFC84 может работать асинхронно, поэтому следует избегать
частой записи переменных в загружаемой памяти. Частое использование
данной функции, кроме того, укорачивает срок службы загружаемой памяти.
Принцип работы
SFC84 "WRITE_DBL"предназначена для асинхронной работы, т.е. время ее
работы может перекрывать несколько вызовов функции. Запуск функции
SFC83 осуществляется с REQ =1.
Состояние работы функции можно контролировать с помощью выходных
параметров RET_VAL и BUSY.
Также для асинхронно работающих функций контролируйте значения REQ,
RET_VAL и BUSY.