Показано с 1 по 9 из 9

Тема: Область видимости и время жизни переменных.

  1. #1

    По умолчанию Область видимости и время жизни переменных.

    Вопросы такие:

    1. Соответствуют ли область видимости и время жизни переменных спецификации языка С/С++ ?
    Т.е. глобально объявленные переменные и функции имеют видимость из всех частей программы и срок жизни переменных неограничен.

    2. Разрешается ли внутри макросов создание и использование переменных со спецификатором static ?

    3. Какие из директив препроцессора можно использовать ?

    4. Как организована память программ макросов ? А конкретно, если объявлена глобальная переменная, и используется она эпизодически, а процесс ее расчета непрерывен и ее состояние напрямую связано с ее предыдущим состоянием то надо ее в обязательном порядке при каждом вызове функции считывать из регистров панели а по завершении вычисления записывать в регистры панели или она будет жить и без этого ?

    5. Какой размер ОЗУ доступен для использования в макросах ?

  2. #2

    По умолчанию

    Просто есть желание переложить часть вычислений (а может и вообще все) на панель для разгрузки ПЛК.
    А для этого нужно понимать, что она позволяет делать, а что нет.
    Руководство не дает полной картины.
    Стек С/С++ для меня родной, проблем с реализацией быть не должно.

  3. #3
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,016

    По умолчанию

    спецификатор static поддерживается https://owen.ru/forum/showthread.php...l=1#post247040
    Объявленные переменены, в том числе и глобальные живут в своей области памяти никак не связанной с регистрами панели.
    Вот пример использования макросов, в том числе и глобальных ТЕТРИС https://owen.ru/forum/showthread.php...l=1#post340895

    Еще пример https://owen.ru/forum/showthread.php...l=1#post251022
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #4

    По умолчанию

    Значит панель в связке с блоками ввода/вывода можно использовать как полноценный ПЛК используя возможности С/С++.
    Спасибо.

  5. #5

    По умолчанию

    для разгрузки ПЛК
    а он разве нагружен чем-то серьёзным?
    переложить часть вычислений
    что за специфические задачи, которые надо "перекладывать"? биток майнить?

  6. #6

    По умолчанию

    Ну допустим управление десятком систем PID, некоторые из которых многокаскадные, а некоторые оприходовано связаны с соседними.

  7. #7

    По умолчанию

    Цитата Сообщение от kakmyc Посмотреть сообщение
    Ну допустим управление десятком систем PID, некоторые из которых многокаскадные, а некоторые оприходовано связаны с соседними.
    В таком случае надо использовать ПЛК, панель скорее всего не потянет большой нагрузки.

  8. #8

    По умолчанию

    Цитата Сообщение от kakmyc Посмотреть сообщение
    Ну допустим управление десятком систем PID, некоторые из которых многокаскадные, а некоторые оприходовано связаны с соседними.
    и что это за технологический процесс, где на ОДНОМ "управляющем процессоре" будет сидеть "десяток" ПИД регуляторов, да ещё и каскадных? и что же это за регуляторы?
    и при этом - всё это предполагается крутиться на единственной дешманской китайской панели да ещё с сигналами по модбасу?

  9. #9
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,851

    По умолчанию

    Цитата Сообщение от kakmyc Посмотреть сообщение
    Ну допустим управление десятком систем PID, некоторые из которых многокаскадные, а некоторые оприходовано связаны с соседними.
    Десяток? Cотни ПИД'ов ни о чём для панели. Не парьтесь про "размер ОЗУ"


    Цитата Сообщение от In_Da_Cher_A Посмотреть сообщение
    а он разве нагружен чем-то серьёзным? ...
    +100500. И этот "десяток" еще больше ни о чём для ПЛК. Здесь несложно обосновать и про тысячи ПИД'ов.
    kakmyс - вы хотите облегчить жизнь товарному вагону переложив часть груза в тамбур плацкарта.


    Поэтому народ и недоумевает про
    Цитата Сообщение от kakmyc Посмотреть сообщение
    переложить часть вычислений (а может и вообще все) на панель для разгрузки ПЛК..

    Но! Во всех случаях узким местом является не "размер ОЗУ" а канал получения данных и вот это
    Цитата Сообщение от kakmyc Посмотреть сообщение
    .... используется она эпизодически, а процесс ее расчета непрерывен и ее состояние напрямую связано с ее предыдущим состоянием ....
    является очередным эльфийским подходом. Как минимум применительно к ПИД. Если мы говорим про реальный а не про "мелком на доске" ПИД
    Последний раз редактировалось Валенок; 07.03.2025 в 23:02.

Похожие темы

  1. Функциональная область
    от piligrim в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 25.03.2022, 14:58
  2. Изменение видимости объекта
    от kovalda в разделе СПК210, СПК1xx [М01]
    Ответов: 3
    Последнее сообщение: 22.09.2020, 13:45
  3. СПК107 [M01] не подаёт признаков жизни
    от Mikewolf в разделе СПК210, СПК1xx [М01]
    Ответов: 1
    Последнее сообщение: 18.11.2019, 13:57
  4. бит видимости в СП307 Б/Р
    от GReZ78 в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 06.11.2018, 12:34

Ваши права

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