Полезные советы
S7-SCL V5.1 для S7-300/S7-400
A5E00059543-01
15-3
Отображение SCL программы в STL представлении
Вы можете открыть блок SCL с помощью редактора STL/LAD/FBD и
отобразить команды MC7. Однако не следует корректировать блок в STL по
следующим причинам:
•
Отображаемая команда MC7не обязательно представляет правильный
блок STL.
•
Безошибочная ком пиляция STL требует значения обоих модификаций
STL и SCL.
•
Блок, откомпилированный STL, затем имеет значения иденти фикатора
языка STL, он не д линнее идентификатора SCL.
•
Исходный файл SCL и код MC7 уже не соответствуют друг другу.
Обработка меток времени интерфейса и кода
Если вы создаете новый блок (FB, FC и OB), интерфейс (параметры блока) и
код имеют метки времени компиляции.
Если блок уже существует, у кода уже есть метка времени, когда он
откомпилирован. Интерфейс может сохранять свою старую метку времени.
Метка времени интерфейса изменяется только тогда, когда структура
интерфейса модифицируется, другими с ловами:
•
Метка времени сохраняется, если модификация выполняется в кодовом
разделе, в атрибутах, в комментариях, в разделе VAR_TEMP (с FC также
VAR) или в записи имен параметров или переменных. Это также
относится к подключаемому (как мул ьтиэкземпляры) интерфейсу.
•
Метка времени интерфейса корректируется, когда изменяется тип данных
или инициализация параметра или переменной, когда удалены или
добавлены параметры, когда изменено название FB и когда включены
мультиэкземпляры. Это также применимо к подключаемым (как
мультиэкземпляры) интерфейсам.
Возвращаемая величина в стандарте STEP 7 и системные функции
Стандарт STEP 7 и системные функции имеют функциональное значение
целого типа и содержат код ошибки. В справочнике для этих функций,
возможные коды ошибок определены как константы WORD типа
"W#16#8093".
S7 SCL – это язык, который строг относительно смешивания типов, так что
INT и WORD не могут смешиваться. Следующее выражение, например, не
приводит к требуемому результату.
IF SFCxx(..) = 16#8093 THEN ...
Однако Вы можете сообщить компилятору S7 SCL, что константа WORD
должна считаться целой.
•
Определенный тип константы. В этом случае, запрос делается так:
IF SFCxx(..) = INT#16#8093 THEN ...
•
Преобразование WORD_TO_INT(). Запрос формулируется так:
IF SFCxx(..) = WORD_TO_INT(16#8093) THEN ...