Страница 32 из 66 ПерваяПервая ... 22303132333442 ... ПоследняяПоследняя
Показано с 311 по 320 из 658

Тема: Функциональные блоки на языке ST

  1. #311
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    508

    По умолчанию

    Цитата Сообщение от Сергей Фенев Посмотреть сообщение
    Входную переменную не проблема сделать , я понимаю как и что делается , но это уже не будет обмен данными между блоками посредством языка ST. В справке русским языком написано , что возможен обмен между разными функциональными блоками посредством вызова одного блока из другого блока.
    Блоки на ST порядок выполнения какой имеют?
    Какой блок выполнится первым, какой вторым?

    Если они между собой не связаны,
    но для другой части программы их данные используют другие макросы.

  2. #312
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    508

    По умолчанию

    Привет всем.

    Глюк проявился: не хочет создавать переменную с именем 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 используется в чреве компилятора для своих нужд?
    Или это какой оператор или константа?

  3. #313
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,429

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Привет всем.

    Глюк проявился: не хочет создавать переменную с именем 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 используется в чреве компилятора для своих нужд?
    Или это какой оператор или константа?
    Пробовали почитать документацию на оператор цикла FOR?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #314
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    508

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Пробовали почитать документацию на оператор цикла FOR?
    Да.
    Я сначала порылся в хелпе, потом проверил циклы.
    Потом уже тут спросил.

  5. #315
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    508

    По умолчанию

    Из хелпа:

    Ключевые слова могуут быть введены в символах верхнего и нижнего регистра. Пробелы и метки табуляции не влияют на синтаксис, они могут использоваться везде.
    Структура выражения: [variable] := [value];
    Выражения состоят из операндов и операторов. Операндом может быть литерал, переменная, структурированная переменная, компонент структурированной переменной, обращение к функции или прямой адрес.

    1. Слово "могуут".
    2. "или прямой адрес" - это как?

  6. #316
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,429

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Да.
    Я сначала порылся в хелпе, потом проверил циклы.
    Потом уже тут спросил.
    Т.е. Вы так прочли что не заметили в конструкции for оператор step?

    Вам не попадалось что переменные регистронезависимы, нельзя в коде объявить две переменные с одним именем но в разных регистрах?

    Вам не попадалось использование такого слова как АТ %?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #317

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Т.е. Вы так прочли что не заметили в конструкции for оператор step
    Вот я тоже не нашёл упоминания о step в web версии документации для лоджика... Даже поиск ничего не дал. Возможно это в другой документации и его зарезервировали?

  8. #318
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,429

    По умолчанию

    Цитата Сообщение от МихаилГл Посмотреть сообщение
    Вот я тоже не нашёл упоминания о step в web версии документации для лоджика... Даже поиск ничего не дал. Возможно это в другой документации и его зарезервировали?
    решение проблемы
    Зарезервированные слова и языконезависимая спецификация

    Зарезервированные слова представляют определённую проблему при переводе текста с языка на язык (а иногда даже с компилятора на компилятор) и при написании ПО, разные части которого написаны на разных языках — может случиться, что на языке А будет создан идентификатор, который является зарезервированным словом языка Б и поэтому он окажется недоступным. Обычно стараются избегать слов, которые в каком-либо из широко известных языков являются зарезервированными. Впрочем, бывает, что при расширении языка слово из разрешённого переходит в зарезервированное. Вот несколько способов решения этой проблемы.

    Венгерская нотация и другие подобные способы именования переменных делают идентификаторы заведомо отличающимися от ключевых слов любого языка.
    .NET требует, чтобы все совместимые языки позволяли каким-либо образом задавать идентификатор, совпадающий с ключевым словом. Например, в C# слово this является зарезервированным, а @this — идентификатором.
    Похожим образом поступили во встроенном ассемблере Паскаля: eax — зарезервированное слово (название регистра), &eax — идентификатор.
    В Си все нестандартные (производителе- и платформозависимые) зарезервированные слова начинаются с двух знаков подчёркивания. Например, в C Builder может быть такая запись:
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #319

    По умолчанию

    Цитата Сообщение от МихаилГл Посмотреть сообщение
    Вот я тоже не нашёл упоминания о step в web версии документации для лоджика... Даже поиск ничего не дал. Возможно это в другой документации и его зарезервировали?
    В OL зарезервированы все операторы и ключевые слова языка ST, даже если они в текущей версии не используются/не реализованы. Надо полагать, это задел на будущее

  10. #320

    По умолчанию

    Да это всё понятно. Мы не о том, а именно о слове step. Человек, мало занимающийся программированием откуда узнаёт о таком? Могли бы в документации указать список зарезервированных слов, которые нельзя применять, и всё.

Страница 32 из 66 ПерваяПервая ... 22303132333442 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК73 (Функциональные кнопки)
    от necro в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 18.05.2022, 10:03
  2. Функциональные блоки
    от ribamuka в разделе СПК2xx (архив)
    Ответов: 4
    Последнее сообщение: 08.04.2018, 15:01
  3. Функциональные блоки насосов в CoDeSys
    от Алексей Ермолаев в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 28.03.2017, 13:50
  4. Функциональные блоки- где искать?
    от Xops в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 01.03.2016, 11:07
  5. СПК функциональные клавиши
    от Lyohin в разделе Трёп (Курилка)
    Ответов: 0
    Последнее сообщение: 30.03.2015, 15:10

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •