eMT612A и CANBus

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

eMT612A и CANBus

Сообщение ast0r » 11 фев 2014, 11:44

Здравствуйте!Впервые работаю с панелью.Возникла проблема при разработке ПО для данной модели.При создании проекта на C#,Visual Studio подключается к устройству и можно отлаживать программу,но только со стандартными компонентами Windows CE.Через установленную sdk для данной модели добраться к Can-ну не получается,она только для C++.Если же создать проект через Visual C++,то не возможно подключится к устройству.

Подскажите, пожалуйста, как подружить устройство с Visual Studio, что бы можно было произвести отладку приложения?Не знаю куда уже копать.
ast0r
 
Сообщения: 11
Зарегистрирован: 22 янв 2014, 11:41

Re: eMT612A и CANBus

Сообщение ast0r » 21 фев 2014, 15:10

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

Подскажите пожалуйста,если взять другую модель, eMT3150A,проблем с подключением к EasyBuilderPro не возникнет?Получения и обработка данных с CAN шины там доступна?Не каких sdk дополнительных устанавливать не нужно?
ast0r
 
Сообщения: 11
Зарегистрирован: 22 янв 2014, 11:41

Re: eMT612A и CANBus

Сообщение den_po » 24 фев 2014, 12:12

Доступ к последовательным интерфейсам предоставляют драйверы. Работа с ними из C++ и C# принципиально не отличается - нужно открыть "файл" с именем порта и работать с открытым файлом.
Доступное оборудование можно найти в реестре в ветках HKEY_LOCAL_MACHINE\Drivers\Active и HKEY_LOCAL_MACHINE\Drivers\BuiltIn. Для шины CAN это должен быть файл "CAN1".

Для панелей, программируемых из EasyBuilder[Pro], никаких sdk устанавливать не нужно, потому что приложение в этом случае не пишется, а настраивается готовое. Вы можете скачать EasyBuilderPro и создать проект для оценки доступной функциональности. Можно также скачать проект, демонстрирующий работу протокола CANOpen ftp://ftp.weintek.com/eMT3000/Project/2 ... CANbus.zip
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: eMT612A и CANBus

Сообщение ast0r » 25 фев 2014, 15:36

Большое спасибо за ответ,den_po!Помогло сдвинутся с места!
ast0r
 
Сообщения: 11
Зарегистрирован: 22 янв 2014, 11:41

Re: eMT612A и CANBus

Сообщение ast0r » 26 фев 2014, 13:07

