中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

GTS-800二次開發的示例分析

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

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

1、打開控制器         GT_Open

2、啟動伺服使能          GT_ClrSts

3、軸規劃位置清零       GT_SetPrfPos

4、軸運動模式         GT_PrfTrap

5、軸目標位置         GT_SetPos

6、軸轉動速度         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));
            // 軸規劃位置清零
            command("GT_SetPrfPos", mc.GT_SetPrfPos(mAxis, 0));
            // 設置指定軸為點位運動模式。
            command("GT_PrfTrap", mc.GT_PrfTrap(mAxis));
            // 設置點位運動參數
            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

// 該函數檢測某條GT指令的執行結果,command為指令名稱,error為指令執行返回值
void commandhandler(char *command, short error)
{
	// 如果指令執行返回值為非0,說明指令執行錯誤,向屏幕輸出錯誤結果
	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軸規劃位置清零
	sRtn = GT_SetPrfPos(AXIS, 0);
	commandhandler("GT_SetPrfPos", sRtn);
	// 將AXIS軸設為點位模式
	sRtn = GT_PrfTrap(AXIS);
	commandhandler("GT_PrfTrap", sRtn);
	// 讀取點位運動參數
	sRtn = GT_GetTrapPrm(AXIS, &trap);
	commandhandler("GT_GetTrapPrm", sRtn);
	trap.acc = 0.25;
	trap.dec = 0.125;
	trap.smoothTime = 25;
	// 設置點位運動參數
	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軸的狀態
		sRtn = GT_GetSts(AXIS, &sts);
		// 讀取AXIS軸的規劃位置
		sRtn = GT_GetPrfPos(AXIS, &prfPos);
		printf("sts=0x%-10lxprfPos=%-10.1lf\r", sts, prfPos);
	}while(sts&0x400);	// 等待AXIS軸規劃停止

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

}

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

向AI問一下細節

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

AI

全州县| 泰州市| 措勤县| 房产| 石棉县| 白河县| 西充县| 通许县| 将乐县| 车险| 武陟县| 元氏县| 电白县| 牙克石市| 定边县| 承德市| 宝兴县| 油尖旺区| 龙山县| 屏东市| 永吉县| 博兴县| 祥云县| 大厂| 镇安县| 右玉县| 佳木斯市| 社旗县| 蒙阴县| 桐乡市| 吴桥县| 鸡泽县| 贵定县| 宣恩县| 依兰县| 和平区| 布拖县| 修武县| 天峻县| 平阳县| 平远县|