EPOS2-24-2控制范例VC代码改为Profile Velocity(速度模式)

一、前言

       上一篇文章所提到的EPOS官方VC代码里面设置的电机驱动方式是Profile Position模式,只使用一个模式的话显然在有些场合达不到想要的控制效果,所以根据官方代码修改出了Profile Velocity模式,即将原来根据位置信息驱动电机改为根据速度信息驱动电机。

       修改后的程序并没有对上位机界面进行控件上的修改,只改了一些静态文本的显示信息,新界面如图1所示。所以只说一下主要修改的地方。

EPOS2-24-2控制范例VC代码改为Profile Velocity(速度模式)_第1张图片
图1

二、主要修改

1、OpenDevice()函数

修改后的核心代码如图2所示。

EPOS2-24-2控制范例VC代码改为Profile Velocity(速度模式)_第2张图片
图2

(1)改用VCS_GetVelocityProfile(m_KeyHandle, m_usNodeId, &m_ulProfileAcceleration, &m_ulProfileDeceleration, &m_ulErrorCode)函数,用来获得设定的加速和减速的加速度值。

(2)VCS_SetOperationMode()的形参改成了OMD_PROFILE_VELOCITY_MODE,表示设定驱动模式为速度模式。

(3)改用VCS_SetVelocityProfile(m_KeyHandle, m_usNodeId, 1000, 1000, &m_ulErrorCode)函数,设定加速和减速的加速度值均为1000。

(4)改用VCS_GetVelocityIs(m_KeyHandle, m_usNodeId, &m_lStartVelocity, &m_ulErrorCode)函数,获得此时的速度值,即为显示在界面上的初始速度值。


2、MOVE按钮点击事件

EPOS2-24-2控制范例VC代码改为Profile Velocity(速度模式)_第3张图片
图3

(1)改用VCS_GetVelocityIs(m_KeyHandle, m_usNodeId, &m_lStartVelocity, &m_ulErrorCode)函数:获取电机此时的速度值,作为初始速度,获取失败函数返回0

(2)改用VCS_MoveWithVelocity(m_KeyHandle, m_usNodeId, m_lTargetVelocity, &m_ulErrorCode)函数:驱动电机达到设定转速,驱动失败返回0


3、HALT按钮点击事件

改用VCS_HaltVelocityMovement(m_KeyHandle, m_usNodeId, &m_ulErrorCode)函数


4、增加ChangeDrection按钮,用来改变转动方向

代码很简单,如图4所示。

EPOS2-24-2控制范例VC代码改为Profile Velocity(速度模式)_第4张图片
图4

你可能感兴趣的:(EPOS2-24-2控制范例VC代码改为Profile Velocity(速度模式))