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

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

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

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

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    это не компьютерный язык программирования, здесь сперва придет значение текущее аналогово входа, потом выполнится весь код, включая функцию ST, затем что то уйдет на выхода и далее повториться следующая итерация цикла контроллера, поэтому ни о какой фильтрации внутри макроса речи быть не может
    Это понятно.
    Я про булевый вход и выход (например байт -> байт), и только ST, без других кодов - только одна функция на чистом листе.
    Выполнении цикла и вычислений в цикле произойдёт на частоте ядра?

    Вроде как ничто не должно "мешать" выполнится ST функции???

    PHP код:
    for :=0 to 1 by X  do Input1:= Input1+1;  end_for
    мах число       и выдать Input 8 бит на выход 
    Получится какой программный быстрый обработчик реализовать?
    Интересует именно пик быстродействия.

    И ещё - прирвёт ли что-нить обработку функции?
    Последний раз редактировалось ПавелП; 03.12.2022 в 22:44.

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

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Это понятно.
    Я про булевый вход и выход (например байт -> байт), и только ST, без других кодов - только одна функция на чистом листе.
    Выполнении цикла и вычислений в цикле произойдёт на частоте ядра?

    Вроде как ничто не должно "мешать" выполнится ST функции???

    PHP код:
    for :=0 to 1 by X  do Input1:= Input1+1;  end_for
    мах число       и выдать Input 8 бит на выход 
    Получится какой программный быстрый обработчик реализовать?
    Интересует именно пик быстродействия.

    И ещё - прирвёт ли что-нить обработку функции?
    догонит и еще раз прирвёт
    Для начала Вы разберитесь как цикл FOR работает, если Х больше чем единица, то произойдет одна итерация
    О каких 8 битах идет речь, если в ОЛ есть только були, целочисленные и вещественные числа, желательно бы сформулировать задачу, так чтоб она была понятна
    Хотите какое то быстродействие проверить, собирайте схему сами, запускайте и вычисляйтевозможности ПР, если что то не понятно выкладывайте код с объяснением что хотели получить и что в итоге получается
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

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

    По умолчанию Время реакции функции на ST

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

    Входы I1..I8 сформируют входной байт.
    Выходы Q1..Q8 выходной байт.
    Цитата Сообщение от capzap
    и вычисляйте возможности ПР, если что то не понятно выкладывайте код
    Спрашивалось у народа про:
    >> "Какую частоту ST через себя пропустит, не искажая входной сигнал?"
    Если вы не знаете, то так и скажите.

    Подразумевается, что тут гуру за годы уже "собаку съели"!

    В понедельник на работе и проверим.
    P.S. Кстати.
    Цитата Сообщение от capzap
    это не компьютерный язык программирования,
    - Это компьютерный язык программирования!!!
    То что его зажали в функцию, совершенно не мешает
    управлять сложным устройством.
    По крайней мере я справился, отчего и задался максимумом.

  4. #4
    Пользователь Аватар для 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

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

    По умолчанию

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

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

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

  6. #6
    Пользователь Аватар для 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

  7. #7
    Пользователь
    Регистрация
    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

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

Ваши права

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