Страница 44 из 61 ПерваяПервая ... 34424344454654 ... ПоследняяПоследняя
Показано с 431 по 440 из 606

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

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

    По умолчанию

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

    Входы 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. #432
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,991

    По умолчанию

    В ПР если установить единственный макрос на ST частота будет равно циклу программы ПР. То есть сразу все 8 входов подать на макрос, на выходе сформировать байт выходов и скинуть на выходы. Вот сколько времени займет ваш код ST столько времени и будет цикл ПР.

    Почему, расписал petera как работает ПР и большинство ПЛК.

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

    По умолчанию

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

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

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

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    В ПР если установить единственный макрос на ST частота будет равно циклу программы ПР. То есть сразу все 8 входов подать на макрос, на выходе сформировать байт выходов и скинуть на выходы. Вот сколько времени займет ваш код ST столько времени и будет цикл ПР.

    Почему, расписал petera как работает ПР и большинство ПЛК.
    Всё верно.
    Задан цикл внутри функции на 200 шагов.
    Впишется в цикл ПР?
    500 шагов?
    2000 шагов?

    Вот этот предел и интересует.
    На что рассчитывать???

  5. #435
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,991

    По умолчанию

    блин, да вы хоть 1000 шагов сделайте внутри своего ST, он обрабатывать будет ОДНО и тоже входное значение и запишется на выход ОДНО единственно значение после работы ваших 100500 циклов. Вы не догоняете принципы работы ПР и ПЛК.

    "Это опять вы" еще раз вам говорю, если вам нужна обработка определенных входов и управление определенных выходов в процессе выполнения основной программы, ва нужен другой ПЛК, который это умеет делать, и это не ОВЕН.

  6. #436
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,991

    По умолчанию

    | начало цикла программы - чтение всех входов (см. комментарии petera) | Начало программы, программа стартует и что-то делает | Прерывание каждые 2 мс, проверка определенного входа | основная программа продолжается | Прерывание, проверка входа, условие выполнено, запись выхода | программа продолжается | Прерывание ... | Программа закончилась | Запись всех остальных выходов | => все сначала

    (общее время выполнения программы ну скажем 15 мс)

    То, что выделенно жирным, недоступно ПР и ПЛК от Овен... ПР, которые бы так умели вообще не видел.

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    блин, да вы хоть 1000 шагов сделайте внутри своего ST, он обрабатывать будет ОДНО и тоже входное значение и запишется на выход ОДНО единственно значение после работы ваших 100500 циклов. Вы не догоняете принципы работы ПР и ПЛК.
    Не в этом вопрос.
    >> Я про булевый вход и выход (например байт -> байт),
    Вопрос, сколько тактов в цикле можно обрабатывать этот байт за один вход/выход в функцию.

    Давайте вылезем из танка и посчитаем число Пи. (например Пи)
    Высчитать 20 знаков, 50 знаков, или 200 знаков.
    Выдать число полученных знаков.
    Результат функции 4 байта, берём нижний байт, двигаем в порт [0-255].
    Выставили как результат.

    Цитата Сообщение от melky
    "Это опять вы" еще раз вам говорю,
    Так понятно? Никаких коллизий с архитектурой ПР!
    Каков предел внутри функции?

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    То, что выделенно жирным, недоступно ПР и ПЛК от Овен... ПР, которые бы так умели вообще не видел.
    Вот этот ответ, который и нужен.
    Сложную обработку не делать, а примитивный шаговый автомат...

  9. #439

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Не в этом вопрос.
    >> Я про булевый вход и выход (например байт -> байт),
    Вопрос, сколько тактов в цикле можно обрабатывать этот байт за один вход/выход в функцию.

    Давайте вылезем из танка и посчитаем число Пи. (например Пи)
    Высчитать 20 знаков, 50 знаков, или 200 знаков.
    Выдать число полученных знаков.
    Результат функции 4 байта, берём нижний байт, двигаем в порт [0-255].
    Выставили как результат.


    Так понятно? Никаких коллизий с архитектурой ПР!
    Каков предел внутри функции?
    Скорее всего цикл будет увеличен. Можете также попробовать сделать бесконечный цикл, расскажете потом, как на него ПР отреагирует.

  10. #440
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,991

    По умолчанию

    А что ,в в ST на ПР появились циклы? хотя собственно не важно, любой цикл в ПР или ПЛК просто увеличит время выполнения программы. Соответственно увеличится время между опросом входов и записью выходов. Так какая разница, сколько вы там собрались вычислять знаков ?

Страница 44 из 61 ПерваяПервая ... 34424344454654 ... ПоследняяПоследняя

Похожие темы

  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

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

Ваши права

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