溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GTS-800二次開發(fā)的示例分析

發(fā)布時間:2021-09-17 09:52:40 來源:億速云 閱讀:165 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關GTS-800二次開發(fā)的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、打開控制器         GT_Open

2、啟動伺服使能          GT_ClrSts

3、軸規(guī)劃位置清零       GT_SetPrfPos

4、軸運動模式         GT_PrfTrap

5、軸目標位置         GT_SetPos

6、軸轉(zhuǎn)動速度         GT_SetVel

7、啟動軸           GT_Update

8、關閉使能          GT_AxisOff

9、關閉控制器         GT_Close

C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using gts;


namespace GTS
{
    class Program
    {
        static void command(string sz, short nR)
        {
            Console.WriteLine(sz + " = " + nR);
        }

        static void Main(string[] args)
        {
            short mAxis = 2;
            short nR = mc.GT_Open(0, 1);
            if (nR != 0)
            {
                command("GT_Open", nR);
                Console.WriteLine("Open error");
                return;
            }
            command("GT_Open", nR);
            // 清除各軸的報警和限位
            command("GT_ClrSts", mc.GT_ClrSts(mAxis, 1));
            // 伺服使能
            command("GT_AxisOn", mc.GT_AxisOn(mAxis));
            // 位置清零
            command("GT_ZeroPos", mc.GT_ZeroPos(mAxis, 1));
            // 軸規(guī)劃位置清零
            command("GT_SetPrfPos", mc.GT_SetPrfPos(mAxis, 0));
            // 設置指定軸為點位運動模式。
            command("GT_PrfTrap", mc.GT_PrfTrap(mAxis));
            // 設置點位運動參數(shù)
            mc.TTrapPrm trap = new mc.TTrapPrm();
            trap.acc = 0.25;
            trap.dec = 0.125;
            trap.smoothTime = 25;
            command("GT_SetTrapPrm", mc.GT_SetTrapPrm(mAxis, ref trap));
            // 設置軸的目標位置
            command("GT_SetPos", mc.GT_SetPos(mAxis, 50000));
            // 設置軸的目標速度
            command("GT_SetVel", mc.GT_SetVel(mAxis, 25));
            // 啟動軸運動
            command("GT_Update", mc.GT_Update(1 << mAxis - 1));

            mc.GT_Close();
            Console.ReadKey();
        }
    }
}
C++源碼:
#include "stdafx.h"
#include "windows.h"
#include "conio.h"
#include "gts.h"

#define AXIS		1

// 該函數(shù)檢測某條GT指令的執(zhí)行結(jié)果,command為指令名稱,error為指令執(zhí)行返回值
void commandhandler(char *command, short error)
{
	// 如果指令執(zhí)行返回值為非0,說明指令執(zhí)行錯誤,向屏幕輸出錯誤結(jié)果
	if(error)
	{
		printf("%s = %d\n", command, error);
	}
}
int main(int argc, char* argv[])
{
	short sRtn;
	TTrapPrm trap;
	long sts;
	double prfPos;

	// 打開運動控制器
	sRtn = GT_Open();
	// 指令返回值檢測,請查閱例2-1
	commandhandler("GT_Open", sRtn);
	// 配置運動控制器
	// 注意:配置文件取消了各軸的報警和限位
	sRtn = GT_LoadConfig("test.cfg");
	commandhandler("GT_LoadConfig ", sRtn);
	// 清除各軸的報警和限位
	sRtn = GT_ClrSts(1, 8);
	commandhandler("GT_ClrSts", sRtn);
	// 伺服使能
	sRtn = GT_AxisOn(AXIS);
	commandhandler("GT_AxisOn", sRtn);

	// 位置清零
	sRtn = GT_ZeroPos(AXIS);
	commandhandler("GT_ZeroPos", sRtn);
	// AXIS軸規(guī)劃位置清零
	sRtn = GT_SetPrfPos(AXIS, 0);
	commandhandler("GT_SetPrfPos", sRtn);
	// 將AXIS軸設為點位模式
	sRtn = GT_PrfTrap(AXIS);
	commandhandler("GT_PrfTrap", sRtn);
	// 讀取點位運動參數(shù)
	sRtn = GT_GetTrapPrm(AXIS, &trap);
	commandhandler("GT_GetTrapPrm", sRtn);
	trap.acc = 0.25;
	trap.dec = 0.125;
	trap.smoothTime = 25;
	// 設置點位運動參數(shù)
	sRtn = GT_SetTrapPrm(AXIS, &trap);
	commandhandler("GT_SetTrapPrm", sRtn);
	// 設置AXIS軸的目標位置
	sRtn = GT_SetPos(AXIS, 50000L);
	commandhandler("GT_SetPos", sRtn);
	// 設置AXIS軸的目標速度
	sRtn = GT_SetVel(AXIS, 50);
	commandhandler("GT_SetVel", sRtn);
	// 啟動AXIS軸的運動
	sRtn = GT_Update(1<<(AXIS-1));
	commandhandler("GT_Update", sRtn);

	do
	{
		// 讀取AXIS軸的狀態(tài)
		sRtn = GT_GetSts(AXIS, &sts);
		// 讀取AXIS軸的規(guī)劃位置
		sRtn = GT_GetPrfPos(AXIS, &prfPos);
		printf("sts=0x%-10lxprfPos=%-10.1lf\r", sts, prfPos);
	}while(sts&0x400);	// 等待AXIS軸規(guī)劃停止

	// 伺服關閉
	sRtn = GT_AxisOff(AXIS);
	printf("\nGT_AxisOff()=%d\n", sRtn);
	getch();
	return 0;

}

關于“GTS-800二次開發(fā)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI