
 
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 посл е каждого вызова блока.