SDC C-Project CF Review 프로그램
LYW
2021-07-08 630eb072cca33a7c633f6429a0b5a531d1b83268
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#pragma once
 
#include <vector>
 
class AFX_EXT_CLASS CMotionInfo_Axis
{
public:
    CMotionInfo_Axis(int nIndex=0);
    virtual ~CMotionInfo_Axis();
 
    // getter
    int        GetIndex() const;
    double    GetVelocity() const;
    double    GetAccelTime() const;
    double    GetDecelTime() const;
    double    GetStartPos() const;
    double    GetEndPos() const;
    int        GetMoveDirection() const;
    double    GetCurVelocity() const;
    double    GetCurAccelTime() const;
    double    GetCurDecelTime() const;
    double    GetCurFixTime() const;
    double    GetCurTotalTime() const;
    double    GetCurAccelDist() const;
    double    GetCurDecelDist() const;
    double    GetCurFixDist() const;
    double    GetCurTotalDist() const;
 
    // setter
    void    SetVelocity(double dVelocity);
    void    SetAccelTime(double dAccelTime);
    void    SetDecelTime(double dDecelTime);
    void    SetStartPos(double dStartPos);
    void    SetEndPos(double dEndPos);
    void    SetData(double    dVelocity, double dAccelTime, double dDecelTime, double dStartPos, double dEndPos);
 
    // calculate
    int        CalculateMotion(double dTime, double& dPos, double& dVelocity, BOOL& bEnd);
 
protected:
    int        CalculateValue();
 
protected:
    int                m_nIndex;
 
    double            m_dVelocity;        // mm/sec
    double            m_dAccelTime;        // sec
    double            m_dDecelTime;        // sec
    double            m_dStartPos;        // mm
    double            m_dEndPos;            // mm
 
    int                m_nMoveDirection;    // 0 is not calculated
    double            m_dCurVelocity;
    double            m_dCurAccelTime;
    double            m_dCurDecelTime;
    double            m_dCurTotalTime;
    double            m_dCurFixTime;
    double            m_dCurAccelDist;
    double            m_dCurDecelDist;
    double            m_dCurFixDist;
    double            m_dCurTotalDist;
};
typedef std::vector<CMotionInfo_Axis>                    VectorMotionInfo_Axis;
typedef std::vector<CMotionInfo_Axis>::iterator            VectorMotionInfo_AxisIt;
typedef std::vector<CMotionInfo_Axis>::const_iterator    constVectorMotionInfo_AxisIt;