unit smsh;
{Schrittmotorsteuerung - Headerdatei
Globale Programmfestlegungen}
interface
uses WinTypes;
const
AppName:array[0..7]of Char='MOTORST'#0;
Profile:array[0..12]of Char='WasserMP.INI'#0;
Section:array[0..7]of Char='MotorSt'#0;
HelpFileName:array[0..11]of Char='MOTORST.HLP'#0;
DdeTopic='Motor';
DdeItem1='Position';
DdeItem2='InMove';
DdeItem3='Synced';
DdeLastData=3;
DdeDataS: array[0..DdeLastData]of PChar=
(DdeTopic,DdeItem1,DdeItem2,DdeItem3);
ID_Left=1;
ID_Scrollbar=2;
ID_Right=3;
ID_Cur=4;
ID_Zero=5;
ID_Sync=6;
ID_Move=7;
ID_DDE=8;
ID_X=100;
ID_Y=200;
ID_Z=300;
IDC_Main=100;
CM_Ende=909;
CM_Connect=911;
CM_Bereich=921;
CM_Grenzen=922;
CM_Save=923;
CM_HelpIndex=991;
CM_HelpDde=992;
CM_About=999;
ID_Bereich=921;
ID_Grenzen=922;
ID_Connect=911;
ID_StepDlg=201;
ID_About=999;
ID_AbsWert=101;
ID_RelWert=103;
ID_Goto=104;
ID_SbFein=105;
ID_SbGrob=106;
ID_Nullpunkt=107;
ID_Stop=108;
ID_Free=112;
ID_RefFahrt=109;
ID_InFahrt=110;
ID_DdeVerb=111;
WM_Connect=WM_User+10; {Benachrichtigung auf Verbindung(sauflösung)}
WM_Poke=WM_User+11; {Position als String setzen}
WM_Execute=WM_User+12; {versch. Funktionen als String ausf.}
WM_Request=WM_User+13; {Position als String anfordern}
WM_MovEnd=WM_User+14; {Ob das klappt? Und ob!}
WM_Proceed=WM_User+15; {Meldung ans Mutterfenster}
WM_Assign=WM_User+16; {Meldung ans Mutterfenster}
Faktor=1000; {Umrechnung zum VxD}
SBFaktor=100; {Umrechnung für Fein-Scrollbar}
type
TS255=array[0..255]of Char; {Nullterminierter String mit max. 255 Zeichen}
TS31=array[0..31]of Char; {Nullterminierter String mit max. 31 Zeichen}
TReal=Real; {Falls jemand stattdessen single oder double will}
const
BereichVon: TReal=-90.0;
BereichBis: TReal=90.0;
BereichSchritt:TReal=1.0; {Schrittweite}
BereichWarte: Word=1000; {1 Sekunde}
BereichSchrittCheck:Boolean=false; {Angabe Schrittweite, nicht Schritte}
BereichWarteCheck:Boolean=false; {Warte auf Tastendruck, nicht auf Zeit}
LeftBound: TReal=-270.0; {Grad Grenzen}
RightBound: TReal=270.0;
RefPos: TReal=-90.0; {Position des Referenzschalters}
RefSpeed: TReal=-20.0; {Geschwindigkeit in Grad pro Sekunde}
MoveSpeed: TReal=30.0; {Normalgeschwindigkeit}
MoveAccel: TReal=2.0; {Beschleunigung in Grad pro Quadratsekunde}
Versatz: TReal=0.0; {Versatz zwischen beiden Anzeigewerten}
{Abspos:=Relpos-Versatz, Relpos:=Abspos+Versatz}
SchrittPU: TReal=-200; {Schritte pro Umdrehung}
UnitUsed: Byte=0; {Motor-Nummer}
UseDreieck: Boolean=false; {Dreieck/Sinus-Schalter}
InformDlg: HWnd=0; {Kindfenster-Handle,
das über Bewegungsende informiert wird}
NoMotor: boolean=false; {Schaltet den Debug-Modus ein/aus}
const {Stringkonstanten für String-Ressource}
ST_Motorsel=3;
ST_BereichFehler=4;
ST_BadProfile=5;
ST_NoMotor=6;
ST_BreakDde=7;
ST_BadNumber=8;
ST_BadMove=9;
ST_BadReffahrt=10;
ST_BadZeroRange=11;
ST_NoEditFocused=12;
ST_NoReffahrt=13;
STQuest:array[0..1]of Char='?';
STDez:array[0..2]of Char='%d';
implementation
end.
Detected encoding: OEM (CP437) | 1
|
|