FAQ

  • 1. Вопросы, связанные с Прошивкой

    • 1.1 Потеря нескольких первых байт данных.

      Вопрос: У меня всегда теряются первые 5 байт первого блока данных, полученных от DS в начале коммуникации. Я пытался перезагрузить Tibbo модуль с помощьюе "Е" команды, но результат тот же. В чем может быть проблема?

      Ответ: Одна из возможных причин такого поведения кроется в неправильных настройках двух параметров: "Start on any char" и "Use Start charachter". Если оба эти параметра установлены в значение "No", то DS устройство не имеет специфичного символа, с которого нужно начать передачу данных, но при этом одновременно он не может начать работать с первого символа. Происходит конфликт и первые байты данных в начале коммуникации теряются.

  • 2. Сетевые проблемы

    • 2.1 IP адрес по умолчанию для устройств Tibbo.

      Вопрос: по каким-то причинам я не вижу Tibbo устройство в локальной сети (используя DS Manager). Не могли бы вы подсказать какой установлен ip адрес по умолчанию?

      Ответ: IP адрес по умолчанию для Tibbo устройств обычно устанавливается в так называемую "петлю" – 127.0.0.1. Это не адрес локальной сети – это ссылка устройства на само себя. Другими словами, вы не сможете найти устройство tibbo по этому адресу.

      Однако, это не означает, что вы не сможете найти устройство вообще. DS модули выполнены таким образом, чтобы их можно было обнаружить даже при некорректном адресе. Это достигается путем отправки ответов на широковещательные broadcast запросы.

      Скорее всего, в вашем случае проблема кроется в конфигурации сети или в конфигурации файерволла (сетевого антивируса, брандмауэра и т.д.), которые часто блокируют широковещательные пакеты.

      В этом случае вам необходимо настроить ip адрес устройства на корректный адрес локальной подсети.
      Это можно сделать используя режим последовательного доступа в утилите DS Manager, описанный здесь.

  • 3. ПО Device Server Toolkit

    • 3.1 Ошибка от InstallShield во время установки TDST.

      Вопрос:Когда я пытаюсь установить на компьютер ваше ПО (TDST), возникает ошибка: “Unhandled exception. Error number: 0x80070725. Description: incompatible RPC stub version”. В чем может быть проблема?

      Ответ: Эта проблема известна создателям ПО InstallShield, которое используется при установке Tibbo Device Server Toolkit. Чтобы посмотреть решение проблемы, пожалуйста, пройдите по ссылке.

    • 3.2 "iKernel.exe" не может быть установленн.

      Вопрос: Пытаюсь установить Device Server Toolkit для Windows, которое скачал с вашего сайта архивом "TDST_xxx.exe", но после нажатия по кнопке "Setup" появилось сообщение об ошибке: "The install shield Engine ("iKernel.exe") could not be installed. The system cannot read from the specified device".

      Ответ: Это известный баг от InstallShield. На некоторых компьютерах происходит ошибка инсталяции, когда ее производят прямо из само-распаковывающегося архива. Чтобы избежать этой проблемы - скачайте архиватор ZIP, с его помощью извлеките содержимое архива и запустите файл "setup.exe".
      Больше информации по данной проблеме можно найти по данной ссылке.

    • 3.3 DS Manager не может подключится к DS устройство через режим Address Book после смены MAC адреса.

      Вопрос: Имеется ваш конвертер. Я настроил ip адрес и получал доступ к устройству через режим "Address Book". Все хорошо работало. Потом я поменял MAC адрес устройства. И теперь, при попытке обращения к устройству, я получаю ошибку “there was no response from this device server.” Почему?

      Ответ: Для успешного обращения утилиты DS Manager к устройству Tibbo, необходима корректная пара MAC и IP адресов. Их соответствие содержится в arp таблице операционной системы Windows. При замене MAC адреса, операционная система не сразу обновляет свою arp таблицу, поэтому некоторое время в ней содержаться старые значения и как следствие вы не можете получить доступ к устройству. Если вы не хотите ждать, когда Windows автоматически обновит таблицу, вы можете запустить командную строку (Пуск -> Выполнить -> CMD) и набрать там команду "arp -d". Данная команда удалит записи arp таблицы, чем спровоцирует Windows обновить эти записи.

    • 3.4 VSP не отвечает в диспетчере устройств Windows (ошибка 41).

      Вопрос: Я установил набор утилит TDST на компьютер (ОС Windows), создал виртуальный COM-порт (VSP). Запускаю свое приложение, но оно выдает ошибку "COM-порт не отвечает". В диспетчере устройств Windows виртуальный COM-порт отображается с желтой иконкой и иногда видно ошибку: “The Hardware for the installed software not found, Error code 41” (Оборудование для установленного программного обеспечения не найдено, код ошибки 41). Что я должен делать?

      Ответ: Эта ошибка связана с использованием последовательного счетчика Windows с нашим драйвером виртуального COM-порта (VSPD).

      Сам факт регистрации VSPD в системном счетчике последовательных портов является хорошей идеей. Это позволяет ОС определять и автоматически устанавливать последовательные устройства, подключенных к DS, что необходимо для работы некоторых "умных" устройств (plug-and-play).

      Но когда вы работаете с VSPD на ноутбуке или настольном ПК, которые не имеют какого-либо типа последовательного устройства может возникнуть ошибка регистрации в счетчике. Таким образом, если вы столкнулись с ошибкой такого типа, попробуйте отключить данную регистрацию.

      Для этого необходимо:
      1. Удалите все Виртуальные порты.
      2. Откройте файл "tvsp.inf" через блокнот (полный путь: "C:\\WINDOWS\inf\tvsp.inf").
      3. Найдите следующие строчки:

      [PortInstall.nt.hw.AddReg]
      HKR,,”UpperFilters”,0x00010000,”serenum”

      4. Закомментируйте символом ";" вторую строку (это и есть отмена регистрации в счетчике). После изменений должно быть так:
      [PortInstall.nt.hw.AddReg]
      ;HKR,,”UpperFilters”,0x00010000,”serenum”
      Сохраните изменения.

      5. После модификации .inf файла вы можете создавать новые виртуальные COM-порты. С ними больше не должно быть проблем.

  • 4. VSPD для Linux

    • 4.1 Доступ к Виртуальному COM-порту (VSP) от пользователя, не являющегося "Root".

      Когда вы создаете новые VSP, используя утилиту VSPM, то они часто создаются в виде узлов "root", принадлежащих "root" группе. Например, как здесь:

      "crw-rw---- 1 root root 101, 0 2010-08-02 12:15 vsps0"

      Самый простой способ, добавить доступ к портам для доступа не "root", это применить "chmod" соответствующим образом:
      "chmod o+rw /dev/vsps0"

  • 5. Варианты Использования

    • 5.1 Система с несколькими получателями (DS100/EM100 отправляет данные на несколько других DS100/EM100).

      Вопрос: Можно сделать так, чтобы одно устройство Tibbo (DS) отправляло данные сразу на несколько других устройств Tibbo?

      Ответ: Да, это возможно.
      Как пример, можно рассмотреть работу сетевых часов. Когда существует один сервер синхронизации и он в заданный интервал времени посылает сообщение синхронизации множеству сетевых часов. В данном случае пакеты сервера должны дойти до всех часов подсети и отклонений быть не должно (или должны быть минимальны).

      Прежде всего вам необходимо использовать последнюю прошивку (SOI), которую можно скачать с сайта производителя. Прошивка SOI поддерживает многоадресную рассылку.

      Во-вторых, многоадресная рассылка возможно только при использовании протокола UDP, посылая broadcast (широковещательные) пакеты. Использование протокола TCP/IP не возможно В ПРИНЦИПЕ, т.к. данный протокол по своему определению является протоколом точка-точка. Таким образом, TCP протокол может держать только ОДНО соединение в данный момент времени. Некоторые наши клиенты полагают, что вместо broadcast UDP протокола, можно использовать обычный TCP, просто присвоив один и тот же ip-адрес нескольким хостам сети. ЭТОГО ДЕЛАТЬ НЕЛЬЗЯ. Данный метод в лучшем случае приведет к конфликту ip адресов и часть устройств не будет видно в сети вообще.

      Для посылки broadcast пакетов необходимо сделать следующее:

      1. Установите параметр "Transport Protocol" (TP) в UDP режим.
      2. Установите параметр "Destination IP-address" (DI) в значение "255.255.255.255". Это адрес многоадресной рассылки. Пакет данных с таким адресом назначения принимают все хосты подсети.
      3. Установите параметр "Broadcast UDP" (BU) всех принимающих Tibbo устройств в значение 1 (enabled). Если этот пункт не будет выполнен, то Tibbo устройства будут игнорировать широковещательные пакеты (и это способ - исключить модуль tibbo из приема многоадресных пакетов).
      4. На передающем устройстве установите параметр "Routing mode" в режим 2-client only или 1-Server or Client (Master). Параметр "Connection mode" установите в значение 1-On Data or Command (Спасибо Андрею Гурову за данное примечание).

      Потенциальные проблемы:

      Данная система не лишена слабых мест:
      1. Доставка таких сообщений не является гарантированной. Нет 100% гарантии, что UDP пакеты достигнут получателя (это специфика протокола). В нашем примере с часами выше, это не критично, т.к. потеря некоторых пакетов для хоста в данном случае не критична. Убедитесь, что в вашей системе потеря некоторых данных также не является критичной.

      2. Broadcast, по своей природе, не может проходить сквозь роутеры (мосты, файрволы, и т.д.). Таким образом только устройства данной локальной подсети могут получить такое сообщение.
      Примечание: часто udp broadcast пакеты запрещены файерволами, антивирусами и прочими программами сетевой защиты. Если у вас установлен софт для сетевой защиты и если Вы реализуете такую систему передачи данных, убедитесь, что созданы соответствующие разрешающие правила для программ сетевой защиты.

  • 6. Язык программирования Tibbo BASIC

    • 6.1 Бесконечный цикл вызванный переполнением.

      Вопрос: Я использую цикл от 0 до 255. Но цикл никогда не кончается, почему?

      Ответ: В среде разработки TIDE процедуры обработки переполнения переменной как таковой нет. Точнее, среда не отображает ошибки, не вызывает исключения. При переполнении переменной просто отбрасывается старший значимый разряд числа в шестнадцатеричной форме, при условии что число больше, чем может хранить переменная.

      Пример:

      dim b as byte
      b = 255 + 5

      Переменная B является байтовой величиной и максимальное значение, которое может быть сохранено в этой переменной FF. При данной операции (hex(FF)+hex(5)) мы получаем число hex(104). Так как байт может хранить только 2 цифры числа, среда просто отбросит старший разряд, в результате переменная b примет значение hex(04) или просто 4.

      Резюмируя: тип переменной byte может хранить данные в диапазоне от 0 до 255. Если значение превышено, то переменная начинает отсчет с 0. Вот почему стоит с осторожностью использовать циклы с такими переменными.
      Пример:
      dim b as byte
      dim j as byte
      b = 0
      j = 0
      for b = 250 to 255
      j = j+1
      next b

      В первом приближении, пользователь может подумать что цикл находится в верхнем допустимом диапазоне переменной b и сработает корректно, пройдя 6 итераций.
      На самом деле это БЕСКОНЕЧНЫЙ цикл.
      Чтобы понять это, обратимся к последней итерации, когда b=255. Обработчик программы обработает очередное тело цикла, увеличив значение j на единицу. Но на этом цикл на закончен.
      Обработчик переходит на следующую строку "next b", в очередной раз увеличивая значение b, а т.к. мы уже имели максимальное значение, переменная просто обнулилась. Обработчик в очередной раз обращается к началу цикла, чтобы проверить условие выхода и обнаруживает, что условие не выполнено и совершается очередная итерация.
      Таким образом, цикл приведенный в примере бесконечный.

  • 7. Сопутствующее ПО

  • 8. Аппаратное применение

    • 8.1 Один блок питания на два оконечных устройства с интерфейсом RS485.

      Вопрос: Я пытаюсь подключить свое устройство к модулю DS100B по интерфейсу RS485 (2 метровым кабелем). У меня получились странные результаты:

      - Когда оба устройства запитываются от одного блока питания (12В), соединение по RS485 интерфейсу не работает.
      - Когда каждое устройство запитано от отдельного блока питания, 485-й интерфейс начинает работать.
      - Когда оба устройства запитываются от одного блока питания, но вместо RS485 используется RS232 интерфейс, также все работает.

      Почему так получается? Какие есть предположения?

      Ответ: Такие результаты и должны быть! Когда вы подключаете два устройства на один блок питания, устройства получают одну и ту же "землю" (минус сигнал блока питания).

      RS485 интерфейс не может работать когда оба конца линии подключены на одну и ту же землю, для данного интерфейса необходима отдельная земля на каждом конечном оборудовании.

      Таким образом, это не специфика нашего устройства, это требование протокола RS485.

      Так что в вашем случае вы должны использовать два блока питания.

  • 9. Встраиваем модули

    • 9.1 Встраиваем модуль EM на плату с потенциалом линий 3.3В.

      Вопрос: Я хочу распаять устройство EM (EM100, EM120) на плате, которая имеет потенциал линий приема/передачи (Rx/Tx) 3.3В. Это возможно? Нужно ли что либо сделать, чтобы такая схема заработала?

      Ответ: В общем случае ситуация нормальная и все должно работать. Но есть примечание:
      С линией RX (вход модуля EM) проблем никаких не будет.
      Что касается линии Tx (передача от модуля EM) – вы должны убедиться, что сигнал "качели" с диапазоном 0-5В не повредит вашей схеме. Обычно проблем нету, т.к. устройства с номиналом 3.3В как правило выпускаются по принципу "5В-совместимы".

    • 9.2 Минимум высокого логического уровня и максимум низкого логического уровня.

      Вопрос: Какими являются напряжения для максимального входа логического нуля и минимального входа логической единицы для Tibbo модулей?

      Ответ: Tibbo устройства основаны на КМОП схемах.

      Это означает, что пороговый уровень находится около значения в 2.5В. Входное напряжение ниже 2.5В будет восприниматься как логический ноль. Входное напряжение выше выше 2.5В будет считаться как логическая единица.

  • 10. Общие вопросы

    • 10.1 Как просмотреть CHM файлы?

      Вопрос: я скачал один из ваших CHM файлов, но не могу посмотреть его! Windows выдает мне какое-то сообщение безопасности. Ваш файл нерабочий?

      Ответ: Файл полностью рабочий. Причина сообщения заключается в настройках политики безопасности Windows.

      Чтобы исправить это, проделайте следующие шаги:
      - Откройте папку, в которой сохранен ваш CHM файл.
      - Кликните правой клавишей мыши по файлу и выберите пункт "Свойства"
      - На главной вкладке внизу вы увидите безопасность и описание.
      - Сделайте клик на кнопке "Разблокировать" для получения доступа к контенту CHM файла.

      Помните, что проделанные действия позволяют получить доступ к одному конкретному файлу. Остальные CHM файлы на вашем компьютере по-прежнему могут оставаться заблокированными.

    • 10.2 Добрый день!
      Возможно ли применение Вашей системы TPS на транспорте, в условиях низких температур и вибрации?
      Когда ожидается выход: "Tibbit #38: Кнопка (механическая, нажимная)"?
      С уважением,
      Иван.

      Добрый день. Да, применение оборудования Tibbo возможно и на транспорте. Рабочая температура материнских плат TPP от -40 до +70 градусов Цельсия. Для "гашения" вибрации, на плату устанавливается дополнительная пластина, защищающая тиббиты от выпадения при сильной вибрации. Tibbit #38 "кнопка нажимная" есть в наличии.

      С уважением, Виталий.

  • 11. Общие вопросы. Сети

    • 11.1 Устройство DS (или EM) не работает с Хабом!

      Вопрос: Мои устройства DS не работают, когда они подключаются к 10BaseT Хабу. В этом случае зеленый светодиод на устройстве постоянно горит, но любая попытка соединения с модулем невозможна (пинги не проходят, DS Manager не находит модуль ни в Auto discovery, ни в address book режимах). Когда я подключаю DS напрямую к 100BaseT свитчу (зеленый и желтые светодиоды статуса соединения включены) все начинает работать хорошо.
      Нет ни каких мыслей о причине такого поведения?

      Ответ: DS прекрасно работает со всеми стандартными типами хабов. Тем не менее, есть важный аспект, который необходимо помнить: на сегодняшний день на рынке представлено очень много “умных” хабов, запоминающие с кем они работают. Позвольте показать вам пример:

      PC ←→ 100BaseT HUB ←→ EM202 (работает)
      PC ←→ 100BaseT HUB ←→ 10BaseT HUB ←→ EM202

      Вы проверили первую схему. Все работает. Потом подключили по второй - не работает. Во втором случае вам необходимо отключить питание 100BaseT Хаба, а потом опять включить его. Это позволит очистить внутреннюю таблицу соответствий MAC адресов у 100BaseT хаба!
      Несмотря на некоторые преимущества, часто данные таблицы не удобны для работы. Например, попробуйте подключить модуль EM202 на другой порт 100BaseT Хаба – велика вероятность, что связи не будет! Сначала, Вам необходимо сбросить значения таблицы хаба, а потом уже переносить EM202 на другой порт.