Страница 723 из 1040 ПерваяПервая ... 223623673713721722723724725733773823 ... ПоследняяПоследняя
Показано с 7,221 по 7,230 из 10399

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

  1. #7221

    Post Modbus коммуникация, ПЛК100.

    Привет всем, я новичок в Codesys, и знаю что это избитая тема насчет примеров библиотеки Modbus.lib. Я прошел уже посвящение нулевым портом RS-485 и знаю что он должен быть INVALID. Проблема сейчас такая что функции совместно в одной программе не хотят работать, а если я одну функции Modbus вызываю то все проходит без проблем. Основная программа написана на LD, А блоки на ST. Суть программы заключается в том, что по переднему фронту отправляется первая функция а по заднему вторая. Может дело в таймаутах? таймауты для функций выбирал разные 10, 50, 100, 300 ms. Да и еще странность когда отправляю запрос, флаг Complete false, при следущей отправке, true и exception 255(ошибка таймаута). Использовании в ПК Modbus уже более менее освоен, но в плк не могу понять всех тонкостей.

    Вложение 44879 Основная программа
    Вложение 44878 Блок для COM-порта
    Вложение 44880 Первая Modbus-функция
    Вложение 44881 Вторая Modbus-функция

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

    По умолчанию

    не позаднему фронту надо отправлять второй раз, а когда ответ придет от первого запроса
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  3. #7223

    По умолчанию

    Ну структура программы такая, что по переднему стробу у меня первая команда сбрасывает сумматор у расходомера, а вторая по заднему останавливает счет. Следовательно за продолжительность импульса я узнаю накопленный объем.

  4. #7224

    По умолчанию

    Здравствуйте!
    Пытаюсь реализовать команду ПУСК/СТОП для частотника Hitachi L300P. Нужно менять бит COIL по адресу 1.
    Подскажите пожалуйста, как в Codesys 2.3 выполнить установку единичного выхода команда modbus 0х05 по Modbus/TCP? Если можно с примером.

  5. #7225
    Пользователь Аватар для Rednaxel
    Регистрация
    15.05.2015
    Адрес
    Минск
    Сообщений
    19

    По умолчанию

    Цитата Сообщение от domovenok100 Посмотреть сообщение
    Здравствуйте!
    Пытаюсь реализовать команду ПУСК/СТОП для частотника Hitachi L300P. Нужно менять бит COIL по адресу 1.
    Подскажите пожалуйста, как в Codesys 2.3 выполнить установку единичного выхода команда modbus 0х05 по Modbus/TCP? Если можно с примером.
    Добрый день! Вы что-то упустили в описании задачи: какое именно устройство Вы пытаетесь запрограммировать с помощью CodeSYS?

  6. #7226

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Вы реестре подстановку для шрифта Helv делали или просто думаете, что шрифт панели не поменяется?
    В реестре поменял, шрифты панелей не изменились. Зато в окнах настроек компонентов визуализации шрифт поменялся.

  7. #7227

    По умолчанию

    Всем привет. Вопрос. Как при программной остановке выполнения программы сбросить состояние всех переменных и таймеров в исходное состояние? Программа на ST.

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

    По умолчанию

    Вероятно прописать установку переменных в исходное по событию (например по нажатию кнопки "стоп"). Таймер сбрасывает отсчет в отсутствии сигнала на входе ( вход таймера:=false).

  9. #7229

    По умолчанию

    Добрый день.

    var
    циклы : (исходная_позиция, отработка, продолжать_дальше, прервать_процесс ...);
    t : time;
    время_например : time := t#3s;
    определися_таки : bool;
    -------------
    case циклы of
    исходная_позиция:
    if запустил_процес_на_отработку then
    t := time();
    циклы := отработка;
    end_if
    отработка :
    if концевик then
    циклы := продолжать_дальше;
    elsif time() - t > время_например then
    циклы := sel(определися_таки, исходная_позиция, прервать_процесс);
    end_if
    продолжать_дальше:
    ... ;
    прервать_процесс:
    ... ;
    end_case

    Кто подскажет как это все организовать в FBD или LD

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

    По умолчанию

    Цитата Сообщение от Val64 Посмотреть сообщение
    Добрый день.

    var
    циклы : (исходная_позиция, отработка, продолжать_дальше, прервать_процесс ...);
    t : time;
    время_например : time := t#3s;
    определися_таки : bool;
    -------------
    case циклы of
    исходная_позиция:
    if запустил_процес_на_отработку then
    t := time();
    циклы := отработка;
    end_if
    отработка :
    if концевик then
    циклы := продолжать_дальше;
    elsif time() - t > время_например then
    циклы := sel(определися_таки, исходная_позиция, прервать_процесс);
    end_if
    продолжать_дальше:
    ... ;
    прервать_процесс:
    ... ;
    end_case

    Кто подскажет как это все организовать в FBD или LD
    1. Компилируешь проект
    2. дереве проекта ПКМ
    Вложение 45053
    3. Выбираешь LD или FBD. Задаешь новое имя
    Вложение 45054
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Страница 723 из 1040 ПерваяПервая ... 223623673713721722723724725733773823 ... ПоследняяПоследняя

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

Ваши права

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