{ Контроллер масс-спектрометра МИ1201-АГМ ОБЩИЕ ТИПЫ ДАННЫХ} {--------------------------------------------------------------------------- The control units for mass-spectrometer MI1201-AGM (c) Copyright Aleksandrov O.E., 1998 Модуль управления масс-спектрометром МИ1201-АГМ (c) Собственность Александрова О.Е., 1998 Molecular Physics department 620002, Екатеринбург, К-2 USTU, Ekaterinsburg, K-2, 620002 УГТУ, RUSSIA Кафедра молекулярной физики phone 75-48-39 тел. 75-48-39 E-mail: aleks@dpt.ustu.ru ----------------------------------------------------------------------------} unit MITypes; interface {$IfNDef Seg16} USES Windows; {$EndIf} type tTiks={$IfDef Seg16}longint{$else}cardinal{$EndIf}; tCtrlFlag=(fCatodOK, fBPGI_On, f10kV_On, fOverload, fBeam_Off, f5, f6, f7); tCtrlFlags=set of tCtrlFlag; tController=(Bus {0}, CVF{1}, Roll{2}, Volts{3}, Panel{4}, ISSB{5}, Count{6}, None{7}); tControllers=set of tController; tChannel=(PNC1, PNC2, PNC3, PNC4, PNC5, PNC_SEM, IonCounter); tChannels=set of tChannel; tVoltageChannel=( IMCh, Acceleration, Magnet, Mutiplicator, AntiDinatron, BaseUPT, UPT1, UPT2, UPT3, UPT4, UPT5, UPT6, UPT7, UPT8, UPTU, Lens ); tVoltageChannels= set of tVoltageChannel; { Включаемые элементы МИ1201-АГМ } tSwitch=({ контроллер ПНЧ (АК9) } fCVF_Beam, fCVF_Base0, fCVF_InputEMU, fCVF_DoNotInvertInput, { контроллер Пульта управления (АК3) } fBPGI, f10kV, fSEM, fValvesControl ); tSwitches=set of tSwitch; { Клапаны МИ1201-АГМ (ВСЕ)} tValve=(vSample1, vSample2, vStandard1, vStandard2, vStandard3, vStandard4, vPumping, vLineIn1, vLineOut1, vLineIn2, vLineOut2); tValves=set of tValve; { Клапаны проб МИ1201-АГМ } tSource=(sCloseAll, sSample1, sSample2, sStandard1, sStandard2, sStandard3, sStandard4, sPumping, sBad); const cSourceNames:array[tSource] of string=( 'Закрыто', 'Проба 1(VE3)', 'Проба 2(VE9)', 'Эталон 1(VE4)', 'Эталон 2(VE5)', 'Эталон 3(VE7)', 'Эталон 4(VE8)', 'Откачка(VE6)', '?' ); type { Сигнал со счетчиков } tSignalData={$IfDef Seg16} 0..High(longint) {$Else} uint {$EndIf}; { Обобщенный сигнал } tGeneralSignalData={$IfDef Seg16}longint {$Else} int64 {$EndIf}; tNormalizedSignalData=extended; { Напряжения } tMkVolts={$IfDef Seg16} longint {$Else} int64 {$EndIf}; { Масса иона } tMass=double; { Счетчик импульсов развертки магнита } tMagnetCounter=longint; { Данные о ионном токе со всех каналов } tSignals=record Count:byte; Time:word; Mass:tMass; Signals:array[tChannel] of tGeneralSignalData; end; tSignalsVArray=array[tChannel] of double; tSignalsV=record Count:byte; Time:word; Mass:tMass; Signals:tSignalsVArray; end; TNormalizedSignals=record Count:byte; Time:word; Mass:tMass; Signals:array[tChannel] of double; end; t8Bit=0..7; t8Bits=set of t8Bit; implementation end.