INOS
cinosposchannel.h
Go to the documentation of this file.
1 //******************************************************************************
27 //******************************************************************************
28 
29 #ifndef INC_CINOSPOSCHANNEL_H
30 #define INC_CINOSPOSCHANNEL_H
31 
32 //------------------------------------------------------------------------------
33 // defines
34 //------------------------------------------------------------------------------
35 //
36 //
37 //------------------------------------------------------------------------------
38 // includes
39 //------------------------------------------------------------------------------
40 //
41 // system
42 //
43 // C++
44 //
45 // project
46 //
47 //------------------------------------------------------------------------------
48 // type definition
49 //------------------------------------------------------------------------------
50 //
51 typedef int32 (*tpPosHook)(int32, intid);
52 //
53 //------------------------------------------------------------------------------
54 // class definition
55 //------------------------------------------------------------------------------
56 //
57 class CINOSBusJob;
59 {
60  //--- user interface ---------------------------------------------------
61 
62  // public member functions
63  public :
64  ICACHE virtual void Set(real64 arValue) override;
65  //; set channel to arValue
66  ICACHE virtual real64 Get() override;
67  //; get value of channel
68  ICACHE int32 GetPosition();
69  //; return actual position
70  #if defined(INOS_PROCESSIMAGE_OVERWRITE)
71  ICACHE void SetPosition(int32 aiValue, bool abOverwrite = true);
72  //; set channel to aiValue
73  //; (abOverwrite=true -> value always set, abOverwrite=false -> value
74  //; set if channel is NOT in overwrite mode)
75  #else
76  ICACHE void SetPosition(int32 aiValue);
77  //; set channel to aiValue
78  #endif
79  ICACHE int32 GetPositionDelta();
80  //; return delta to last GetPosition or last GetPositionDelta
81  ICACHE int32 GetRawOffset();
82  //; return raw position offset
83  ICACHE void SetRawOffset(int32 aiOffset);
84  //; set raw position offset
85  ICACHE int32 GetRawPosition(uint32 auStage=0);
86  //; return raw position before hook number 'auStage'
87  ICACHE real32 GetControl();
88  //; get channel control (100% = 28672, -100% = - 28672)
89  ICACHE virtual void SetControl(real64 arValue) override;
90  //; set channel control to afValue
91  ICACHE real32 GetSerror();
92  //; get channel S error [inc]
93  ICACHE void SetSerror(real32 arValue);
94  //; set channel S error to arValue
95  ICACHE void SetValue(real32 arValue);
96  //; set channel control to arValue * 2.8672 -> takes +-10000.0 mV
97  ICACHE bool GetSyncEnable();
98  //; return state of 'sync enable' output
99  ICACHE void SetSyncEnable(bool abValue);
100  //; set 'sync enable' output to abValue
101  ICACHE bool GetAxisEnable();
102  //; return 'axis enable' output
103  ICACHE void SetAxisEnable(bool abValue);
104  //; set 'axis enable' output to abValue
105  ICACHE bool GetSynced();
106  //; return state of 'synced' input
107  ICACHE bool GetZeroImpuls();
108  //; return state of 'zero impuls' input
109  ICACHE bool GetAxisEnabled();
110  //; return state of 'axis enabled' input
111  ICACHE bool GetInverted();
112  //; return true if the channel-direction is inverted
113  ICACHE void SetInverted(bool abValue);
114  //; set the channel-direction
115  ICACHE void SetCalibEnabled(bool abValue);
116  //; set channel calibration enabled flag
117  ICACHE bool GetCalibEnabled();
118  //; return true if the channel calibration enabled
119 
120  void RegisterHook(tpPosHook apPosHook, int32 aiId, char* apUnit=0,
121  uint32 auCharacteristics=DF_INOS_IMAGE_CHN_DEF_CHAR,
122  int32 aiLower=DF_INOS_IMAGE_CHN_DEF_INT,
123  int32 aiUpper=DF_INOS_IMAGE_CHN_DEF_INT
124  );
125  //; register channel hook
126 
127  //--- internals --------------------------------------------------------
128 
129  // constructor / destructor
130  public:
131  //; object constructor
132  CINOSPosChannel (const char* apName, uint16 auNumber, uint16 auArrayLength=1);
134  void SetupChannel (uint16 auNumber, uint16 auArrayLength );
136  void ConvertToReal (uint16 auNumber, uint16 auArrayLength );
137 
138  // protected members
139  protected:
140  int32 m_iOldPosition;
141  //; last got position (needed for GetPositionDelta)
142 };
143 
144 //
145 //------------------------------------------------------------------------------
146 // global variables
147 //------------------------------------------------------------------------------
148 //
149 //
150 //------------------------------------------------------------------------------
151 // end of file
152 //------------------------------------------------------------------------------
153 
154 #endif // INC_CINOSPOSCHANNEL_H
CINOSPosChannel
Definition: cinosposchannel.h:58
CINOSProcessImageValue
Definition: cinosprocessimagevalue.h:51
CINOSPosChannel::ConvertToReal
void ConvertToReal(uint16 auNumber, uint16 auArrayLength)
convert to real channel
CINOSPosChannel::SetupChannel
void SetupChannel(uint16 auNumber, uint16 auArrayLength)
setup channel