Страница 17 из 131 ПерваяПервая ... 715161718192767117 ... ПоследняяПоследняя
Показано с 161 по 170 из 1308

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

  1. #161
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    СПК105 +M110. Пытаюсь освоить библиотеку Modbus руководствуясь документом СПК.Модбас (пример стр. 123). Возникли следующие вопросы:

    1. Судя по коду примера инициализация настроек и открытие порта происходит каждый раз при вызове программы задачей. Разве нельзя один раз порт открыть?

    2. Почему у меня порт открывается и начинается обмен тогда когда параметр порта Delay достигает значения 200? Что это за параметр? См.Картинку.IMG1.jpg

    Сначала запустил код и подумал что ничего не работает. Потом смотрю, щёлкнули релюхи в модуле. В итоге обнаружил такое дело. Ни описания этого параметра в библиотеке ни доступа к нему не обнаружил (((.
    Последний раз редактировалось Number17; 12.11.2016 в 17:39.

  2. #162
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    [QUOTE=capzap;227086]чтоб так не подумать, нужно открыть данную библиотеку и посмотреть из чего она состоит, она написано форумчанином, кто хочет обходится без неё, кто не желает сам думать над этим вопросом просто её использует, кто всё же задумался редактирует эту бибку под себя [/QUOT]

    Перед использование библиотеку изучал, как по мануалу, так и смотрел её состав в Менеджере библиотек. Параметра Delay не нашёл. О нём ничего не сказано в и документе.
    Для COM_Service описаны параметры Enabled, settings, sets_ex, task, ready, handle. Параметры Delay, Opened, res не нашёл где описаны.

  3. #163
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,171

    По умолчанию

    Это локальные переменные ФБ. Вполне логично, что они не описываются - пользователь все равно не может с ними работать и для него они не должны представлять интерес.

    Порт открывается только один раз, т.к. открытие происходит по фронту Enable.

  4. #164
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Это локальные переменные ФБ. Вполне логично, что они не описываются - пользователь все равно не может с ними работать и для него они не должны представлять интерес.

    Порт открывается только один раз, т.к. открытие происходит по фронту Enable.
    Хорошо, с открытием разобрались. Но всё же смысл задержки можно узнать? Почему COM_Service. Ready принимает значение TRUE после того как Dalay дотикает до 200? ( в моём случае).

  5. #165
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,171

    По умолчанию

    Я не могу достоверно прокомментировать причину наличия задержки - мне известно только то, что изначально библиотека была написана под ПЛК для CDS V2.3 и потом портировалась в третий CODESYS. Но если задача выполняется с циклом 10 мс (что характерно для задач, связанных с обменом), то задержка составляет 2 с. Если это является критичным, то придется написать свой блок, выполняющий схожие функции.

    Поднятый вопрос известен и уже зафиксирован в списке пожеланий по доработке библиотек.

  6. #166
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Я не могу достоверно прокомментировать причину наличия задержки - мне известно только то, что изначально библиотека была написана под ПЛК для CDS V2.3 и потом портировалась в третий CODESYS. Но если задача выполняется с циклом 10 мс (что характерно для задач, связанных с обменом), то задержка составляет 2 с. Если это является критичным, то придется написать свой блок, выполняющий схожие функции.

    Поднятый вопрос известен и уже зафиксирован в списке пожеланий по доработке библиотек.
    В моём случае задержка длиться чуть более 3-х минут. Но и цикл исполнения задачи = 500мс. Попробую уменьшить цикл задачи, посмотрю что получится. Спасибо за ответ.

    Дополню: изменил цикл задачи на 20 мс. Задержка исчезла, практически не наблюдается. Delay практически после запуска принимает значение 200.
    Последний раз редактировалось Number17; 12.11.2016 в 19:19.

  7. #167
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    Заседание продолжается ))). В продолжение вчерашней темы - обмен с использование библиотеки Modbus.
    СПК105+МУ110-8Р. Столкнулся сегодня с такой штукой: после открытия порта и запуска ФБ MB_WR_REGS данные установки состояния портов записываются в модуль, порты устанавливаются в соответствии с установленными значениями. В последующих циклах ничего не происходит, хотя данные установки портов меняются, в буфер данных записываются, на модуле мигает светодиод "RS-485", ошибок нет т.е. MB_WR_REGS.Exception = 0. Цикл задачи обмена 20 мс. В чём дело? Чего не хватает?

  8. #168
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    не понятно, Вы чего ожидаете то? Вроде пишите, чтоесли под портами понимаются выхода модуля, получается всё правильно работает
    Выхода устанавливаются только в самом первом цикле обмена после запуска программы и открытия порта. Далее, когда мне надо записать другое значение, то модуль не меняет состояния порта. Я меняю данные в буфере, выкидываю их в линию с помощью MB_WR_REGS, но модуль не меняет состояния входов.

  9. #169
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    Выкладываю:
    Данные которые нужно вывести на выхода модуля содержаться в глобальной переменной MY110_8R_out, в эту переменную они вводятся из текстового поля.
    Ещё мне не понятен смысл 35 строка кода. Делал как в примере, там выполняется это действие. Но без этой строки вылетает ошибка MB_WR_REGS.Exception = 255.
    Изображения Изображения
    • Тип файла: jpg Code.jpg (143.8 Кб, Просмотров: 36)

  10. #170
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    ну во первых массив MY110_8R_buf у вас начинается с нулевого индекса, глобальную переменную Вы пытаетесь записать в первый индекс,т.е. во второй регистр для отправки, но в самой отправке количество посылаемых регистров равно одному. Другими словами записывать надо в MY110_8R_buf[0]:=MY110_8R_out;
    Вот чем собственно руководствовался:Text1.jpg. Хотя в примере рассматривается работают с модулем МУ110_16р, а я с МУ110-8р работаю. Но предполагаю описанное в примере верно и для МУ110-8р.

Страница 17 из 131 ПерваяПервая ... 715161718192767117 ... ПоследняяПоследняя

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 14:38

Ваши права

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