INOS
cinosdacchannel.h
Go to the documentation of this file.
1//******************************************************************************
27//******************************************************************************
28
29#ifndef INC_CINOSDACCHANNEL_H
30#define INC_CINOSDACCHANNEL_H
31
32//------------------------------------------------------------------------------
33// defines
34//------------------------------------------------------------------------------
35//
36//
37//------------------------------------------------------------------------------
38// includes
39//------------------------------------------------------------------------------
40//
41// system
42//
43// C++
44//
45// project
46//
47//------------------------------------------------------------------------------
48// class definition
49//------------------------------------------------------------------------------
50//
52{
53 //--- user interface ---------------------------------------------------
54
55 // public member functions
56 public :
57 ICACHE virtual void Set(real64 arValue) override;
58 //; set channel to arValue
59 ICACHE virtual real64 Get() override;
60 //; get value of channel
61 ICACHE real32 GetValue();
62 //; return actual channel value (mV, °C, ...) [real32]
63 ICACHE real64 GetValue64();
64 //; return actual channel value (mV, °C, ...) [real32]
65 real32 GetRawValue(uint32 auStage=0);
66 //; return raw value before hook number 'auStage'
67 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
68 ICACHE void SetValue(real32 arValue, bool abOverwrite = false);
69 //; set channel to afValue
70 //; (abOverwrite=true -> value always set, abOverwrite=false -> value
71 //; set if channel is NOT in overwrite mode)
72 ICACHE void SetValueChecked(real32 arValue, bool abOverwrite = false);
73 //; set channel to afValue, limiting it to the allowed range
74 //; (abOverwrite=true -> value always set, abOverwrite=false -> value
75 //; set if channel is NOT in overwrite mode)
76 ICACHE void SetValue64(real64 arValue, bool abOverwrite = false);
77 //; set channel to afValue
78 //; (abOverwrite=true -> value always set, abOverwrite=false -> value
79 //; set if channel is NOT in overwrite mode)
80 #else
81 ICACHE void SetValue(real32 arValue);
82 //; set channel to afValue
83 ICACHE void SetValueChecked(real32 arValue);
84 //; set channel to afValue, limiting it to the allowed range
85 ICACHE void SetValue64(real64 arValue);
86 //; set channel to afValue
87 #endif
88 void SetRange(uint8 auRange);
89 //; set channel range
90 uint8 GetRange();
91 //; get channel range
92
93 real64 GetMinValue();
94 //; get minimum allowed value
95 real64 GetMaxValue();
96 //; get maximum allowed value
97 void SetMinValue(real64 arMinimum);
98 //; set minimum allowed value
99 void SetMaxValue(real64 arMaximum);
100 //; set maximum allowed value
101
102 //--- internals --------------------------------------------------------
103
104 // constructor / destructor
105 public:
107 CINOSDacChannel (const char* apName, uint16 auNumber, char* apUnit="mV",
108 uint16 auCharacteristics=defCharShowFix + SHOW_DIGIT(3),
109 real64 arLower=REAL64(-10500.0),
110 real64 arUpper=REAL64(+10500.0),
111 uint16 auType=defType_real32, uint16 auArrayLength=1
112 );
114 void SetupChannel (uint16 auNumber, char* apUnit, uint16 auCharacteristics,
115 real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength );
117 void ConvertToReal (uint16 auNumber, char* apUnit, uint16 auCharacteristics,
118 real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength );
119
120 // protected members
121 protected:
124 real64 m_rMaxValue;
125};
126
127//
128//------------------------------------------------------------------------------
129// class CINCOProcessImageDac
130//------------------------------------------------------------------------------
131
132class CINCOProcessImageDac : public CINCOreal32
133{
134 // constructor
135 public:
136 CINCOProcessImageDac(const char* apName, uint16 auNumber, real32 arLower,
137 real32 arUpper, char* apUnit, uint16 auCharacteristics);
138
139 // public member functions
140 public:
141 virtual long Get(void* aDest, long& maxLength, long aIndex=0, long aOffset=0);
142 virtual long Put(void* aSource, long aIndex=0, long aOffset=0);
143 virtual long GetProperty(void* aDest, char* aName, long aIndex=0,
144 long aOffset=0, long* apMaxLength=0, CINCOObject* apParent=0);
145
149 virtual long GetType();
150
154 virtual uint64 GetCharacteristics();
155
156 // protected members
157 protected :
158 uint16 m_uNumber;
159 // channel number
160
161 // allow dynamic object handling (new/delete)
163};
164
165//------------------------------------------------------------------------------
166// class CINCOProcessImageDac_int32
167//------------------------------------------------------------------------------
168
169class CINCOProcessImageDac_int32 : public CINCOint32
170{
171 // constructor
172 public:
173 CINCOProcessImageDac_int32(const char* apName, uint16 auNumber, int32 aiLower,
174 int32 aiUpper, char* apUnit, uint16 auCharacteristics);
175
176 // public member functions
177 public:
178 virtual long Get(void* aDest, long& maxLength, long aIndex=0, long aOffset=0);
179 virtual long Put(void* aSource, long aIndex=0, long aOffset=0);
180
181 // protected members
182 protected :
183 uint16 m_uNumber;
184 // channel number
185
186 // allow dynamic object handling (new/delete)
188};
189
190//------------------------------------------------------------------------------
191// class CINCOProcessImageDac_uint32
192//------------------------------------------------------------------------------
193
194class CINCOProcessImageDac_uint32 : public CINCOuint32
195{
196 // constructor
197 public:
198 CINCOProcessImageDac_uint32(const char* apName, uint16 auNumber, uint32 auLower,
199 uint32 auUpper, char* apUnit, uint16 auCharacteristics);
200
201 // public member functions
202 public:
203 virtual long Get(void* aDest, long& maxLength, long aIndex=0, long aOffset=0);
204 virtual long Put(void* aSource, long aIndex=0, long aOffset=0);
205
206 // protected members
207 protected :
208 uint16 m_uNumber;
209 // channel number
210
211 // allow dynamic object handling (new/delete)
213};
214
215//------------------------------------------------------------------------------
216// class CINCOProcessImageDac_real64
217//------------------------------------------------------------------------------
218
219class CINCOProcessImageDac_real64 : public CINCOreal64
220{
221 // constructor
222 public:
223 CINCOProcessImageDac_real64(const char* apName, uint16 auNumber, real64 arLower,
224 real64 arUpper, char* apUnit, uint16 auCharacteristics);
225
226 // public member functions
227 public:
228 // item address = (long) pData + aIndex*sizeof(item) + aOffset
229 virtual long Put(void* aSource, long aIndex=0, long aOffset=0);
230
231 // protected members
232 protected :
233 uint16 m_uNumber;
234 // channel number
235
236 // allow dynamic object handling (new/delete)
238};
239
240//------------------------------------------------------------------------------
241// end of file
242//------------------------------------------------------------------------------
243
244#endif // INC_CINOSDACCHANNEL_H
#define DECLARE_DYNAMIC(aClass)
Definition cinospartitionmemory.h:328
Definition cinosdacchannel.h:170
Definition cinosdacchannel.h:220
Definition cinosdacchannel.h:195
Definition cinosdacchannel.h:133
virtual uint64 GetCharacteristics()
Get item characteristics.
virtual long GetType()
Return inco type of inco item, depends on port handler config.
Definition cinosdacchannel.h:52
real64 m_rMinValue
value limits
Definition cinosdacchannel.h:123
CINOSDacChannel(const char *apName, uint16 auNumber, char *apUnit="mV", uint16 auCharacteristics=defCharShowFix+SHOW_DIGIT(3), real64 arLower=REAL64(-10500.0), real64 arUpper=REAL64(+10500.0), uint16 auType=defType_real32, uint16 auArrayLength=1)
object constructor
void ConvertToReal(uint16 auNumber, char *apUnit, uint16 auCharacteristics, real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength)
convert to real channel
void SetupChannel(uint16 auNumber, char *apUnit, uint16 auCharacteristics, real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength)
setup chnanel
Definition cinosprocessimagevalue.h:52