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

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

  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,264

    По умолчанию

    не позаднему фронту надо отправлять второй раз, а когда ответ придет от первого запроса
    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,869

    По умолчанию

    Цитата Сообщение от 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

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

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

Ваши права

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