Страница 436 из 1054 ПерваяПервая ... 336386426434435436437438446486536936 ... ПоследняяПоследняя
Показано с 4,351 по 4,360 из 10539

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

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

    По умолчанию

    Цитата Сообщение от Spawn Посмотреть сообщение
    ..В инструкции написано 4 мА = 0, 20 мА = 1...мне например нужно 12 мА, какое значение соответствует данному сигналу, 0.5? ..
    y := (x - x0) / (x1 - x0) * (y1 - y0) + y0 //5-6й класс школы. Просто школы

    Если непонятно - занимайтесь гуглением волшебных функций.
    Если понятно - util.lib, lin_trafo

  2. #4352

    По умолчанию

    Учусь программировать в CoDeSys V2.3. Создал простенькую программу. В режиме эмуляции работает. При подключении ПЛК73 связь устанавливается, появляется окно загрузки программы в контроллер.
    Все нормально, состояние выходов и входов контроллера меняется и это видно в окне CoDeSys. Затем связь разрываю, отключаю ПЛК от компьютера. Пробую запустить программу в контроллере - никакой реакции.
    Снова подключаю ПЛК к PC. Если в CoDeSys пытаюсь открыть файл из ПЛК, то получаю ответ: "последний онлайн-сервис был завершен некорректно! Номер сервиса:49, номер ошибки:80 Файл 'source.dat' не читается. Исходный файл не может быть считан." А в режиме онлайн CoDeSys опять все в порядке. Что я делаю не так, подскажите.

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

    По умолчанию

    ..ПЛК73..Если в CoDeSys пытаюсь открыть файл из ПЛК
    В 73-ем нет файловой системы

  4. #4354

    По умолчанию

    А в чем может быть причина невыполнения программы в самом контроллере без CoDeSys?

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

    По умолчанию

    Ошиблись в 7й строке программы

  6. #4356

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    y := (x - x0) / (x1 - x0) * (y1 - y0) + y0 //5-6й класс школы. Просто школы

    Если непонятно - занимайтесь гуглением волшебных функций.
    Если понятно - util.lib, lin_trafo
    Спасибо, конечно за подсказку, но зачем на школе акцент делать? Да, не все помнится из школьного курса, нет в этом ничего сверхъестественного. Обычный человеческий фактор, когда человек не пользуясь, в течении длительного времени, теми или иными приобретенными знаниями, постепенно их утрачивает.

  7. #4357

    По умолчанию

    Я написал программу для ПЛК110.32-М и время цикла 10ms статистик показывает Вложение 20372 я так понимаю что это 1,6ms проходит на обработку моей программы но почему когда на 4 счётчика приходит один и тот же сигнал (импульсы) но на 1,2,3 и 4 вход ПЛК при частоте около 40 герц они работают нормально но если только свеше 60 герц они считают по разному Вложение 20373 мне нужно чтоб они (счётчики) работали нормально и стабильно считали около 100 герц.
    Подскажите как мне это сделать?

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

    По умолчанию

    Цитата Сообщение от ООО "БЛС инжинеринг" Посмотреть сообщение
    Я написал программу для ПЛК110.32-М и время цикла 10ms статистик показывает Вложение 20372 я так понимаю что это 1,6ms проходит на обработку моей программы но почему когда на 4 счётчика приходит один и тот же сигнал (импульсы) но на 1,2,3 и 4 вход ПЛК при частоте около 40 герц они работают нормально но если только свеше 60 герц они считают по разному Вложение 20373 мне нужно чтоб они (счётчики) работали нормально и стабильно считали около 100 герц.
    Подскажите как мне это сделать?
    Чтобы входы ПЛК могли фиксировать импульсы, время цикла должно быть не более периода следования импульсов деленного на два, т.е. для частоты импульсов 100 Гц, цикл не более 5 мс при условии, что сигнал на входах ПЛК имеет форму меандра, т.е. скважность импульсов равна 2 и фильтрация для дискретных входов отключена в конфигурации (Time of filtration = -1).

    ЗЫ. Вы это подтвердили экспериментально.
    ...время цикла 10ms... когда на 4 счётчика приходит один и тот же сигнал (импульсы) но на 1,2,3 и 4 вход ПЛК при частоте около 40 герц они работают нормально...
    При времени цикла 10 мс, частота на входе ПЛК должна быть не более 50 Гц.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #4359

    По умолчанию

    Здравствуйте. Программирую на языке CFC. Столкнулся с проблемой сохранения вводимых с панели переменных. В примерах подходящий пример нашёл. Но написан на другом языке. Помогите перевести кусочек программа на язык CFC:

    rtrig_pwr(CLK:=pwr_stat); (*Триггер отслеживающий передний фронт по появлению питания, переменная pwr_stat -флаг питания модуля Statistic*)

    IF rtrig_pwr.Q THEN (*По появлению питания, передаём ,в переменную для записи в панель, значение сохраненное во временной retain-переменной до отключения питания*)
    write:=Read_retain;
    ELSE (*Если питание в данном цикле не менялось, то записываем текущее значение с панели в retain-переменную*)
    read_retain:=read;
    END_IF

    TOF_wr(IN:=rtrig_pwr.Q , PT:=T#3s); (*Из-за задержки между появлением питания и старта программы ПЛК вводим задержку, т.е в течении заданного времени ПЛК после появления питания будет записывать данную переменную в панель*)
    IF TOF_wr.Q THEN
    comWrite:=255; (*Запись переменную write в панель*)
    ELSE
    comWrite:=254; (* Отмена записи*)
    END_IF

    С общим принципом разобрался. Дошел до команды THEN. А дальше тупик. Что за команда в CFC? Вызываемый блок не имеет входов, есть один только выход. Как на него цеплять условия? или я чего-то не понимаю.
    Спасибо за ответ.

  10. #4360
    Пользователь Аватар для _Mikhail
    Регистрация
    25.07.2013
    Адрес
    Ярославль
    Сообщений
    510

    По умолчанию

    Цитата Сообщение от wulf Посмотреть сообщение
    IF TOF_wr.Q THEN ECЛИ (IF) появится сигнал на выходе TOF_wr.Q TO (THEN)
    comWrite:=255; (*Запись переменную write в панель*) переменная comWrite:=255
    ELSE ИНАЧЕ (ELSE)
    comWrite:=254; (* Отмена записи*)переменная comWrite:=254
    END_IF КОНЕЦ УСЛОВИЯ
    Примерно так

Страница 436 из 1054 ПерваяПервая ... 336386426434435436437438446486536936 ... ПоследняяПоследняя

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

Ваши права

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