Получение данных из Автограф C#
Добрый день!
Не так давно появилась задача написать ПО которое будет аккамулировать данные с ПО Автографа и сравнивать их с другими данными. Задался вопросом, как без участие человека можно их получить. Хотелось бы узнать у людей может быть кто как то расскавырял .sbin файл, и может быть кто знает что в нем лежит. Может быть техподдержка подскажет :) Либо примеры кода C# интересуют. Вообщем кто может поделится опытом буду рад:) Кто даст действительно полезную информацию с меня вознаграждение :) |
Wade, ковырять sbin файл бесполезно, вам необходимо через COM сервер получить из ПО АвтоГРАФ нужные данные, пробег расход заправки остановки и т.д. Описание COM сервера есть в папке с ПО при установке инсталлятором
Описание COM-сервера АвтоГРАФ.doc Описание полей DBF для данных.doc Описание полей DBF для списков.doc Добавлено через 14 минут Wade, читать sbin примерно так же как читать .mdf вместо выполнения запроса Select from ... go |
Цитата:
Просто я думаю корректно было бы получать данные из файлов чем через COM объекты. Сейчас почитаю что можно выжать с OLE |
Цитата:
Цитата:
Цитата:
|
Wade, Если вы захотите работать с sbin вам нужно будет с нуля написать обработчик той телеметрии что в этих файлах записана.
Используйте OLE, вы получите уже обработанные данные, готовые для восприятия человеаком |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Wade, поясните Вашу задачу. В sbin лежат именно что "сырые" данные, упакованные побитно в записи для максимальной компактификации при передаче через GSM и другие сети связи. Упаковка данных "фирменная ручная" безо всяких сериализаторов. "Сырые" данные - означает, что они неотфильтрованные и, если, например, Вы посчитаете по ним пробег простым сложением длин отрезков от точки до точки, то получите полную чушь. То же самое касается топлива и ряда других параметров. У Вас задача написать свою систему с нуля или получить уже правильные данные, обработанные алгоритмами, которые дорабатывались годами ? Со всеми задетектированными событиями, заправками, сливами, превышениями, остановками и прочими штуками через сервис http://wiki.tk-chel.ru/index.php/AutoGRAPH.NET_Service или OLE/COM. Зачем расковыривать SBIN вообще ? Если Вам так хочется - сервер АвтоГРАФ умеет на лету реплицировать поступающие данные не только в sbin, но и в SQL-БД или любые другие источники данных, поддерживаемые MS ODBC. Там "сырые" данные (те же самые, что пишутся в sbin) уже будут разложены в удобном виде по полям и таблицам. Пользуйтесь на здоровье, если хотите сами всё обрабатывать и проходить все грабли. Если же надо просто последнее местоположение - то для этого есть специальный открытый формат запроса к нашему серверному ПО для этого. P.S.: sbin расковыривать можете попробовать, но это может оказаться неэффективно, т.к. мы, ввиду проприетарности формата, меняем его без предупреждения при доработках и "распаковщик" для одной прошивки может оказаться бессильным или некорректно работающим при другой прошивке. И, по опыту, Вы будете обвинять нас, что приборы выдают что-то неправильное. ))) |
Цитата:
|
Цитата:
|
Цитата:
|
Добрый день, возник вопрос по поводу AutoGRAPHAutomationClass.
Читал форум и наткнулся на то что ребята юзали какую то DLL с этим классом. Класс для .net. Может у кого завялились файлики? Т.к не смог их насерчить в рунете( |
Цитата:
|
Хм, тот же ОЛЕ, я думал кто то свой класс навоял :) Тогда такой вопрос. COM сервера одинаковые у 4 и 5 версии?
|
Цитата:
|
Цитата:
Примеры там же. Если что неясно по примерам или по специфике - спрашивайте. |
Цитата:
Отправьте запрос в техподдержку - Вам вышлют. Либо используйте AutoGRAPH.NET Service для получения этих и многих других данных. |
Данные забираю AGDataLoader. Настроил AG.NET Service без авторизации. Схема по умолчанию Demo. Делаю запрос. Пишет:"Cant find or load schema Demo". В логах видно, что ищет файл demo.xml. Как бы логично. В докуметации нигде никаких упоминаний не нашел( вопрос - где взять? .. или хотя бы формат.
|
ko24, это демо схема, загрузите десктоп по с демо схемой, там будет этот файл
|
Цитата:
дело в том. что у дилера авторгаф сервер 4.. соотвественно у меня клиентское ПО 4.0.6 .. а там все по другому.. теперь встал вопрос где взять файл схемы по моим приборам?.. |
Цитата:
2) импортировать карлисты или 2) использовать CLConverter для конвертации .ini в схемы. |
Цитата:
1. Поставил, имортировал, AG5.Pro работает, схему как-то экспортировать надо ли достаточно просто c:\ProgramData\AutoGRAPH Shell cскопировать? делаю запрос devices = client.EnumDevices(schemaName); 12:07:02 DEBUG xmlLoad: kss 12:07:02 ERROR GSC.initSchema: kss, error: An error occured during the deserialization: Invalid value: Auto. See details in the inner exception. 12:07:02 DEBUG GSC.initSchema: kss, error: в Polenter.Serialization.SharpSerializer.Deserialize (Stream stream) в Polenter.Serialization.SharpSerializer.Deserialize (String filename) в AutoGRAPHShell.Classes.LocalDiskStorage.[](String , String , Boolean ) в AutoGRAPHService.AutoGRAPHSvcBase.(String , String , GlobalSettings ) 12:07:02 ERROR WCF 10.0.2.49:53002 kss EnumDevices Exception[System.ServiceModel.FaultException`1[System.InvalidOperationException]]: Can't find or load schema: kss 2. а при конвертации сразу выдает ошибку C:\CLConverter>CLConverter.exe -tpl=Template -source=E:\CarsList\*.ini -target-dir=C:\CLConverter\1 -target-schema=kss Необработанное исключение: System.TypeInitializationException: Инициализатор типа "AutoGRAPHShell.Classes.GlobalSettings" выдал и сключение. ---> System.IO.FileNotFoundException: Не удалось загрузить файл или сборку "AddressBase, Version=1.0.0.0, Culture=neut ral, PublicKeyToken=null" либо одну из их зависимостей. Не удается найти указанный файл. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
http://wiki.tk-chel.ru/index.php/CLC..._AutoGRAPH.NET Установка CLConverter не требует установки, достаточно скачать последнюю версию отсюда и распаковать в локальный каталог. спасибо. заработало |
Цитата:
|
var tracks = client.GetTrack(schemaName, deviceIDs, datebegin, dateend, 0);
foreach (var track in tracks) { i = track.Value.Index; } Пишет "SystemArray" не содержит определения для "Index" и не был найден метод расширения .. и т.д. хотя public class RTrackInfo { public int Index { get; set; } // № трека по порядку рейса (аналогично рейсам), нумерация с 0. public DateTime[] DT { get; set; } // даты/времени точек (в UTC) public double[] Speed { get; set; } // скорость в точках public double[] Lat { get; set; } // широты public double[] Lng { get; set; } // долготы } что я делаю не так? .. подскажите как правильно написать? в примерах именно этого то и нет(.. делал по аналогии с GetOnlineInfo AGService.net от 30.05.2016 |
Цитата:
|
долгое подключение к COM серверу через DLL
Здравствуйте, необходимо получить данные о ТС (пробеги, стоянки) из "своего" ПО
делаю так: var Autograph: Variant; begin Autograph := CreateOleObject('AutoGRAPH.AutoGRAPHAutomation'); Autograph.StartComputing('CarList.ini', Dev_ID, '01.01.2021 00:00:00', '10.01.2021 00:00:00')), 'GSM', 0); пробегТС=Autograph.TripDistance; Работает быстро, если открыто диспетчерское ПО. теперь необходимо обернуть этот код в dll. при использовании DLL время выполнения составляет 10-15 секунд (DLL использует FireBird как UDF для получения данных в запросах) Подскажите что нужно для сокращения времени выполнения? именно в DLL очень долго создается объект Autograph := CreateOleObject('AutoGRAPH.AutoGRAPHAutomation'); и не важно запущено диспетчерское ПО или нет |
Текущее время: 09:02. Часовой пояс GMT. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot