VS2012编写电机驱动程序

部署运行你感兴趣的模型镜像

1 新建空的win32控制台程序,添加新的.cpp文件,进行调试生成Debug文件夹

2 把程序涉及到的.dll文件放在Debug文件夹中,把.h和.lib文件放在项目根目录下

3 在.cpp文件中编写程序

#include<iostream>
#include<TML_Lib.h>
#include<tmlcomm.h>
using namespace  std;

void main()                                      //can通讯
{	
//打开通信通道
LPCSTR pszDevName="1";     //被打开的通信通道
BYTE ChannelType= CHANNEL_PEAK_SYS_PCAN_USB;
BYTE ProtocolType=PROTOCOL_TMLCAN;
BYTE btType=ChannelType | ProtocolType;  //通信通道的类型与CAN-bus 通信协议
BYTE nHostID=255;               //PC轴ID号
DWORD baudrate=1000000;        //通信波特率
if(!TS_OpenChannel(pszDevName, btType, nHostID, baudrate))
{
	TS_OpenChannel(pszDevName, btType, nHostID, baudrate);
}

//装入EasyMotion的设置数据表
LPCSTR setupDirectory="C:\Program Files (x86)\Technosoft\ESM\Archives\test0527.t.zip";  //设置文件的目录名称
//TS_LoadSetup(setupDirectory); //setupDirectory 设置文件的目录名称

//为每个轴设置相关的设置信息
BYTE axisID=4;  //驱动器/电机的轴ID号
if(!TS_SetupAxis( axisID, TS_LoadSetup(setupDirectory) )) //idxSetup 由TS_LoadSetup 所产生的配置索引指针
{
	TS_SetupAxis( axisID, TS_LoadSetup(setupDirectory) );
}
//选择需要接收主机命令的目标轴
if(!TS_SelectAxis(axisID))
{
	TS_SelectAxis(axisID);
}
//检查已下载在驱动器只读存储器中设置数据的完整性
//WORD Status;
//TS_ReadStatus( REG_MCR,Status);

cout<<"通信通道为:"<<pszDevName<<endl;
cout<<"PC轴ID号为 :"<<int (nHostID)<<endl;
cout<<"通信波特率为:"<<baudrate<<endl;
cout<<"驱动器/电机的轴ID号为:"<<int (axisID)<<endl;
//cout<<"是否开始运行?"<<endl;
	
//if(getchar()=='y')

//使能驱动器
BOOL Enable;
Enable = TRUE;
if(!TS_Power(Enable))
{
	TS_Power(Enable);
	cout<<TS_GetLastErrorText();
}
//发出运动命令
//LONG AbsPosition=180;  //以TML 位置单位表示所要达到的目标位置
//DOUBLE Speed=100;   //以TML 速度单位表示的转速。如果这个值为0,驱动器/电机将使用以前值设置为速度
//double Acceleration=0;   //以TML 加速度单位表示加速度/减速度。如果这个值为0,驱动器/电机将使用以前值设置为加速度
//SHORT MoveMoment=UPDATE_IMMEDIATE;   //定义执行运动的启动模式
//SHORT ReferenceBase=FROM_MEASURE;   //指定如何计算运动参考量
//TS_MoveAbsolute( AbsPosition,Speed,Acceleration,MoveMoment,ReferenceBase);
double Speed = 100;
double Accerleration = 0;
short MoveMoment = UPDATE_IMMEDIATE;
short ReferenceBase = FROM_MEASURE;
if(!TS_MoveVelocity(Speed,Accerleration,MoveMoment,ReferenceBase))
{
	  TS_MoveVelocity(Speed,Accerleration,MoveMoment,ReferenceBase);
}

//禁止驱动器
if(getchar()=='s')
{
	Enable = FALSE;
if(TS_Power(Enable))
{
	TS_Power(Enable);
}
//关闭通信通道
INT fd=-1;
TS_CloseChannel(fd);
}
}

4  完了之后会出现提醒,无法读取.h文件

在VS2012中,右键项目名称,选择 属性,在下图所示的附加包含目录中添加项目地址就可以解决了

5 结果出现如下错误:

解决办法:属性->链接器->常规->附加库目录,在里面添加两个.lib文件的地址,要精确到.lib文件

6 出现如下错误

 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值