Рис. 45. Проверка принятого кадра на искажения.
При удовлетворительной проверке схема проверки также выставляет логическую единицу на схему отсутствия искажений кадра. Четвертый байт проверяется по шаблону START2, результат проверки также поступает на схему E_R1. Блок «A=Akp» проверяет соответствие адреса приемной станции адресу, указанному в заголовке кадра. При положительном результате проверки блок выставляет логическую 1 на схему E_R1. В блоке Buf_ASDU выделяются командный байт и байта адреса заголовка кадра, а также блок данных прикладного уровня ASDU и байт с контрольной суммой. Байт с контрольной суммой выставляется на порт _KC, остальные байты на порт C_A_ASDU.
В блоке КС по выделенным байтам вычисляется контрольная сумма, которая сравнивается с контрольной суммой, записанной в анализируемом кадре. Сравнение осуществляет блок «KC_1=KC_2», результат сравнения выставляется на схему E_R1. В схеме «СТ_Frame & FC» производится анализ функционального кода FC и номера кадра FCB. Номер функционального кода выставляется на порт N_FC. В случае, если кадр классифицируется как новый, на порт NEW выставляется логическая единица, которая поступает на логическую схему E_R1. Блок End проверяет, равен ли последний байт кадра шаблону «конец кадра» и результат проверки выставляет на схему E_R1.
После опустошения буфера очереди Queue_14 на порт Num рассматриваемой схемы поступает значение 0, которое используется для генерации схемой G_Reset импульса, осуществляющего сброс всех схем проверки кадра в исходное состояние. Поскольку проверяющие блоки выполнены в виде Enable-подсистем, то в момент сброса выставляется также сигнал на разрешение работы этих блоков.
На рис. 46 приведен пример реализации схемы определения нового значения кадра, которая применена в блоке «CT_Frame & FC». Схема получает на входной порт In_C контрольный байт заголовка кадра, из которого выделяет биты актуальности счетчика кадров FCV и номер кадра FCB. Принятое значение номера кадра запоминается в регистре T при поступлении фронта синхронизирующего сигнала CLK. Предыдущее значение номера кадра хранится в триггере ROM и считывается из триггера T по срезу синхронизирующего сигнала CLK. Логические схемы L_2…L_5 сравнивают старое значение кадра с новым, результат сравнения запоминается в триггере NEW-OLD (по фронту CLK) и выставляется на выходные порты NEW и OLD.
Рис. 46. Схема определения нового значения кадра
Прикладной уровень обеспечивает формирование блока данных ASDU для посылки вторичной станции и извлечение из принятого блока данных сообщения для пользовательского процесса. Этот уровень взаимодействует с процессом пользователя и канальным уровнем. Рассмотрим работу прикладного уровня только для процесса передачи приказа.
Прикладной уровень первичной станции. Прикладной уровень получает от пользовательского процесса задания на передачу приказа и передает ему квитанцию (положительную или отрицательную), полученную от вторичной станции, о результатах исполнения приказа. На основе полученного приказа уровень формирует блок данных прикладного уровня ASDU, который передается канальному уровню. При получении от канального уровня принятого блока ASDU прикладной уровень извлекает из него квитанцию и передает результаты пользовательскому процессу.
Модель прикладного уровня передающей станции приведена на рис. 47. Процесс пользователя при запросе на выполнение функции передачи приказа выдает прикладному уровню канального сервиса через порт REQ_D следующую информацию. Код операции: отключить/включить (0/1), номер контролируемого пункта (1…8), номер объекта (1…255), номер функции (для приказа 45 или 46) и выставляет запрос на предоставление сервиса для выполнения указанной функции – сигнал REQ.
После обработки запроса (передаче канальному уровню сформированного блока ASDU и предельного количества попыток передачи кадра, а также получения от канального уровня уведомления о выполнении операции передачи кадра) прикладной уровень выставляет процессу пользователя уведомление об исполнении функции на выходной порт CON. Уведомление (квитанция) может быть как положительным, так и отрицательным).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.