Автор Тема: Обмен данными с DTCIS  (Прочитано 1867 раз)

Оффлайн vpmx

  • Старенький
  • **
  • Сообщений: 23
  • Карма: +2/-0
    Обмен данными с DTCIS
    « : 14 Апрель 2015, 00:53:32 »
    Коллеги нужна небольшая помощь в написание драйвера для устройства сбора данных. Работа идёт по двум направлениям:
    1. Передача данных в DTCIS по протоколу Wits
    2. Передача данных в DTCIS с произвольного устройства.
    1. Связи с эти есть вопрос, кто может помочь с исходником протокола для связи с сервером кодов?
    2. Необходимо просниферить пару минут связь с ИМС-3Т или 2Т, буду очень благодарен, готов поделиться конечным результатом.

    Оффлайн REA

    • Розов Евгений Анатольевич
    • Глобальный модератор
    • *****
    • Сообщений: 1310
    • Карма: +85/-62
      • GeoSensor
    Re: Обмен данными с DTCIS
    « Ответ #1 : 14 Апрель 2015, 04:41:40 »
    Коллеги нужна небольшая помощь в написание драйвера для устройства сбора данных. Работа идёт по двум направлениям:
    1. Передача данных в DTCIS по протоколу Wits
    2. Передача данных в DTCIS с произвольного устройства.
    1. Связи с эти есть вопрос, кто может помочь с исходником протокола для связи с сервером кодов?
    2. Необходимо просниферить пару минут связь с ИМС-3Т или 2Т, буду очень благодарен, готов поделиться конечным результатом.

    А не поясните с какой целью возникла такая необходимость?

    Оффлайн vpmx

    • Старенький
    • **
    • Сообщений: 23
    • Карма: +2/-0
      Re: Обмен данными с DTCIS
      « Ответ #2 : 14 Апрель 2015, 05:50:32 »
      Я занимаюсь разработкой ПО и систем сбора для ГТИ в одной крупной Американской компании, на волне импортозамещения. Нужно проверить  возможность по совместимости dtcis c geolog, WellWIzard и т.д. Эти системы сбора генерируют wits0 данные. Это сделает систему dtcis абсолютно универсальной.

      Оффлайн REA

      • Розов Евгений Анатольевич
      • Глобальный модератор
      • *****
      • Сообщений: 1310
      • Карма: +85/-62
        • GeoSensor
      Re: Обмен данными с DTCIS
      « Ответ #3 : 14 Апрель 2015, 06:31:27 »
      А откуда будут передаваться данные в DTCIS? Вы связывались с разработчиками?

      Оффлайн nick2

      • Старенький
      • **
      • Сообщений: 31
      • Карма: +1/-0
        Re: Обмен данными с DTCIS
        « Ответ #4 : 14 Апрель 2015, 14:39:30 »
        Коллеги нужна небольшая помощь в написание драйвера для устройства сбора данных. Работа идёт по двум направлениям:
        2. Передача данных в DTCIS с произвольного устройства.
        1. Связи с эти есть вопрос, кто может помочь с исходником протокола для связи с сервером кодов?
        Для первого вопроса: делайте всё через сервер кодов, я так данные со своих датчиков передавал.
        Протокол для сервера кодов можно понять через "Ручной имитатор данных ГТИ"(в пакете с DTCis он есть). Внизу окна на панели состояния как раз указана информация, которую он передаёт в сервер кодов.
        « Последнее редактирование: 14 Апрель 2015, 14:43:01 от nick2 »

        Оффлайн vpmx

        • Старенький
        • **
        • Сообщений: 23
        • Карма: +2/-0
          Re: Обмен данными с DTCIS
          « Ответ #5 : 14 Апрель 2015, 17:22:19 »
          У меня в комплекте почему-то только автоматический, можете прислать ручной?
          Заранее спасибо.

          Оффлайн Семёнов Павел

          • Начинающий
          • *
          • Сообщений: 1
          • Карма: +1/-0
            Re: Обмен данными с DTCIS
            « Ответ #6 : 21 Апрель 2015, 16:08:31 »
            Привет всем.

            Ваша проблема решается очень просто.
            В программу «Сервер Кодов» версия 1-70(314) добавлен сервер приема данных от драйверов по протоколу TCP (сокет-сервер) порт 17235.

            На первые символы // не обращай внимания, это сишный комментарий.
            Текст заключенный <!-- … --> это XML-комментарий, который тоже не надо вставлять в пакет, так как это просто мое пояснение. Для меня не важно оформление и сдвиги как в XML, я все это проглочу, важны начало и конец каждого блока или значения, а также всего пакета. То есть можно писать все в одну строчку или каждый блок на новой строчке со сдвигами.
            <..> - начало блока или значения
            </…> - конец блока или значения

            Пакет Данных в кодовой таблице WINDOWS от клиента:

            //  <driver>  - начало пакета
            //
            //      <!-- Блок информации о драйвере или устройстве, выводимое в окне Сервера Кодов.
            //           Блок высылается один раз после установки соединения и при изменении
            //           параметров устройства. Без этой информации поступающие данные будут
            //           игнорироваться. -->
            //      <info>  - начало блока
            //          <id>123</id> - идентификатор хранения настроек привязки каналов в сервере (больше 0)
            //          <name>Имя драйвера</name>     - наименование
            //          <maxchannels>32</maxchannels> - количество каналов (больше 0)
            //      </info> - конец блока
            //
            //      <!-- Блок данных каналов, поступающих от устройства. Список каналов находится
            //           в интервале 1...<maxchannels> и может быть не полным, то есть меньше <maxchannels>.
            //           - Значение канала <value> может быть только целым числом.
            //           - Код состояния канала <status>:
            //              0 - ошибка по каналу, значение неопределено
            //              1 - корректное значение канала в цифровых кодах или др.величине
            //              2 - значение после корректировки канала
            //              3 - корректное значение канала в микровольтах
            //              4 - корректное значение канала в микроамперах
            //           - Дата блока данных <datetime> используется, если устройство является
            //             синхронизирующим. -->
            //      <data>  - начало блока
            //          <datetime>YYYYMMDDHHNNSSsss</datetime> - дата и время блока данных
            //          <channel>  - начало блока данных канала
            //              <number>1</number>        - номер канала в драйвере
            //              <value>1234567890</value> - значение канала
            //              <status>1</status>        - состояние значения канала
            //          </channel> - конец блока данных канала
            //          ...
            //      </data> - конец блока
            //
            //  </driver> - конец пакета

            Например:
            <driver>
                  <info>
                      <id>123</id>
                      <name>Хроматограф СГА-05</name>
                      <maxchannels>8</maxchannels>
                  </info>
                  <data>
                      <datetime>20070205114152200</datetime>   - это время 5.2.2007 11:41:52.200
                      <channel>
                          <number>1</number>
                          <value>1234567890</value>
                          <status>1</status>
                      </channel>
                      <channel>
                          <number>2</number>
                          <value>12345</value>
                          <status>1</status>
                      </channel>
                      <channel>
                          <number>5</number>
                          <value>67890</value>
                          <status>1</status>
                      </channel>
                  </data>
            </driver>

            На каждый такой пакет, распознанный сервером, сервер отвечает результатом операции в виде:

            //  <driver>  - начало пакета
            //
            //      <!-- Блок возвращаемого результата. Блок возвращается клиенту на каждый пакет данных.
            //           Список кодов ошибок:
            //               больше 0 - успешно. Код возвращается только при приеме блока информации
            //                   о драйвере или устройстве. Значение содержит максимальное количество
            //                   каналов, которое Сервер Кодов смог выделить для данного устройства.
            //               0 - успешно
            //              -1 - нет места для размещения данных устройства
            //              -2 - ошибка открытия Базы кодов, регистрация данных невозможна
            //              -3 - неверная регистрационная информация
            //              -4 - дублирование идентификатора. Драйвер с таким идентификатором уже
            //                   присоединен к Серверу Кодов -->
            //      <result>  - начало блока
            //          <code>0</code>              - код выполнения операции
            //          <error>Текст ошибки</error> - текст ошибки (необязательно)
            //      </result> - конец блока
            //
            //  </driver> - конец пакета

            Например:
            <driver>
                  <result>
                      <code>0</code>
                      <error>Текст ошибки</error>
                  </result>
            </driver>

            Оффлайн 127486

            • Старожил
            • ****
            • Сообщений: 510
            • Карма: +34/-9
              Re: Обмен данными с DTCIS
              « Ответ #7 : 01 Май 2015, 13:38:07 »
              В последнее время наблюдается высокая активность программистов, технари заняты все видимо.

              Оффлайн vpmx

              • Старенький
              • **
              • Сообщений: 23
              • Карма: +2/-0
                Re: Обмен данными с DTCIS
                « Ответ #8 : 01 Май 2015, 17:04:19 »
                Всем большое спасибо, тема закрыта.

                 



                Покер онлайн