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

Тема: Основная программа на ST

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Основная программа на ST

    Здравствуйте. Можете ли Вы (разработчики) реализовать точку входа в программу на языке ST как функцию или функциональный блок ST. У меня большая часть программы написана на языке ST, очень неудобно постоянно создавать/обновлять связи между функциональными блоками при обновлении функциональных блоков. Так же при реализации такого подхода будет возможность точнее контролировать последовательность вызова функциональных блоков и их периодичность (например, можно написать менеджер, который будет вызывать функциональные блоки не каждый цикл, а реже тем самым экономя процессорное время снижает время цикла).

  2. #2

    По умолчанию

    Цитата Сообщение от igorlisin Посмотреть сообщение
    Здравствуйте. Можете ли Вы (разработчики) реализовать точку входа в программу на языке ST как функцию или функциональный блок ST. У меня большая часть программы написана на языке ST, очень неудобно постоянно создавать/обновлять связи между функциональными блоками при обновлении функциональных блоков. Так же при реализации такого подхода будет возможность точнее контролировать последовательность вызова функциональных блоков и их периодичность (например, можно написать менеджер, который будет вызывать функциональные блоки не каждый цикл, а реже тем самым экономя процессорное время снижает время цикла).
    1) При изменении входов-выходов ФБ, достаточно обновить ФБ, а связи сами не восстанавливаются даже в Codesys. Как вы себе это представляете?
    2) Никакой менеджер не нужен, если надо исключить ФБ из работы, введите в ФБ включение по Enable и код не будет исполняться. Код надо оптимизировать.
    Кроме того если делать ФБ в разумных пределах (не 100500 блоков), то и экономить ничего не придётся. Иначе вам нужен ПЛК.
    Последний раз редактировалось kondor3000; 03.02.2026 в 12:14.

  3. #3

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    1) При изменении входов-выходов ФБ, достаточно обновить ФБ, а связи сами не восстанавливаются даже в Codesys. Как вы себе это представляете?
    2) Никакой менеджер не нужен, если надо исключить ФБ из работы, введите в ФБ включение по Enable и код не будет исполняться. Код надо оптимизировать.
    Кроме того если делать ФБ в разумных пределах (не 100500 блоков), то и экономить ничего не придётся. Иначе вам нужен ПЛК.
    1. Я себе это никак не представляю, я этого и не писал
    2. Какая логика будет включать bEnable
    3. С тем, что мне нужно было выбирать ПЛК на не умное реле, я согласен

  4. #4

    По умолчанию

    Ещё раз и очень медленно.
    Что Вам мешает написать всю программу в одном ФБ и просто вставить в холст?

  5. #5

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Ещё раз и очень медленно.
    Что Вам мешает написать всю программу в одном ФБ и просто вставить в холст?
    Мне мешает необходимость обновления связей входов и выходов функционального блока с переменными в основной части программы.

  6. #6

    По умолчанию

    Цитата Сообщение от igorlisin Посмотреть сообщение
    Мне мешает необходимость обновления связей входов и выходов функционального блока с переменными в основной части программы.
    Понятно. Я к этому уже привык. Все сетевые и энергонезависимые да - приходится потом подгонять.

  7. #7

    По умолчанию

    Сожалею, но ПР - это НЕ ПЛК.
    И тут есть ограничения:
    * Только FBD
    * ST только в макросах, так как перевод всего OWL на ST тянет за собой такие проблемы:
    -- Как передавать в ST глобальные переменные и переменные IO
    -- Как и где расположить основной корень программы так, чтобы удовлетворить FBD и ST сразу. Это НЕ должно выглядеть как разные типы проектов (условно, в одном типе проекта - поле для рисования, а в другом - сразу текст.
    * Контроль порядка выполнения блоков специально НЕ сделан, чтобы не связываться с дурью типа контроллеров Segnetics, где внезапно от того, как расположены блоки на рисунке, скрыто зависит порядок их выполнения, и всех путает
    * Контроль работы всей программы делается двумя способами:
    -- Взять значение из предыдущего цикла (специальный элемент схемы)
    -- Записать значение в конце цикла (свойство переменной)
    Это более удобно, и я за это памятник поставил бы.
    Так как это позволяет рисовать нагляно схемы и не перетряхивать весь порядок выполнения блоков (если бы он был), когда в середину последовательности надо вставить ещё блоков.
    * Enable (EN) у базовых блоков НЕ поддерживается, и для него (если надо) нужно использовать SEL или писать свои блоки
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

Похожие темы

  1. программа для плк
    от service в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 06.11.2012, 14:12
  2. Ответов: 5
    Последнее сообщение: 14.08.2012, 14:19
  3. плк программа
    от gefan в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 01.11.2010, 15:38
  4. программа для ас-2
    от tvv7-7-7 в разделе Эксплуатация
    Ответов: 7
    Последнее сообщение: 02.04.2010, 09:34
  5. программа для ПЛК
    от Koliy в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 06.04.2009, 08:59

Ваши права

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