Страница 802 из 811 ПерваяПервая ... 302702752792800801802803804 ... ПоследняяПоследняя
Показано с 8,011 по 8,020 из 8103

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #8011
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,044

    По умолчанию

    В спецификации ПЛК указано что до 1000Гц. Но есть сомнения, так как нет аппаратных счетчиков, а программа (один цикл скана) должна выполняться за 1 мс с учетом времени на служебные нужны ПЛК.
    Можно попробовать сделать свой ФБ
    VAR_In
    In:bool; Счетный вход.
    Reset (Global): bool; Сброс счетчика.
    ---
    Var_Out
    Out:WORD (или DWORD); Результат счета.
    ----
    Var_Global
    Old_In:bool; Предыдущее состояние входа.
    ====
    IF Reset THEN Out:=0; Reset:=FALSE; END_IF; Обнуляем счет по условию, сбрасываем флаг сброса.
    IF In<>Old_In THEN Old_In:=In; Out:=(Out+1)/2; END_IF; Если состояние входа изменилось, то инкрементируем счетчик. Деление на 2 потому что будут считаться как передние фронты, так и задние.
    ---------
    В ПЛЦ ПРГ
    VAR Imp: DWORD; Количество импульсов в секунду.
    Тащим на поляну наш ФБ.
    1. Делаем постоянно работающий блинк с периодом верх\них по 500мс.
    2. По переднему фронту блинка через R_TRIG считываем в переменную Imp из Оut сделанного ФБ, а так же делаем Reset ФБ = TRUE (он сбросится при вызове ФБ)

    В результате получаем количество импульсов в секунду.
    Но стабильности высокой ожидать не стоит, ибо скоростной счет не для данного ПЛК.
    ===========
    Ну или как вариант в вашей проге поменять ТР10 на блинк с периодом верх\них по 500мс, и возможно вместо F_TRIG10 поставить R_TRIG.
    Последний раз редактировалось Sulfur; 14.09.2020 в 16:32.

  2. #8012

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Значит принятый на работу в техподдержку чел еще не ознакомился с матчастью.
    Modbus RTU over TCP это конкретная реализация. Овен-плк в конфиге - не поддерживает.

    Настройки скады ?
    Проект плк ? (живьем)
    Настройков датчиков ?
    В общем времени на эксперименты уже нет) буду делать ручками)
    ПЛК опрашивает датчики по модбас мастер, внутри себя пересылает значения в модбас слэйв, а скада уже читает регистры ПЛК. В такой форме все работает.

    Пишу с телефона. Проект отправить не могу.

  3. #8013

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    В спецификации ПЛК указано что до 1000Гц. Но есть сомнения, так как нет аппаратных счетчиков, а программа (один цикл скана) должна выполняться за 1 мс с учетом времени на служебные нужны ПЛК.
    Можно попробовать сделать свой ФБ
    VAR_In
    In:bool; Счетный вход.
    Reset (Global): bool; Сброс счетчика.
    ---
    Var_Out
    Out:WORD (или DWORD); Результат счета.
    ----
    Var_Global
    Old_In:bool; Предыдущее состояние входа.
    ====
    IF Reset THEN Out:=0; Reset:=FALSE; END_IF; Обнуляем счет по условию, сбрасываем флаг сброса.
    IF In<>Old_In THEN Old_In:=In; Out:=(Out+1)/2; END_IF; Если состояние входа изменилось, то инкрементируем счетчик. Деление на 2 потому что будут считаться как передние фронты, так и задние.
    ---------
    В ПЛЦ ПРГ
    VAR Imp: DWORD; Количество импульсов в секунду.
    Тащим на поляну наш ФБ.
    1. Делаем постоянно работающий блинк с периодом верх\них по 500мс.
    2. По переднему фронту блинка через R_TRIG считываем в переменную Imp из Оut сделанного ФБ, а так же делаем Reset ФБ = TRUE (он сбросится при вызове ФБ)

    В результате получаем количество импульсов в секунду.
    Но стабильности высокой ожидать не стоит, ибо скоростной счет не для данного ПЛК.
    ===========
    Ну или как вариант в вашей проге поменять ТР10 на блинк с периодом верх\них по 500мс, и возможно вместо F_TRIG10 поставить R_TRIG.
    Спасибо, буду пробовать

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

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    ..
    Out:WORD (или DWORD)..
    ... Out:=(Out+1)/2...
    Reset не нужен. И так всегда 0 ))

    PS
    И R_TRIG на вход CTU - лишнее. Они (счетчики) считают передние фронты.
    Последний раз редактировалось Валенок; 15.09.2020 в 20:01.

  5. #8015

    По умолчанию

    Добрый вечер, вопрос такого характера:
    Во время выполнения программы, имеется несколько одинаково названных выходов. При выполнении программы, наблюдаю такую картину . Линия связи выхода FB или просто блока становится синей, соответственно выход отработал, но выходной блок подсоединенный к нему, не становятся активным TRUE. Проблема в неправильном порядке выполнении программы?
    Выполнял расстановку в соответствии с топологическом порядке, эффекта 0.Программа написана на CFC codesys 2.3

  6. #8016

    По умолчанию

    Цитата Сообщение от Миронов Илья Посмотреть сообщение
    ...
    Выполнял расстановку в соответствии с топологическом порядке, эффекта 0.Программа написана на CFC codesys 2.3
    ПКМ на рабочем поле -> Порядок -> В соответствии с потоком данных

  7. #8017

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Оное вообще не запустится ибо синтаксическая ошибка. Видимо ложите разное в одно место.

    Не проблема, а переприсвоение.
    i := 1;
    i := 2;
    Чой то в i не 1 ?

    PS
    К вопросу проект кладут (на будущее)
    Возможности приложить проект нету.Screenshot_1.png

  8. #8018

    По умолчанию

    А что тут не устраивает?

  9. #8019

    По умолчанию

    Вроде нашел причину, спасибо за наводку

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

    По умолчанию

    Ну да. Вот
    Изображения Изображения
    • Тип файла: jpg Вот.jpg (188.9 Кб, Просмотров: 18)

Страница 802 из 811 ПерваяПервая ... 302702752792800801802803804 ... ПоследняяПоследняя

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

Ваши права

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