Автор: Андрей Ронжин
Дата: 12.04.07 13:21
> Я смотрю, все решения, которые существуют организованы при помощи
> терминала TC65 (или подобного устройства с поддержкой java).
Мы использовали Sony-Ericsson GR64, он достаточно дешёвый, и в нём программа
пишется на собственном (от Wavecom как я понимаю), Си - подобном скриптовом
языке. Думаю, это не последняя альтернатива.
>
> Неужели нигде не рассматривался вариант, чтобы контроллер сам
> организовывал tcp/ip или udp стеки. А в качестве модема использовать
> какой-нить дешевенький mc35 (или еще что-нибудь в этом роде)?
Дело в том, что сам GPRS подразумевает использование стека протоколов TCP/IP
для обработки траффика и биллинга в сетях ОПЕРАТОРА GSM.
Иначе вместо GPRS используйте GSM modem, там сможете организовать любые
cтеки протоколов. Хотя накладно выйдет (по тональному каналу то)...
Хотя в принципе, технически это возможно. Только нужно иметь собственную GSM
вышку. О цене здесь стоит промолчать... :) А дешёвенькие модемы обладают
ограниченными возможностями и не всегда позволяют делать то, что требует
техническое задание.
>
> В чем здесь могут возникнуть сложности? На серверной стороне,
> которая общается непосредственно со SCADA или еще где-нибудь?
>
Андрей, поймите одно, при передаче данных через по GPRS в этом процессе
участвуют не только контроллер и SCADA, а еще и третья (определяющая !)
сторона - оператор сотовой связи, он то и налагает все ограничения с
которыми приходится бороться (скорость передачи, задержки передачи пакетов и
т.д. и т.п.) Все потому что сам GSM/GPRS это канал связи с множественным
доступом, да еще и с временным разделением. Был бы Ethernet или RS-232, то и
проблем бы не было !
> TO Андрей Ронжин
>
> Решение - супер!
Спасибо.
> Я так понимаю - это Ваша собственная реализация, так?
Да, так, и контроллер СКЗ, и ОРС сервер и программное обеспечение GPRS
модемов.
> Только у меня уточняющие вопросики: в качестве ОРС-сервера может
> использоваться любой ОРС-сервер, поддерживающий контроллеры на
> клиентской стороне(удаленные точки), так или нет?
> Если так, то здесь может быть использован обычный ОРС-modbus, так?
Такое решение возможно, с некоторыми оговорками.
GPRS сеть - это не канал обмена мгновенными сообщениями. Существуют
некоторые задержки при доставке, причём они зависят и от меняющейся нагрузки
на сотовые станции тоже. Если OPC-modbus сможет обрабатывать пакеты, между
данными/байтами которых присутствуют временные пробелы, всё будет работать.
Т.е. OPC-modbus сервер должен обрабатывать потоковые данные, и не смотреть
на время поступления данных. Многие устройства и программы себе такого не
позволяют.
Часто пакет считается не принятым, если в нём встречается временной пробел
размером в интервал, равный времени передачи 2х-3х символов. Тогда такой
вариант работать не будет.
>
> И еще, правильно ли я понял, что каждый клиент видится в виде
> отдельного сом порта и инициатором связи является все-таки
> орс-сервер, тогда вопрос: Вы устанавливаете какой-то драйвер для того
> чтобы было несколько сом-портов или как?
Да, такое решение вполне возможно сделать. Тогда, при вышеназванном условии
всё будет работать. И в системе будет столько портов, сколько клиентов
(клиентских устройств) вы имеете.
Инициатором установления связи может выступать кто угодно, но для этого вы
должны каждому устройству назначить статический IP-адрес, если оператор
сотовой связи вам это позволит. Сервер может инициировать связь с любым
клиентом. У нас клиенты имеют динамические адреса, поэтому инициатива
установления канала связи идёт от них, т.к. сервер не узнает IP адрес
клиента до тех пор пока клиент с ним не свяжется. Клиент же знает адрес
сервера, т.к. этот адрес статический, его выделяет оператор сотовой связи и
это адрес зашит в клиентских модемах.
После установленного канала связи сервер может запрашивать данные у
клиентских устройств. ПОДЧЕРКНУ: на уровне передачи данных ПОСЛЕ
УСТАНОВЛЕНИЯ СОЕДИНЕНИЯ кто будет запрашивать, а кто отвечать - ЛИЧНО ВАШЕ
РЕШЕНИЕ.
Считайте, что вы соединили устройства нуль-модемным кабелем.
В нашем случае устройство как раз из серии "не разрывай пакет".
Поэтому протокол был реализован В САМИХ МОДЕМАХ. Если рассматривать modbus
(у наших устройств протокол иной), это означает, что например, OPC-modbus
делает запрос, этот запрос передаётся определённому клиентскому GPRS модему,
тот проверяет пакет, и целиком перенаправляет контроллеру, затем, дождавшись
ответа, передаёт данные серверному GPRS модему. Тот, в свою очередь также
собирает и проверяет пакет, если всё в порядке, передаёт пакет целиком
OPC-modbus серверу.
Только в этом случае всё работает как надо.
Хочу еще добавить несколько слов. Наша реализация проекта не единственная и
уникальная. Вариантов можно придумать бесконечное количество. Мы исходили из
того, что у нас уже был контроллер со своим протоколом и интерфейсом RS232,
но он работал через пакетный контроллер и радиомодем. Когда встал вопрос о
работе через GPRS, было принято решение ничего не менять в контроллере, а
всю нагрузку в связи с новыми условиями возложить на GPRS модем. Это вариант
и был реализован.
С уважением,
Дегтярёв С.В.
НПП <АВМ-ГАЗ>,
Г. Оренбург
>
>
>
> --
> С уважением,
> Андрей mailto:dron@xxxxxxx.xxx
>
|
|