Окно ввода С программ (C Program Screen)

Constants:
FALSE 0
TRUE 1


PI 3.14159265358979323846264
PI_F 3.1415926535f
TWO_PI (2.0 * PI)
TWO_PI_F (2.0f * PI_F )
PI_2F (PI_F  * 0.5f)
 

TRAJECTORY_OFF 0
TRAJECTORY_INDEPENDENT 1
TRAJECTORY_LINEAR 2
TRAJECTORY_CIRCULAR 3
TRAJECTORY_SPECIAL 4

 

Axis Input Modes
ENCODER_MODE 1

ADC_MODE 2

RESOLVER 3

USER_INPUT_MODE 4


Axis Output Modes
MICROSTEP_MODE 1

DC_SERVO_MODE 2

BRUSHLESS_3PH_MODE 3
BRUSHLESS_4PH_MODE 4
DAC_SERVO_MODE 4


Data Gather/Plot Functions:
void SetupGatherAllOnAxis(int c, 

                                          int n_Samples);
void TriggerGather();
int CheckDoneGather();
 

Analog I/O Functions:
ADC(ch);

DAC(ch, value);


Power Amp Functions:
void WritePWMR(int ch, int v);
void WritePWM(int ch, int v);

void Write3PH(int ch, float v, 

                          double angle_in_cycles);
void Write4PH(int ch, float v, 

                          double angle_in_cycles);

Timer Functions:

double Time_sec();
void WaitUntil(double time_sec);
void Delay_sec(double sec);
double WaitNextTimeSlice(void);

Axis Move Functions:
void DisableAxis(int ch);
void EnableAxisDest(int ch, double Dest);
void EnableAxis(int ch);
void Zero(int ch);
void Move(int ch, double x);
void MoveRel(int ch, double dx);
int CheckDone(int ch);
void MoveXYZ(double x, double y, double z);
int CheckDoneXYZ();
void DefineCoordSystem(int axisx, int axisy,

                                             int axisz, int axis a);

Digitial I/O Functions:
void SetBitDirection(int bit, int dir);
int GetBitDirection(int bit);
void SetBit(int bit);
void ClearBit(int bit);
void SetStateBit(int bit, int state);
int ReadBit(int bit);

Print to Console Screen Functions:
int printf(const char *format, ...);

 

Print to Windows File Functions:
FILE *fopen(const char*, const char*);
int fprintf(FILE *f, const char * format, ...);
int fclose(FILE *f);
                   

 

Thread Functions:
void StartThread(int thread);

void PauseThread(int thread);

void ThreadDone();

int ResumeThread(int thread);
 

Math Functions:

double sqrt(double x);
double exp(double x);
double log(double x);
double log10(double x);
double pow(double x, double y);
double sin(double x);
double cos(double x);
double tan(double x);
double asin(double x);
double acos(double x);
double atan(double x);
double atan2(double y, double x);


float sqrtf (float x);
float expf (float x);
float logf (float x);
float log10f(float x);
float powf (float x, float y);
float sinf (float x);
float cosf (float x);
float tanf (float x);
float asinf (float x);
float acosf (float x);
float atanf (float x);
float atan2f(float y, float x);
 



Окно ввода C программ позволяет компилировать, загружать в KFLOP, запускать, ставить выполнение на паузу программы на языке С. Программа С выполняется платой KFLOP, которая имеет контролирует все входа/выхода, движение и прочие различные функции системы KMotion.

Одна из самых мощных функций системы KMotion является возможность компилировать и загружать собственные DSP программы в режиме реального времени. Код DSP работает намного быстрее, чем интерпретируемый код. Цифровой сигнальный процессор TMS320C67x, который является основой системы KMotion имеет аппаратную поддержку 32 битных и 64 битных операций с плавающей точкой. Одновременно могут выполняться до 7 семи потоков (программ). Встроенный компилятор позволяет нажатием одной кнопки сохранить, скомпилировать, загрузить и выполнить программу. После того, как программы разработаны и проверены они могут быть прошиты во флэш память и при необходимости использоваться независимо без подключения компьютера.

Дополнительно реализована подстветка синтаксиса, выпадающий список с подсказками, неограниченное число команд отменить/вернуть изменения в тексте, поиск/замена с помощью регулярных выражений.

Слева перечислены доступные константы и функции.

Дополнительную информация можно посмотреть в заголовочном файле KMotionDef.h. Этот файл должен использоваться во всех программах для получения доступа к структурам системы KMotion.

Заголовочный файл PC-DSP.h отвечает за обмен данными между ПК и KMotion