Блоки на ST порядок выполнения какой имеют?
Какой блок выполнится первым, какой вторым?
Если они между собой не связаны,
но для другой части программы их данные используют другие макросы.
Вид для печати
Привет всем.
Глюк проявился: не хочет создавать переменную с именем STEP.
Код:function_block functionblock1 //имя функционального блока.
// ----------------------------------------------------------------
var_input //объявление входных переменных
InADCa, InADCb, InADCc, InADCd :real; // аналоговые входы
InMAX :real; InMIN :real; // пределы входные
UotMAX :real; UotMIN :real; // пределы выходные
Sek, Min, Hour :udint; // время
end_var
// ----------------------------------------------------------------
var_output //объявление выходных переменных
OutK1, OutK2, OutK3, OutK4 :bool; // выходы тразисторные
SvZf1 :bool; SvKf2 :bool; // светодиоды на панели ПР200
OutADCxA, OutADCxB, OutADCxC :real;
end_var
// ----------------------------------------------------------------
var //объявление локальных переменных
STEP :udint;
end_var
end_function_block
ОШИБКА : Имя переменной STEP содержит недопустимые символы
Несколько раз проверял.
STEP используется в чреве компилятора для своих нужд?
Или это какой оператор или константа?
Из хелпа:
Ключевые слова могуут быть введены в символах верхнего и нижнего регистра. Пробелы и метки табуляции не влияют на синтаксис, они могут использоваться везде.
Структура выражения: [variable] := [value];
Выражения состоят из операндов и операторов. Операндом может быть литерал, переменная, структурированная переменная, компонент структурированной переменной, обращение к функции или прямой адрес.
1. Слово "могуут".
2. "или прямой адрес" - это как?
решение проблемы
Цитата:
Зарезервированные слова и языконезависимая спецификация
Зарезервированные слова представляют определённую проблему при переводе текста с языка на язык (а иногда даже с компилятора на компилятор) и при написании ПО, разные части которого написаны на разных языках — может случиться, что на языке А будет создан идентификатор, который является зарезервированным словом языка Б и поэтому он окажется недоступным. Обычно стараются избегать слов, которые в каком-либо из широко известных языков являются зарезервированными. Впрочем, бывает, что при расширении языка слово из разрешённого переходит в зарезервированное. Вот несколько способов решения этой проблемы.
Венгерская нотация и другие подобные способы именования переменных делают идентификаторы заведомо отличающимися от ключевых слов любого языка.
.NET требует, чтобы все совместимые языки позволяли каким-либо образом задавать идентификатор, совпадающий с ключевым словом. Например, в C# слово this является зарезервированным, а @this — идентификатором.
Похожим образом поступили во встроенном ассемблере Паскаля: eax — зарезервированное слово (название регистра), &eax — идентификатор.
В Си все нестандартные (производителе- и платформозависимые) зарезервированные слова начинаются с двух знаков подчёркивания. Например, в C Builder может быть такая запись:
Да это всё понятно. Мы не о том, а именно о слове step. Человек, мало занимающийся программированием откуда узнаёт о таком? Могли бы в документации указать список зарезервированных слов, которые нельзя применять, и всё.