Страница 10 из 13 ПерваяПервая ... 89101112 ... ПоследняяПоследняя
Показано с 91 по 100 из 130

Тема: Универсальный диспетчер для Modbus.lib

  1. #91

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    выключить, стоп, включить - непомогает?
    Это самое первое что пробовал. Индикация подтверждает переключение тумблера, но результата нет. Да и заливка чистой прошивки должна была восстановить работу т.к. насколько я понял при прошивки очищается вся память и заливаются новые файлы с настройками (сетевые и т.д.). Но всё тоже самое - пытается стартовать, начинает моргать сетевой (LAN) светодиод, всё гаснет и по новой. На ПК даже не успевает определить USB подключение (обычно сразу пиликал и в диспетчере появлялось новое USB-устройство).

  2. #92

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    непонял какой тумблер когда говорили о старом, но раз плк БЕЗ программы чудит - в ремонт.
    у меня ПЛК110 М01. Сказали что это какой-то промежуточный между ПЛК110 и ПЛК110 М02. Он уже идёт с тумблером, как на М02

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

    По умолчанию

    Тогда еще короче : плк БЕЗ программы чудит - в ремонт

  4. #94

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    если просто перенести код 2-го КДС в 3-й, то должно заработать.
    Уточните, с библиотеками. В проекте подключаются две библиотеки GCTimers и GCCommon. Они используются в диспетчере? Нужно ли и как их перенести в CDS3?

    Вроде бы разобрался... GCCommon специально для ПЛК110, т.е. для ПЛК307 не нужна, а вторая нужна.

    Всё перенёс, пока в работе не пробовал. Немного отличается использование библиотеки ComService.

    Ещё проблема... в CDS3 на "Enable := NOT Mdl.pDisp^.ReadInpRegs.Read" ругается, посмотрел библиотеку Modbus... там нет переменной READ... Как задавать Enable для опроса? Read это локальная переменная, странно что к ней есть доступ... Могу ли я использовать для этих целей Complete?
    Последний раз редактировалось Sergeba; 20.01.2020 в 11:57.

  5. #95
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Ещё проблема... в CDS3 на "Enable := NOT Mdl.pDisp^.ReadInpRegs.Read" ругается, посмотрел библиотеку Modbus... там нет переменной READ... Как задавать Enable для опроса? Read это локальная переменная, странно что к ней есть доступ... Могу ли я использовать для этих целей Complete?
    Поясню по Enable.

    Все блоки из библиотеки Modbus.lib активируются по переднему фронту переменной Enable.
    Если посмотреть реализации, которые предлагают в примерах от разработчика библиотеки Modbus.lib, там можно встретить такие конструкции.
    Шаг Х
    Блок1(Enable := true);
    if Блок1.Complete then
    Блок1(Enable := false);
    end_if;

    Так пишется, чтобы, когда мы в следующий раз попали на шаг Х снова появился фронт на входе Enable.
    На мой взгляд, так некрасиво.

    Вызов

    Шаг Х
    Блок1(Enable := not Блок1.Read);

    позволяет формировать фронт, не дублируя вызов Блока1.
    Так при первом заходе на шаг Х (Read = false) и мы сформировали фронт на входе Enable.
    При втором заходе Read = true и мы записали в Enabel ложь. А значит, когда в следующий раз мы попадем на шаг Х, то снова появиться фронт на входе Enable.

  6. #96

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение

    позволяет формировать фронт, не дублируя вызов Блока1.
    Так при первом заходе на шаг Х (Read = false) и мы сформировали фронт на входе Enable.
    При втором заходе Read = true и мы записали в Enabel ложь. А значит, когда в следующий раз мы попадем на шаг Х, то снова появиться фронт на входе Enable.
    Ок, я понял. В отсутствии Read что я могу использовать?

    Прочитал Ваш ответ в той теме...Попробую скомпилировать с Read.
    Последний раз редактировалось Sergeba; 20.01.2020 в 14:33.

  7. #97
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Евгений Кислов, указывает, что Read ("читаю") в CDS3 имеет имя xBusy, т.е. "занят".

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

    По умолчанию

    xBusy - это в стандартных компонентах (в дереве проекта) и нашей новой библиотеке OwenCommunication.
    В библиотеке Modbus (версия 3.5.4.3) нужная локальная переменная называется m_xReqSend - это аналог Read из библиотеки Modbus для Codesys V2.3.

  9. #99

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    нужная локальная переменная называется m_xReqSend - это аналог Read из библиотеки Modbus для Codesys V2.3.
    Не получается... Опрос не идёт. Ошибка modbus - TimeOutError. Похоже эта переменная не даёт опросить модуль.

    Отбой! Заработало. Handle по другому нужно прописывать:

    CDS2: ComHandle := Mdl.pDisp^.Settings.Port,
    CDS3: ComHandle := Mdl.pDisp^.COM_SERVICE1.Handle,
    Последний раз редактировалось Sergeba; 25.01.2020 в 21:20.

  10. #100

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    не пробовали обычным способом работать с модбас?
    Первое что сделал - через конфигуратор - ОТСТОЙ. Модули валятся, связь не восстанавливается, через костыли (нашёл на форуме) нашёл возможность их переподключать, но из-за частых отключений бывает теряются передаваемые комманды, иногда отваливается так, что не восстанавливается. Повторюсь - ОТСТОЙ.

    Второе - был свободный ПЛК110 - на нём собрал "Универсальный диспетчер" - заработало, с огрехами. но на порядок стабильнее. Но вот незадача - крякнул ПЛК...

    Третье - написал на ПЛК307 на бибке, без диспетчера... Работает, тоже с огрехами, не уверен в надёжности - долго не проверял (но заметил, что система стала отзываться медленнее, чем через конфигуртор) т.к. вспомнил про "Универсальный диспетчер" - решил его прикрутить...чем и занимаюсь сейчас.
    Последний раз редактировалось Sergeba; 25.01.2020 в 21:21.

Страница 10 из 13 ПерваяПервая ... 89101112 ... ПоследняяПоследняя

Похожие темы

  1. Универсальный блок питания ПР114
    от sea в разделе Программируемые реле
    Ответов: 12
    Последнее сообщение: 13.10.2013, 22:56
  2. PCLogger - универсальный логгер для CDS v3
    от Mikhail Shvetsov в разделе ПЛК3хх
    Ответов: 0
    Последнее сообщение: 23.11.2012, 14:39
  3. Универсальный Modbus Сервер Инсат и 200 контроллеров ПЛК-100
    от lomtik в разделе Сетевые технологии
    Ответов: 17
    Последнее сообщение: 08.11.2012, 23:42
  4. Универсальный конфигурируемый регулятор
    от ОООСА в разделе Разработки
    Ответов: 32
    Последнее сообщение: 09.12.2009, 22:12
  5. Ответов: 7
    Последнее сообщение: 04.05.2009, 10:42

Ваши права

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