test6-17.c

来自「固高GT400运动控制卡」· C语言 代码 · 共 101 行

C
101
字号
#include "userlib.h"
#include <stdio.h>

void initial(void);
void map(void);
void motion(void);
void error(short);
short rtn;

void initial()
{
  rtn=GT_Open();               error(rtn);
  rtn=GT_Reset();              error(rtn);
  rtn=GT_LmtSns(0);            error(rtn);
  rtn=GT_EncSns(0);            error(rtn);

  rtn=GT_Axis(1);              error(rtn);
  rtn=GT_ClrSts();             error(rtn);
  rtn=GT_SetKp(20);            error(rtn);
  rtn=GT_SetKi(2);             error(rtn);
  rtn=GT_SetKd(60);            error(rtn);
  rtn=GT_SetKvff(0);           error(rtn);
  rtn=GT_SetKaff(0);           error(rtn);
  rtn=GT_SetILmt(100);         error(rtn);
  rtn=GT_Update();             error(rtn);
  rtn=GT_AxisOn();             error(rtn);

  rtn=GT_Axis(2);              error(rtn);
  rtn=GT_ClrSts();             error(rtn);
  rtn=GT_SetKp(20);            error(rtn);
  rtn=GT_SetKi(2);             error(rtn);
  rtn=GT_SetKd(60);            error(rtn);
  rtn=GT_SetKvff(0);           error(rtn);
  rtn=GT_SetKaff(0);           error(rtn);
  rtn=GT_SetILmt(100);         error(rtn);
  rtn=GT_Update();             error(rtn);
  rtn=GT_AxisOn();             error(rtn);
 }

void map()
{
 double cnt1[5]={2,0,0,0,0};
 double cnt2[5]={1,0,0,0,0};
 rtn=GT_Axis(1);                error(rtn);
 rtn=GT_SetAtlPos(1000);       error(rtn);
 rtn=GT_MapAxis(1,cnt1);       error(rtn);
 rtn=GT_MapAxis(2,cnt2);       error(rtn);
 }

void motion()
{
  rtn=GT_SetSynVel(2);         error(rtn);
  rtn=GT_SetSynAcc(1);         error(rtn);
  rtn=GT_LnXY(2000,2000);      error(rtn);
  }

void error(short rtn)
{
   switch (rtn)
   {
      case -1:
	   printf("error: communciation error\n");
	   break;
      case 0:
	   /* No error */
	   break;
      case 1:
	   printf("error: command error\n");
	   break;
      case 2:
	   printf("error: radius is zero or too large\n");
	   break;
      case 3:
	   printf("error: the length of line is zero or too large\n");
	   break;
      case 4:
	   printf("error: acceleration or velocity is zero or too large\n");
	   break;
      case 5:
	   printf("error: parameter conflict\n");
	   break;
      case 6:
	   printf("error: nonexistence solution for the equation\n");
	   break;
      case 7:
	   printf("error: process parameter error\n");
	   break;
      default:
	   break;
   }
}


void main()
{
  initial();
  map();
  motion();
  rtn=GT_Close();          error(rtn);
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?