INOS
cinosjerktrqramp.h
Go to the documentation of this file.
1 //******************************************************************************
28 //******************************************************************************
29 //
30 #ifndef INC_CINOSJERKTRQRAMP_H
31 #define INC_CINOSJERKTRQRAMP_H
32 //
33 //------------------------------------------------------------------------------
34 // defines
35 //------------------------------------------------------------------------------
36 //
37 #define DF_INOS_JERK_TRQ_RAMP_DBT "INOS-JERK-TRQ-RAMP" // db table name
38 #define DF_INOS_JERK_TRQ_RAMP_NAME "CINOSJerkTrqRamp" // ramp name
39 //
40 //------------------------------------------------------------------------------
41 // includes
42 //------------------------------------------------------------------------------
43 //
44 // system
45 #include <cinosbaseramp.h>
46 //
47 // C++
48 //
49 // project
50 //
51 //------------------------------------------------------------------------------
52 //--- structures ---------------------------------------------------------------
53 //------------------------------------------------------------------------------
54 //
57 {
58 };
59 
60 //------------------------------------------------------------------------------
61 // class definition
62 //------------------------------------------------------------------------------
63 //
65 class INOS_DEPRECATED("use CINOSJerkRamp with option 'EnbTrqLimit' instead") CINOSJerkTrqRamp : public CINOSBaseRamp
66 {
67  //--- user interface ---------------------------------------------------
68 
69  public:
70 
72  explicit CINOSJerkTrqRamp(SINOSJerkTrqRamp* apDesc = 0);
74  virtual ~CINOSJerkTrqRamp();
76  static uint32 GetVersion();
78  virtual CINOSBaseRamp* Clone() override;
79 
80  //--- internals --------------------------------------------------------
81 
82  // protected member functions
83  protected:
85  virtual ECalcMoveResult CalcMove(real64 arSlen, SINOSRampParam* apParam, CINOSRampSegTra*& apSegAcc,
86  CINOSRampSegCns*& apSegCns, CINOSRampSegTra*& apSegDec, real64 arVbgn = REAL64(0.0),
87  real64 arVend = REAL64(0.0), real64 arAbgn = REAL64(0.0),
88  real64 arAend = REAL64(0.0), real64 arDuration = REAL64(-1.0)) override;
89 
90  // protected members
91  protected:
92  uint32 m_uInternalError;
93 
94 //------------------------------------------------------------------------------
95 //--- BEGIN of chef code -------------------------------------------------------
96 //------------------------------------------------------------------------------
97 
98 public :
99 //
100 
101 //**********************************************************************************
102 // Anfang Momentdaten
103 //-------------------------------------------------------
104 
105 //In-Out
106 
107 //-------------------------------------------------------
108 // Programm
109 
110  void CalcX (real64 arSlen, SINOSRampParam* apParam);
111  void Init_Mz();
112 //------------------------------------------------------
113 // Moment
114 
115  double agz (int k); // Maximale Beschleunigung
116  double aqm(double vh,double J, int k);
117  void aqak (); // aq wird mit ak überschrieben nach opti
118  void aqPot(int k);
119  void aqTan(double s,int k); // aq bei sa=ss und Jm -> Tangente
120  double atq0(double vh, int k); // #23
121  void Begrenzung (); // ak< am
122  double dJm(int k);
123  double daq0(int k);
124  double daqm(int k);
125  double dsvh(int k);
126  double dTang (int k);
127 
128  int GTyp(); // Typen bei Momentgrenze??
129  double Jmvh(double v,int k); // #26
130  void JunM (); // all J -> unendlich Moment
131  void Moment(); // Moment : Momentbgrenzung
132  int MomentGrenze();
133  void MTest (int kk);
134  void Mrtr (); // Mz aus tp,tq und rj
135  int Mrt (); // Mz aus tp,tq und tr
136  void Mrvsp ();
137  int Xopt_t(); // optimal Time m it th
138  void Yopt_t(); // optimal Time m it th
139  double saxb (double Jx); // sa,ab berechnen bei aq,bq = ak,bk ??
140  void sar (); // sa,ab berechnen mit
141  void sh0();
142  int sKorr11 (double s); // Korrektur von -sh
143  int sKorr01(double s);
144  double svh(int k);
145  void TangPar (int k);
146  void tq1_1(); // beide Seiten mit tq kleine vm
147 
148  void tq0_0(); // beide Seiten ohne tq kleine vm
149  void tq0_1(); // a- Seiten ohne tq
150  void tqKorr();
151  double tqr (int k);
152  double vhvr(int k); // #9
153  double vhT_b(int k); // #6 vhT Berechnung
154  void XJmvh();
155  double W3r(double x); // 3.Wurzel
156  int sh0x(); //050331
157 
158 //---------------------------------------------------------------------------------
159 // Normal
160  void Bahn(); // Berechnung der Bahn
161  void Normal(); // Berechnung ohne Momentbegrenzung
162  void T_J (); // FeSub:Berechnung der Zeiten und Jerk => M
163  void Typ3();
164  void Typ45();
165  void Typ6();
166  void Typ7();
167  void Jun(); // alle J -> unendlich Normal
168  void Test_poly(); // Kontrollprogramm Polynom !060702
169 // void Mr_N(int k); // Mz rechnen Normal
170  void MrNM ();
171 // void MrM (int k, double Jx);
172 
173 //******************************************************************************
174 //--- END of chef code -------------------------------------------------------
175 //------------------------------------------------------------------------------
176 
177  // allow dynamic object handling (new/delete)
178  DECLARE_DYNAMIC_CACHE(CINOSJerkTrqRamp);
179 };
180 
181 
182 //------------------------------------------------------------------------------
183 // end of file
184 //------------------------------------------------------------------------------
185 
186 #endif // INC_CINOSJERKTRQRAMP_H
SINOSBaseRamp
Descriptor structure used to configure a ramp. It is usually defined in a corresponding xxx....
Definition: cinosbaseramp.h:210
INOS_DEPRECATED
#define INOS_DEPRECATED(msg)
Definition: inosmacro.h:862
SINOSJerkTrqRamp
structure of INOS-JERK-TRQ-RAMP database table
Definition: cinosjerktrqramp.h:56
cinosbaseramp.h
Short comment.
CINOSBaseRamp
Definition: cinosbaseramp.h:751
CINOSJerkRamp
definition of the CINOSJerkRamp class
Definition: cinosjerkramp.h:71
SINOSRampParam
ramp parameters
Definition: cinosbaseramp.h:502