3. SIMATIC S7-программа
Automating with STEP 7 in STL and SCL 3 - 13
Автоматизация посредством STEP 7
с использованием STL и SCL
Контрольная сумма также г енерируется для системных данных. Для
доступа к контрольным суммам при помощи утилиты SIMATIC Manager
выберите каталог Blocks (Блоки) и используйте опции:
Edit -> Object
Properties (Правка -> Свойства объекта).
3.2.4 Интерфейс блоков (Block Interface)
Таблица объявления переменных содержит интерфейс блока с остальной
программой. Он состоит из параметров блока (входы, выходы и входные и
выходные параметры), а также статических локальных данн ых (для
функциональных блоков). Временные локальные данные не принадлежат
интерфейсу блока. Интерфейс блока определяется в таблице объявления
переменных, и эти переменные инициализируются при вызове блока (см.
главу 19. "Параметры блоков").
Редактор программ Program Editor проверяет, чтобы инициализация
параметров вызываемого блока соответствовала интерфейсу
вызываемого блока. Для этого редактор использует метки времени:
интерфейс вызываемого блока должен иметь более раннюю временную
метку, чем код вызывающего блока, что означает, что последние
изменения интерфейса должны быть выполнены раньше его объединения
с блоком. Редактор программ Program Editor обновляет метку времени
интерфейса при изменении числа параметров, или при изменении типа
данных , или при изменении значений параметров, принимаемых по
умолчанию.
Конфликт временных меток (Time stamp conflict)
Если интерфейс вызываемого блока имеет более позднюю временную
метку, чем код вызывающего блока, возникает "конфликт временных
меток" ("Time stamp conflict"). Так, Вы получите "конфликт временных
меток" ("Time stamp conflict"), если вновь откроете уже скомпилированный
блок. В этом случае редактор Program Editor выделит некорректный вызов
блока красным цветом. Конфликт временных мето к также возникнет, если
Вы, например, измените интерфейсы блоков, которые уже вызывались в
других блоках, или если Вы объедините блоки из разных программ в
новую программу, или если Вы перекомпилируете раздел полной
программы из исходного файла.
Тем не менее, конфликт интерфейса, в общем описываемый как
"конфликт временных меток" ("Time stamp conflict"), может также иметь
другие причины. Он может случиться, если вызванный или адресованный
(referenced) блок имеет более позднюю временную мет ку (younger), чем
вызывающий блок. Ниже представлены примеры возможных случаев
"конфликта временных меток" ("Time stamp conflict"):
•
Интерфейс вызываемого блока имеет более позднюю временную метку
(younger), чем код вызываемого блока.
•
Интерфейс инициализации не согласован с интерфейсом блока.
•
Фу нкциональный блок имеет более позднюю временную метку
(younger), чем его экземплярный блок данных (экземпляр DB
генерируется на основе описания интерфейса функционального блока
и должен, следовательно, иметь более позднюю временную метку, чем
метка функционального блока, или их метки должны быть синхронны).
•
Интерфейс локального экземпляра имеет более позднюю временную
метку, чем вызывающий экземпляр (касается функциональных блоков).