Показано с 1 по 8 из 8

Тема: Помогите с OwenioNet для .NET C#, ТРМ1 System.TimeoutException

  1. #1

    По умолчанию Помогите с OwenioNet для .NET C#, ТРМ1 System.TimeoutException

    Пробую создать приложение с получением данных (температура) от ТРМ1-Щ1.У2.У.RS и их выводом на Visual Studio C# с библиотекой OwenioNet.dll и OwenioNet.DataConverter.dll. Читая описание протокола OWEN и мануал к библиотеке OwenioNet , а также читая форум с поисках рабочего примера я написал следующий код.



    Код:
                int adresTrm = 16; //пробовал писать 0x16 / ошибка также не уходит
    
                SerialPortAdapter spOwen2 = new SerialPortAdapter(3, 9600, Parity.None, 8, StopBits.One);
                spOwen2.Open();
    
                var owenProtocol = OwenProtocolMaster.Create(spOwen2);            
                if (spOwen2.IsOpened != true)
                {                    
                    MessageBox.Show("Ошибка открытия порта COM1: {0}", spOwen2.ToString());
                }
    
                owenProtocol.OwenRead(adresTrm, AddressLengthType.Bits8, "Fun1");//без индекса          // тут ошибка System.TimeoutException: "Время ожидания операции истекло."
                owenProtocol.OwenRead(adresTrm, AddressLengthType.Bits8, "Fun1", 0x3456);//c индексом
    
                owenProtocol.OwenWrite(adresTrm, AddressLengthType.Bits8, "Fun1", new byte[] { 0x45, 0x87 });//без индекса
                owenProtocol.OwenWrite(adresTrm, AddressLengthType.Bits8, "Fun1", new byte[] { 0x45, 0x87 }, 0x3456);//с индексом (это переработанный пример из документации. не думаю что индекс в моём варианте нужен
    
                spOwen2.Close();
    На строчке owenProtocol.OwenRead(adresTrm, AddressLengthType.Bits8, "Fun1");
    Получил ошибку "System.TimeoutException: "Время ожидания операции истекло.""

    Почитал ещё темы у меня честно нет понимания почему так происходит. По задумке как я понял должно работать а оно не работает.
    Предполагаю что я пишу неверное адрес но оба варианта не подходят. Ни 16 ни 0x16. (адрес именно такой в настройках ТРМ)
    Тип протокола RS-485 на самом ТРМ как я понял надо поставить ASCII.
    Owen Monitor например нормально подключается и отображает температуру. Owen Configurator тоже подключается и можно посмотреть конфиги.
    А вот программа на C# подключается НО будто бы не получает то что нужно или не отправляет. я не могу понять. Пишу подобные программы впервые. До этого имел опыт разве что работы с ардуинкой.

    Я скачал программу Serial Port Monitor, и прослушал порт, что бы понимать что там происходит.
    Из того что я понял приложение отправляет в порт сообщение. Но в ответ получает нули. (почему?..) Я тестировал и приём данных и запись. Оба варианта дают ошибку.
    В компьютер от ТРМ в USB воткнут вот этот конвертер. (напомню что Owen Monitor с ним нормально работает)
    usb_rs485_1_d.jpg


    Что я делаю не так? И как должно быть?

    Мне нужно всего-то вывести данные с 6 таких ТРМов в приложение большим шрифтом что бы видно было с далека. (поэтому увы Owen Monitor не подходит.)
    Задача вроде простая но я стопарюсь на самом старте.



    попытка чтения
    попытка чтения — копия.PNG


    попытка записи
    попытка записи — копия.PNG
    Последний раз редактировалось suiginto; 08.07.2025 в 03:13. Причина: Добавил информацию

  2. #2
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    адрес в приборе настроен на 8 бит или на 11 бит? у Овен протокола вроде два варианта.

  3. #3

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    адрес в приборе настроен на 8 бит или на 11 бит? у Овен протокола вроде два варианта.
    Я в Owen monitor видел выбор 8N1, и с этими настройками он работал. Это как раз 8 бит , отсутствие бита четности, и 1 стоповый бит.

  4. #4
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    Я не про скорость и настройки порта, я про адресацию устройства, для протокола Овен там адрес или 8 бит или 11 бит если не ошибаюсь.

    Структура кадра протокола ОВЕН:
    Маркер начала кадра — информирует о начале посылки.
    Адрес прибора в сети — может быть 8 или 11 бит.
    Бит запроса — равен 1, если это команда запроса параметра счётчика, 0 — если это ответ счётчика.

  5. #5

    По умолчанию

    Добрый день.
    Обновлённые ТРМ с интерфейсом RS-485 не поддерживают протокол ОВЕН. Только Modbus RTU или Modbus ASCII.

    Owen Monitor и Owen Configurator обращаются к прибору по Modbus.
    Инженер по продукту ПЛК

    e-mail: a.pineko-skvortsov@owen.ru

  6. #6

    По умолчанию

    Цитата Сообщение от Александр Пинэко-Скворцов Посмотреть сообщение
    Добрый день.
    Обновлённые ТРМ с интерфейсом RS-485 не поддерживают протокол ОВЕН. Только Modbus RTU или Modbus ASCII.

    Owen Monitor и Owen Configurator обращаются к прибору по Modbus.
    Какие тогда есть варианты общения с ним на C#? Что посоветуете для решения задачи?

  7. #7

    По умолчанию

    Цитата Сообщение от suiginto Посмотреть сообщение
    Какие тогда есть варианты общения с ним на C#? Что посоветуете для решения задачи?
    Modbus - открытый протокол. Вы можете поискать реализации библиотек для C# в Интернете.
    Инженер по продукту ПЛК

    e-mail: a.pineko-skvortsov@owen.ru

  8. #8
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    suiginto вопрос по вашей конечной задаче при реализации на C# ?

    как вариант, чтобы не заниматься писаниной всего и вся, используйте в качестве шлюза RapidScada, там Modbus мастер бесплатный из коробки, как и ядро Scada. Далее либо пишите на C# дополнение в Scada в тех частях, которые вам необходимы. Либо забирайте данные теми способами, которые предоставляет Scada.

Похожие темы

  1. помогите настроить трм1
    от Mr.zlo в разделе Эксплуатация
    Ответов: 114
    Последнее сообщение: 04.10.2018, 09:45
  2. TPM202, Modbus, C#, System.TimeoutException
    от Tiruno в разделе Помощь Разработчикам
    Ответов: 7
    Последнее сообщение: 18.03.2016, 17:38
  3. Помогите настроить ТРМ1
    от Fedos в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 19.08.2009, 08:35
  4. помогите пожалуйста!!! ТРМ1-Н.У.Р и датчик ДТС 125 -50М
    от Артем чЕС в разделе Эксплуатация
    Ответов: 13
    Последнее сообщение: 22.02.2009, 15:26
  5. Помогите с ТРМ1
    от Денис777 в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 28.11.2007, 14:09

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

Ваши права

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