Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
3 / 3 / 2
Регистрация: 18.01.2011
Сообщений: 54
1

Пример управления сервоприводом по протоколу CAN. С С++ перевести на VB

17.10.2011, 13:38. Показов 1709. Ответов 1
Метки нет (Все метки)

Здравствуйте! Это пример управления сервоприводом по протоколу CAN. В С++ ничего не понимаю. Помогите пожалуйста перевести данный код на VB. Спасибо...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// drive_control_sample.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "Common.h"
#include "moto_dll2.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
        int res;
        int pos;
        double val;
 
                printf("Sample HSD control program v 0.1\n");
                InitParser();
                printf("Init done, searching for device\n");
                int t=EnumDevices(false);
                if(t==0)
                {
                        printf("Error - device not found - check connection and power supply\n");
                        CloseParser();
                        exit(1);
                }
                printf("Found %d devices, working with device 1\n",t);
                printf("Checking status...");
                res=ReadVal(1,"dd11",&val);
                if(res!=ERR_OK)
                {
                        printf("Comm error %d\n",res);
                        CloseParser();
                        exit(2);
                }
                if((int)val!=0)
                {
                        printf("Drive 1 not ready: status=%d\n",(int)val);
                        CloseParser();
                        exit(2);
                }
                printf("OK\n");
                printf("Starting cycle - make sure position loop is closed and running PLC program doesn't alter position\n");
 
                while(1)
                {
                        printf("Now writing position\n");
                        pos=100000;
                        res=WriteVal(1,"ct3",100000.0);
                        if(res!=ERR_OK)
                        {
                                printf("Comm error %d\n",res);
                                CloseParser();
                                exit(2);
                        }
                        printf("Waiting for drive to complete task");
                        while(1)
                        {
                                Sleep(100);
                                res=ReadVal(1,"dd8",&val);
                                if(res!=ERR_OK)
                                {
                                        printf("Comm error %d\n",res);
                                        CloseParser();
                                        exit(2);
                                }
                                if((int)val==pos)
                                {
                                        printf("Done\n");
                                        break;
                                }
                                else
                                {
                                        printf(".");
                                }
                        }
 
                        printf("Now writing position\n");
                        pos=0;
                        res=WriteVal(1,"ct3",0.0);
                        if(res!=ERR_OK)
                        {
                                printf("Comm error %d\n",res);
                                CloseParser();
                                exit(2);
                        }
                        printf("Waiting for drive to complete task");
                        while(1)
                        {
                                Sleep(100);
                                res=ReadVal(1,"dd8",&val);
                                if(res!=ERR_OK)
                                {
                                        printf("Comm error %d\n",res);
                                        CloseParser();
                                        exit(2);
                                }
                                if((int)val==pos)
                                {
                                        printf("Done\n");
                                        break;
                                }
                                else
                                {
                                        printf(".");
                                }
                        }       
                        printf("Press q to quit or any other key for one more cycle\n");
                        int c=getch();
                        if(c=='q')break;
                }
        CloseParser();
        exit(0);
 
        return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2011, 13:38
Ответы с готовыми решениями:

Перевести код управления сервоприводом по протоколу CAN
Здравствуйте! Это пример управления сервоприводом по протоколу CAN. В С++ ничего не понимаю....

Программа для управления помпой и сервоприводом
Помогите разобраться в программе. В Ардуино новичок. Хочу понять, как это всё работает. #include...

Приложение для управления девайсом по протоколу Modbus RTU
Здравствуйте! Необходимо написать приложение для управления источником постоянного тока по...

Нужен пример программы для управления БД
Здравствуйте! Скиньте пожалуйста хороший пример программы для управления базой данных, в которой...

1
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
17.10.2011, 14:40 2
...а хэдер нам самим додумывать?

В данном, вырванном из общего контекста, куске никакого CAN не вижу, есть только чтение-проверка-запись в некоторую функцию-макрос ReadVal() и WriteVal().
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.10.2011, 14:40

Нужен пример управления приложением с помощью клавиатуры
Добрый день! Я пишу небольшую программу, типо игрушки, там нужно управлять кнопками с клавиатуры....

Перевести пример из VB.net в C#
Было бы неплохо, если перевели пример...

Перевести пример на язык LISP
Помогите перевести пример на язык LISP

Перевести пример кода на PHP
Здравствуйте! Только стал изучать данный язык, никак не могу понять работу с классами. Нужно...

Перевести пример в pascal abc
Помогите пожалуйста перевести в pascalabc

Нужно перевести пример в программу
Сам пример: Моя попытка но выдает ошибку : k = powf(45.7, -1.0 / 4)*sinf(2)+ powf((tanhf(1) /...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.