20. Основная программа
20 - 72
Automating with STEP 7 in STL and SCL
Автоматизация посредством STEP 7
с использованием STL и SCL
Значениями параметра DONE и параметра NDR, равными "1", блок
сигнализирует о том, что задание выполнено без ошибок. Если в процессе
выполнения задания обнаруживается ошибка, то для индикации этого
используется параметр ERROR. Если значение параметра STATUS
отлично от нуля и при этом ERROR = "0", то это соответствует сигналу
предупреждения, а если при этом ERROR = "1", то это соответствует
сигналу об ошибке (о сбое). Пользователь должен обеспечить проверку
параметров DONE, NDR, STATUS и ERROR посл е каждого вызова блока.
SFB 12 BSEND и SFB 13 BRCV
Передача и прием блока данных
(Block-oriented sending/receiving of data)
В рассматриваемых системных функциональных блоках параметры SD_x
и RD_x используются для указания на первый байт области данных (при
этом длина области не проверяется); число байтов пересылаемых или
принимаемых данных должна быть задана область в параметре LEN.
Указанные функции позволяют передавать до 64 кбайтов данных; при
этом данные передаются в блоках (иногда называемых ф реймами
[frames]). Такая передача данных сама по себе является асинхронной по
отношению к процессу сканирования пользовательской программы.
Положительный фронт сигнала, поступающего в параметр REQ (request -
"запрос") запускает процедуру обмена данными, тогда как положительный
фронт сигнала, поступаю щего в параметр R (reset - "сброс") прекращает
процедуру обмена. Значение "1" в параметре EN_R (enable receive -
прием разрешен) сигнализирует о том, что коммуникационный партнер
готов принять данные. В параметре ID инициализируются
идентификаторы соединения (connection ID), которые вводятся системой
STEP 7 в таблицу соединений (connection table) и для локального модуля,
и для модуля партнера (эти два идентификатора соединения могут
различаться).
Параметр R_ID позволяет задать определяющий и уникальный
идентификатор задания (job ID), который должен быть идентичен для
передаваемого (Send) и получаемого (Receive) блоков данных. Такой
подход позволяет для нескольких пар передаваемых (Send) и получаемых
(Receive) б локов использовать единое логическое соединение (так как
каждая пара имеет уникальный идентификатор).
При первом вызове блок передает фактические значения параметров ID и
R_ID в соответствующий экземплярный блок. При первом вызове
устанавливается коммуникационная связь (для данного экземпляра) до
момента следующего полного перезапуска.
Значениями параметра DONE и параметра NDR, равными "1", блок
сигнализирует о том, что задание выполнено без ошибок. Если в процессе
выполнения задания обнаруживается ошибка, то для индикации этого
используется параметр ERROR. Если значение параметра STATUS
отлично от нуля и при этом ERROR = "0", то это соответствует сигналу
предупреждения, а если при этом ERROR = "1", то это соответствует
сигналу об ошибке (о сбое). Пользователь должен обеспечить проверку
параметров DONE, NDR, STATUS и ERROR посл е каждого вызова блока.