添加了 归零等操作

增加了testdll 样例
This commit is contained in:
xin
2020-09-03 14:52:28 +08:00
parent 4f5169ed2f
commit 495f947827
30 changed files with 1051 additions and 42 deletions

View File

@ -68,11 +68,14 @@ struct ByteBack
/********************************************************************
* 描述:马达控制程序
* 使用步骤
* 1初始 需要告诉通讯协议Vince规定的
* 2如果是485 请设置id 默认为0
* 3) serialconnect 建立链接
* 4使用
* 2020-8-5立新
* 1 初始 需要告诉通讯协议Vince规定的motor = new VinceControl(NETTCP, 6000);
* 2 通过 motor->IsMotorInit 来判断是否右马达接入
* 建议:
* 1) 可以用SettingZeroLocation结合传感器的是指来设置零为
* 2关于传感器的设置均在initmotor函数里
* 注意:
* 类中所有默认参数再不设置的情况下均指网络通讯的第一个设备id
* 2020-8-5立新
*******************************************************************/
class VINCECONTROL_EXPORT VinceControl:public QObject
{
@ -88,6 +91,7 @@ public:
// Parameter: ProTools 通讯协议 RS485 或者 RS232
//************************************
VinceControl(ProTools proto);
//************************************
// Method: VinceControl //走网络协议 需要两个参数 第一个为NETTCP 第二个为端口 6000或者6001
// FullName: VinceControl::VinceControl
@ -100,16 +104,15 @@ public:
VinceControl(ProTools proto,int port);
~VinceControl();
//************************************
// Method: serialconnect
// FullName: VinceControl::serialconnect
// Method: MoveToLocation 移动到某位置据0点
// FullName: VinceControl::MoveToLocation
// Access: public
// Returns: bool
// Returns: void
// Qualifier:
// Parameter: QString comname 串口名称
// Parameter: QString bandrate 串口波特率
// Parameter: long Location 距离零点的位置
//************************************
bool serialconnect(QString comname,QString bandrate);
void MoveToLocation(long Location, QString motornetid = "non");
//************************************
// Method: Handshacke
// FullName: VinceControl::Handshacke
@ -117,18 +120,18 @@ public:
// Returns: void
// Qualifier:
//************************************
void Handshacke(QString motorid = "non");
//************************************
// Method: SetRS485ID
// FullName: VinceControl::SetRS485ID
// Method: SettingZeroLocation 马达归零
// FullName: VinceControl::SettingZeroLocation
// Access: public
// Returns: void
// Qualifier:
// Parameter: QString id RS485 id
// Parameter: QString motorid
//************************************
void SetRS485ID(QString id);
void SettingZeroLocation(QString motorid = "non");
//************************************
// Method: 电机使能
// FullName: VinceControl::EnableMotro
@ -165,6 +168,7 @@ public:
// Parameter: int motorid
//************************************
void SendCommandtoMotor(QString str,QString modor);
//************************************
// Method: MoveSetDistance 电机左移/右移 一定数量(不是距离)
// FullName: VinceControl::MoveSetDistance
@ -173,8 +177,8 @@ public:
// Qualifier:
// Parameter: long distance
//************************************
void MoveSetDistance(long distance, QString motornetid = "non");
//************************************
// Method: MoveModar 电机左移/右移 direction是方向
// FullName: VinceControl::MoveModar
@ -184,6 +188,7 @@ public:
// Parameter: bool direction 方向
//************************************
void MoveMotar(bool direction, QString motornetid = "non");
//************************************
// Method: SettingSpeed 设置速度
// FullName: VinceControl::SettingSpeed
@ -202,6 +207,7 @@ public:
// Qualifier:
//************************************
void MovetoZero(QString motornetid = "non");
//************************************
// Method: GetLocationNow 获取当前至0点位置
// FullName: VinceControl::GetLocationNow
@ -209,16 +215,8 @@ public:
// Returns: long 位置
// Qualifier:
//************************************
long GetLocationNow();
//************************************
// Method: MoveToLocation 移动到某位置据0点
// FullName: VinceControl::MoveToLocation
// Access: public
// Returns: void
// Qualifier:
// Parameter: long Location 距离零点的位置
//************************************
void MoveToLocation(long Location);
long GetLocationNow(QString motornetid = "non");
//************************************
// Method: SettingUpandDownSpeed 设置加减速度
// FullName: VinceControl::SettingUpandDownSpeed
@ -228,16 +226,64 @@ public:
// Parameter: int addspeed 加速度
// Parameter: int downspeed 减速度
//************************************
void SettingUpandDownSpeed(int addspeed, int downspeed);
void SettingUpandDownSpeed(int addspeed, int downspeed, QString motornetid = "non");
//************************************
// Method: StopMotormove 停止马达
// FullName: VinceControl::StopMotormove
// Access: public
// Returns: void
// Qualifier:
// Parameter: QString motornetid
//************************************
void StopMotormove(QString motornetid = "non");
//************************************
// Method: GetState
// FullName: VinceControl::GetState
// Access: public
// Returns: ByteBack
// Qualifier:
// Parameter: QString motorid
//************************************
ByteBack GetState(QString motorid = "non");
//************************************
// Method: SetRS485ID
// FullName: VinceControl::SetRS485ID
// Access: public
// Returns: void
// Qualifier:
// Parameter: QString id RS485 id
//************************************
void SetRS485ID(QString id);
//************************************
// Method: serialconnect
// FullName: VinceControl::serialconnect
// Access: public
// Returns: bool
// Qualifier:
// Parameter: QString comname 串口名称
// Parameter: QString bandrate 串口波特率
//************************************
bool serialconnect(QString comname, QString bandrate);
//************************************
// Method: initMotor 设置左右极限 s1是为左极限 且到s1后会将s1位置设置为0 s2是右极限 归零传感器是指为s1
// FullName: VinceControl::initMotor
// Access: public
// Returns: void
// Qualifier:
// Parameter: QString motornetid
//************************************
void initMotor(QString motornetid = "non");
QStringList Motorlist;
bool IsMotorInit;
signals:
void SendLogToCallClass(QString str);
public slots :
void onNewTcpClinetConnet();
public slots :
void onNewTcpClinetConnet();
void onClinetDisConnet();
private:
@ -259,6 +305,7 @@ private:
void SettingSpeedByThis(long Speed, QString motornetid = "non");
ByteBack TranslateBytedata(QByteArray buf, QString motornetid = "non");
void initme();
};