С места сдвинулся и заткнулся... подключиться к порту CAN1 вышло, но получаю одни нули. Как вообще общаться CAN-ом на этом устройстве? Как установить скорость передачи данных?Я понимаю, что общение идет через драйвер, но нигде нет описания или искал не там где нужно:(
ast0r
 
Сообщения: 11
Зарегистрирован: 22 янв 2014, 11:41

Re: eMT612A и CANBus

Сообщение VanMo » 26 фев 2014, 15:04

ast0r писал(а):С места сдвинулся и заткнулся... подключиться к порту CAN1 вышло, но получаю одни нули. Как вообще общаться CAN-ом на этом устройстве? Как установить скорость передачи данных?Я понимаю, что общение идет через драйвер, но нигде нет описания или искал не там где нужно:(

Попробуйте сделать как в этом примере.
Вложения
canbus.zip
(5.44 КБ) Скачиваний: 701
VanMo
 
Сообщения: 376
Зарегистрирован: 16 авг 2011, 09:31

Re: eMT612A и CANBus

Сообщение den_po » 01 июл 2014, 11:54

Три простых примера использования CAN:
simplesend - просто передаёт один единственный пакет
echo - слушает порт, все приходящие пакеты отправляет обратно
master - в одном потоке передаёт пакеты, в другом принимает (передача и приём не связаны)
Вложения
examples.zip
(20.89 КБ) Скачиваний: 645
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: eMT612A и CANBus

Сообщение ast0r » 02 июл 2014, 11:11

Спасибо за пример, den_po. Хотел бы еще спросить какой набор инструментов использовать и как правильно его настроить . Установлено VS2008, Standart SDK for Windows CE.NET, WinCE600_515_SDKv2, Windows Embedded CE 6.0/R2, Microsoft ActiveSync. При запуске отладки выдает много синтаксических ошибок, где то нужно указать какие то пути для проекта? Впервые работаю с WinCE и Visual C++.
ast0r
 
Сообщения: 11
Зарегистрирован: 22 янв 2014, 11:41

Re: eMT612A и CANBus

Сообщение den_po » 02 июл 2014, 11:39

Именно при начале отладки, или при компиляции? Можете процитировать содержимое окна "вывод" ("output")?
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: eMT612A и CANBus

Сообщение ast0r » 02 июл 2014, 11:47

Вернее при компиляции)

Код: Выделить всё
\CanDemoMaster.cpp(20) : error C2146: синтаксическая ошибка : отсутствие ')' перед идентификатором 'baudrate'
1>.\CanDemoMaster.cpp(20) : error C2146: синтаксическая ошибка : отсутствие ';' перед идентификатором 'baudrate'
1>.\CanDemoMaster.cpp(20) : error C2377: DWORD: переопределение; typedef нельзя перегрузить другим символом
1>        C:\Program Files\Windows CE Tools\wce600\WinCE600_515_SDK\include\ARMV4I\windef.h(160): см. объявление 'DWORD'
1>.\CanDemoMaster.cpp(20) : error C2059: синтаксическая ошибка: )
1>.\CanDemoMaster.cpp(21) : error C2470: baudrate: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции
1>.\CanDemoMaster.cpp(96) : error C2146: синтаксическая ошибка : отсутствие ')' перед идентификатором 'size'
1>.\CanDemoMaster.cpp(96) : error C2182: SendCanDummyMessage: недопустимое использование типа "void"
1>.\CanDemoMaster.cpp(96) : error C2059: синтаксическая ошибка: )
1>.\CanDemoMaster.cpp(97) : error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>.\CanDemoMaster.cpp(97) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>.\CanDemoMaster.cpp(130) : error C2146: синтаксическая ошибка : отсутствие ')' перед идентификатором 'duration'
1>.\CanDemoMaster.cpp(130) : error C2182: BenchTx: недопустимое использование типа "void"
1>.\CanDemoMaster.cpp(130) : error C2059: синтаксическая ошибка: )
1>.\CanDemoMaster.cpp(131) : error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>.\CanDemoMaster.cpp(131) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>.\CanDemoMaster.cpp(171) : error C2065: pTotalSize: необъявленный идентификатор
1>.\CanDemoMaster.cpp(171) : error C2065: pNbMsgReceived: необъявленный идентификатор
1>.\CanDemoMaster.cpp(172) : error C2448: ReceiveCanMessage: вероятно, инициализатор, использующий стиль функции, является определением функции
1>.\CanDemoMaster.cpp(195) : error C2146: синтаксическая ошибка : отсутствие ')' перед идентификатором 'duration'
1>.\CanDemoMaster.cpp(195) : error C2182: BenchRx: недопустимое использование типа "void"
1>.\CanDemoMaster.cpp(195) : error C2059: синтаксическая ошибка: )
1>.\CanDemoMaster.cpp(196) : error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>.\CanDemoMaster.cpp(196) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>.\CanDemoMaster.cpp(283) : error C3861: CanInit: идентификатор не найден
1>.\CanDemoMaster.cpp(308) : error C2064: результатом вычисления фрагмента не является функция, принимающая 5 аргументов
1>.\CanDemoMaster.cpp(316) : error C2064: результатом вычисления фрагмента не является функция, принимающая 5 аргументов
ast0r
 
Сообщения: 11
Зарегистрирован: 22 янв 2014, 11:41

След.

Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3