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//
65class 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
98public :
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
Short comment.
Definition cinosbaseramp.h:752
#define INOS_DEPRECATED(msg)
Definition inosmacro.h:862
Descriptor structure used to configure a ramp. It is usually defined in a corresponding xxx....
Definition cinosbaseramp.h:211
structure of INOS-JERK-TRQ-RAMP database table
Definition cinosjerktrqramp.h:57
ramp parameters
Definition cinosbaseramp.h:503