реклама на сайте
подробности

 
 
> CANFestival, посылка PDO запроса
Ekka
сообщение Dec 8 2017, 07:16
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Привет всем! Помогите, пожалуйста разобраться. Битый час сижу...
Не получается отправить PDO. Может, не так отправляю или словарь не правильно настроен, или вообще инициализирую не так...
Использую генератор OD на Питоне. objdictedit.py.

Вот код настройки ( может, ошибка супер-тупая, не пинайте, если, кто что знает, растолкуйте мне, пожалуйста)
Есть один Потребитель и один Производитель. При запросе на активацию Потребителя подчиненный узел переходит в сотояние готовности и присылает Boot-Up, а дальше
ерунда какая-то... Node_Guard или просто муть.
Не пинать, пжлста, учусь.

у Producer

CODE
int main(void)
{

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/* MCU Configuration----------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();

/* Configure the system clock */
SystemClock_Config();

/* Initialize all configured peripherals */
MX_GPIO_Init();

/* USER CODE BEGIN my */
//кан на 500 kbit/s
canInit(500);
initTimer();
thisDict=&OD_Prod_Data;
//установка номера узла
setNodeId(thisDict,0x12);
//инициализация CANopen
setState(thisDict,Initialisation);
//ждем сотояния готовности
while(getState(thisDict)!=Pre_operational);
setState(thisDict,Operational);
LED_RED_ON();

/* USER CODE END my */

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
masterSendNMTstateChange(thisDict,0x17,NMT_Reset_Node);
masterSendNMTstateChange(thisDict,0x17,NMT_Start_Node);
HAL_Delay(1000);
sendPDOrequest(thisDict,0x1400);
masterSendNMTstateChange(thisDict,0x17,NMT_Stop_Node);
HAL_Delay(5000);
}
/* USER CODE END 3 */

}


А это у Consumer
CODE
int main(void)
{

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/* MCU Configuration----------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();

/* Configure the system clock */
SystemClock_Config();

/* Initialize all configured peripherals */
MX_GPIO_Init();
//кан на 500 kbit/s
canInit(500);
initTimer();
thisDict=&OD_Prod_Data;
//номер узла
setNodeId(thisDict,0x17);
//инит узла
setState(thisDict,Stopped);
//MX_TIM1_Init();
//MX_TIM3_Init();

/* USER CODE BEGIN 2 */
/* USER CODE END 2 */

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */

}
/* USER CODE END 3 */

}

если еще какой-то код нужен, я пришлю.
Может, в принципах CANOpen недоперлось по существу...у меня

КАК ПРАВИЛЬНО OD настроить?

Сообщение отредактировал IgorKossak - Dec 8 2017, 11:45
Причина редактирования: [codebox] для длинного кода. [code]-для короткого!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ekka   CANFestival, посылка PDO запроса   Dec 8 2017, 07:16
- - Ekka   Получилось получать hearbeat-ы нормально. Кто-то м...   Dec 8 2017, 10:31
|- - Ekka   Вот что видно в CANHacker как я понимаю, стату...   Dec 8 2017, 11:42
|- - _3m   Цитата(Ekka @ Dec 8 2017, 14:42) Вот что ...   Dec 8 2017, 13:08
|- - Ekka   Цитата(_3m @ Dec 8 2017, 14:08) Consumer ...   Dec 8 2017, 13:39
|- - _3m   Цитата(Ekka @ Dec 8 2017, 16:39) нет...не...   Dec 8 2017, 14:24
|- - Ekka   Цитата(_3m @ Dec 8 2017, 15:24) Вы посыла...   Dec 11 2017, 10:34
|- - Ekka   Я ващщще.... глаза замылились((( Вот, что вижу на ...   Dec 11 2017, 13:40
|- - _3m   Цитата(Ekka @ Dec 11 2017, 16:40) Я ващщщ...   Dec 11 2017, 14:52
|- - Ekka   Цитата(_3m @ Dec 11 2017, 15:52) Должен з...   Dec 12 2017, 12:08
|- - _3m   Цитата(Ekka @ Dec 12 2017, 15:08) объясни...   Dec 13 2017, 07:02
- - syoma   Да, насчет чтения DS301 и DS401 правильно. Да и во...   Dec 13 2017, 19:12
|- - Ekka   Еще парочка вопросов начинающего. Сказано, что ест...   Dec 14 2017, 06:24
|- - _3m   Цитата(Ekka @ Dec 14 2017, 09:24) Еще пар...   Dec 14 2017, 15:15
- - syoma   ЦитатаВы такие знаете бесплатные ? Я кроме wiresha...   Dec 14 2017, 20:20
- - Ekka   Все получается, но возникла такая проблема... Клие...   Dec 21 2017, 06:53
- - Ekka   НЕ могу понять, что делаю не так... чтобы отправи...   Dec 21 2017, 08:07
- - Ekka   Ребят, медленно разбираюсь. Может, кто знает, тако...   Dec 26 2017, 12:58


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016