Страница 2 из 7 ПерваяПервая 1234 ... ПоследняяПоследняя
Показано с 11 по 20 из 67

Тема: Codesys2.3 на выходе был ШИМ сигнал

  1. #11

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Если вы от LIMIT - то в хелпе ясно: min, x, max (ST)

    min,
    x,
    max (СFC) Тоже самое - очевидно ж
    Если Вы это знаете, то конечно, очевидно. Но человек обычно строит шкалу снизу вверх. Пример - традиционные координатные оси, градусник (термометр). Я навскидку не берусь назвать общепринятые примеры построения положительной оси сверху вниз, а отрицательной снизу вверх.

    Цитата Сообщение от Валенок Посмотреть сообщение
    А ШИМ смастерить можно из чего угодно.
    Ну это Вы с высоты своей квалификации. Кроме того, как я уже писал, не все гладко с преобразованием типов, если на вход REAL_TO_TIME попадает отрицательное значение, то на выходе получается предельно возможное для TIME число. Но, скорее всего, Вы это где-то учитываете, только я не понял, где, как Вы уже, наверное, догадались, я не очень хорошо в этом разбираюсь. Я написал, как сам делал. За это могу ручаться, практически проверил работоспособность в разных ситуациях
    Последний раз редактировалось Михаил Иванович; 08.02.2013 в 17:14.

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

    По умолчанию

    Цитата Сообщение от Михаил Иванович Посмотреть сообщение
    Если Вы это знаете, то конечно, очевидно. Но человек обычно строит шкалу снизу вверх. Пример - традиционные координатные оси, градусник (термометр)..
    Ну хэлп же есть. Последовательность есть. Все что слева направо в ST - сверху вниз в квадратиках. Графические поу это не имитаторы чего-либо

    Цитата Сообщение от Михаил Иванович Посмотреть сообщение
    Кроме того, как я уже писал, не все гладко с преобразованием типов, если на вход REAL_TO_TIME попадает отрицательное значение, то на выходе получается предельно возможное для TIME число...
    Причем тут программирование Это простая алгебра. Класс так 5й
    Последний раз редактировалось Валенок; 09.02.2013 в 16:01.

  3. #13

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Ну хэлп же есть. Последовательность есть. Все что слева направо в ST - сверху вниз в квадратиках. Графические поу это не имитаторы чего-либо



    Ну вот пусть замеряем 4-20 на ПЛК63. Сигнал 0-100, по факту может быть ..-3-103.. наверно где-то так. Чтоб не лохануться и вставляем вышеуказанный ограничитель с преобразованием

    BLINK.TIMEHIGH := REAL_TO_TIME(TIME_TO_REAL(tmPeriod)*LIMIT(0,X,100)/100);
    BLINK(IN:=TRUE,TIMELOW:=tmPeriod-BLINK.TIMEHIGH, Q=>ШИМ);

    Пусть вход -100..+100
    ..(LIMIT(-100,X,100)+100)/200..

    LIN_TRAFO есть опять же

    LIN(IN:=LIMIT(-100,X,100),IN_MIN:=-100,IN_MAX:=100,OUT_MIN:=0,OUT_MAX:=1);
    ...LIN.OUT...

    Причем тут программирование Это простая алгебра. Класс так 5й
    Так и я ведь не о программировании, а о правильности работы преобразования. Наличие двух разрывов в функции преобразования - это неверно.

  4. #14

    По умолчанию

    Так значит можно сделать на выходе с реле ШИМ сигнал

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

    По умолчанию

    Цитата Сообщение от Михаил Иванович Посмотреть сообщение
    ..Наличие двух разрывов в функции преобразования - это неверно.
    А зачем тогда
    использовать комбинацию MIN и MAX.
    ?

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

    По умолчанию

    Цитата Сообщение от Yerabdi Посмотреть сообщение
    Так значит можно сделать на выходе с реле ШИМ сигнал
    сделать нельзя несделать

  7. #17

    По умолчанию

    Цитата Сообщение от Yerabdi Посмотреть сообщение
    Так значит можно сделать на выходе с реле ШИМ сигнал
    Можно, конечно. Причем стандартный библиотечный блок "BLINK" почти он и есть. Осталось пережде вычислить необходимую скважность сигнала и длительности импульса и паузы - это из соотношения имеющегося аналогового сигнала и его диапазона. Потом подать значения на входы указанного блока. По пути возникнут трудности с преобразованием типов данных, мы их как раз обсуждали. Суть можно уловить из переписки и необходимость в это вникнуть - тоже.

  8. #18

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    А зачем тогда

    ?
    Как раз затем, чтобы обойти эту неверность. Понимаете, у меня создается впечатление, что нас постоянно вынуждают выкручиваться из всяких ситуаций, которые являются порождением чьей-то недобросовестности, отсутствием контроля. Когда я вижу такие вещи, я об этом пишу. В ответ мне сразу начинают пояснять, почему так получилось. Вроде бы так и должно быть. А я говорю о том, что такого быть не должно, что это ошибка, не счетная, а идеологическая и хорошо бы было, чтобы ее исправили. Но никто ничего не исправляет. Вы, видимо, уже к этому привыкли, а я еще нет. Вот и кричу: "Льву не додают мяса ... и тд" - думаю, Вы помните - у Хазанова такая интермедия была. Вот и в данном случае, боюсь, мы немного не понимаем друг друга: я говорю о факте наличия этих разрывов по краям диапазонов значений, о том, что в документации об этом ни слова, о том, что именно из-за этого приходится немного усложнять и если вы этого не знаете, то влипаете не по своей вине. А Вы говорите, что ввести ограничение диапазона просто. Так я и не говорю, что сложно, я говорю о том, что наличие разрывов при преобразовании типов данных - это неправильно. Вот что было содержанием моего высказывания.
    Последний раз редактировалось Михаил Иванович; 09.02.2013 в 20:56.

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

    По умолчанию

    Как раз затем, чтобы обойти эту неверность
    Для этого и я LIMIT внедряю, если знаю что он нужен. Только это не неверность. Это нормальное преобразование отрицательного значения в время. Даже иногда использую конструкции типа int_to_time(-1). Время же - кольцеобразно а не линейно.
    И что должно быть в документации ? Правила целочисленного исчисления ?

  10. #20

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Для этого и я LIMIT внедряю, если знаю что он нужен. Только это не неверность. Это нормальное преобразование отрицательного значения в время. Даже иногда использую конструкции типа int_to_time(-1). Время же - кольцеобразно а не линейно.
    И что должно быть в документации ? Правила целочисленного исчисления ?
    Что же в этом нормального? Смотрите сами - область определения этой функции непрерывна (отвлечемся от дискретности задания, говорим об аналитическом виде). А область значений - разрывна. Ужель Вы считаете это нормальным?
    Нормально, на мой взгляд, было бы, если бы разрывов не было. А их сделали. Зачем? Ведь используя ограничение вы как раз и ликвидируете это явление.
    А в документации, на мой взгляд, должно было бы быть указание на то, что у этого преобразования есть такое свойство. Уж коль его таким сделали.
    Последний раз редактировалось Михаил Иванович; 10.02.2013 в 06:27.

Страница 2 из 7 ПерваяПервая 1234 ... ПоследняяПоследняя

Похожие темы

  1. ТРМ133-У.01. Нет управляющего сигнала на выходе 0-10в.
    от Алекс111 в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 17.06.2011, 16:45
  2. FB PID_FUNCTION на выходе -1.#QNAN
    от olegV в разделе ПЛК1хх
    Ответов: 0
    Последнее сообщение: 21.12.2010, 20:27
  3. об аналоговом выходе плк-63
    от maksimov в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 01.03.2010, 20:27
  4. Пульсации на аналоговом выходе ТРМ, ПЛК
    от Казак в разделе Подбор Оборудования
    Ответов: 2
    Последнее сообщение: 10.04.2009, 13:50

Ваши права

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