Показано с 1 по 10 из 606

Тема: Создать функцию на ST

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

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

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    А я про что?
    >> Я про булевый вход и выход (например байт -> байт),

    Входы I1..I8 сформируют входной байт.
    Выходы Q1..Q8 выходной байт.

    Спрашивалось у народа про:
    >> "Какую частоту ST через себя пропустит, не искажая входной сигнал?"
    Если вы не знаете, то так и скажите.

    Подразумевается, что тут гуру за годы уже "собаку съели"!
    Никакой частоты пропускать он(ST) не будет!

    ПРка, как и положено ПЛК, работает так
    1. в начале каждого цикла опрашиваются все физические входы и полученные значения запоминаются в специальном буфере
    2. выполняется код, в том числе и ST. При этом используются сохраненные на ш.1 значения входов. Физические входы и выходы НЕ ОПРАШИВАЮТЯ!!!
    3. данные, получаемые на ш.2, в том числе и для физических выходов ПР запоминаются во втором специальном буфере
    4. данные из буфера п.3 записываются на физические выходы.

    далее циклы повторяются.

    таким образом ни о какой "пропускаемой частоте" ST речи быть не может!
    Быстрее чем время выполнения одного цикла все равно работать не будет!
    Последний раз редактировалось petera; 04.12.2022 в 14:05.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Никакой частоты пропускать он(ST) не будет!
    Будет!.
    Примет байт, обработает, и направит на выход!
    А вот какие временные рамки - уже по факту завтра гляну на работе.
    А что вы имели под пропустить через ST не понятно.
    Цитата Сообщение от petera
    ПРка, как и положено ПЛК, работает так
    1. в начале каждого цикла опрашиваются все физические входы и полученные значения запоминаются в специальном буфере
    2. выполняется код, в том числе и ST. При этом используются сохраненные на ш.1 значения входов. Физические входы и выходы НЕ ОПРАШИВАЮТЯ!!!
    3. данные, получаемые на ш.2, в том числе и для физических выходов ПР запоминаются во втором специальном буфере
    4. данные из буфера п.3 записываются на физические выходы.

    далее циклы повторяются.
    Вот за эту инфу спасибо, видно что вы в теме.

    Цитата Сообщение от petera
    таким образом ни о какой "пропускаемой частоте" ST речи быть не может!
    Быстрее чем время выполнения одного цикла все равно работать не будет!
    Не цикл надо обогнать, а внутри цикла выяснить скорость выполнения своего цикла.
    Другими словами - сколько тактов успеет прога на ST пересчитать.
    Отсюда и вопрос был: Если внутренний цикл "затянется" - что будет.
    Но это уже к внутренней архитектуре оболочки вопросы выясняем.

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

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Будет!.
    ...
    Не цикл надо обогнать, а внутри цикла выяснить скорость выполнения своего цикла.
    Другими словами - сколько тактов успеет прога на ST пересчитать.
    Отсюда и вопрос был: Если внутренний цикл "затянется" - что будет.
    Но это уже к внутренней архитектуре оболочки вопросы выясняем.
    Так ведь время цикла у ПР никак не задается, а получается таким, какое нужно для выполнения конкретной программы,
    при 200 внутренних циклах ST, предположим, время цикла ПР будет 1 мс, а при миллионе циклов FOR, время цикла ПР, положим, станет 1 минута.

    Т.е. цикл ПР подстраивается под выполнение всего кода, а не наоборот.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Т.е. цикл ПР подстраивается под выполнение всего кода, а не наоборот.
    Ага. Тогда интересно, на какой частоте работает код.
    Код ST скомпилирован, и на частоте проца?

    ПР200 - STM32F103VET6, Максимальная частота 72МГц,
    минус потери времени на откомпилированные куски кода,
    там же чистый АСМ получается (правда, это не известно).

    Если в 1мс удастся "втиснуть" 100000 циклов, то это здорово!

Похожие темы

  1. Ответов: 14
    Последнее сообщение: 01.07.2023, 21:30
  2. Ответов: 6
    Последнее сообщение: 22.12.2021, 10:50
  3. Ответов: 3
    Последнее сообщение: 13.09.2021, 13:31
  4. ПЛК160. Чем заменить функцию записи 0x05?
    от FallenDAY в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 26.08.2017, 13:19
  5. Как написать собственную функцию wait()
    от PavelKazakov в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 23.07.2009, 11:37

Метки этой темы

Ваши права

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