//--------------------------------------------------------------------------- #include #pragma hdrstop #include "const.h" #include "isegcanv.h" #include "isegCANHV.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.xfm" TisegCANHVDlg *isegCANHVDlg; //--------------------------------------------------------------------------- __fastcall TisegCANHVDlg::TisegCANHVDlg(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::Button1Click(TObject *Sender) { HVModule16Std->SetOnOff(1<Text)); } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::Button2Click(TObject *Sender) { HVModule16Std->SetOnOff(HVModule16Std->GetOnOff()&(~(1<Text)))); } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::Button3Click(TObject *Sender) { TChVal ChVal; TNominals Nominal=HVModule16Std->GetVInom(); HVModule16Std->SetChn(StrToInt(EditChn->Text)); ChVal.V=StrToFloat(EditVset->Text)/Nominal.V*StandardRes; HVModule16Std->SetVset(ChVal); } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::Button4Click(TObject *Sender) { TChVal ChVal; TNominals Nominal=HVModule16Std->GetVInom(); HVModule16Std->SetChn(StrToInt(EditChn->Text)); ChVal=HVModule16Std->GetVset(); EditVset->Text=FloatToStr(((float)ChVal.V/StandardRes)*Nominal.V); } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::Button7Click(TObject *Sender) { TChVal ChVal; TNominals Nominal=HVModule16Std->GetVInom(); HVModule16Std->SetChn(StrToInt(EditChn->Text)); ChVal=HVModule16Std->GetVmeas(); EditVmeas->Text=FloatToStr(((float)ChVal.V/StandardRes)*Nominal.V); } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::Button5Click(TObject *Sender) { uw16 val; TNominals Nominal=HVModule16Std->GetVInom(); val=StrToFloat(EditRampSpeed->Text)/Nominal.V*StandardRes; HVModule16Std->SetRamp(val); } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::Button6Click(TObject *Sender) { uw16 val; TNominals Nominal=HVModule16Std->GetVInom(); val=HVModule16Std->GetRamp(); EditRampSpeed->Text=FloatToStr(((float)val/StandardRes)*Nominal.V); } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::Button8Click(TObject *Sender) { HVModule16Std->SetLogOn(released); Sleep(100); Close(); } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::Timer1Timer(TObject *Sender) { ConnectCANHw2Driver(PCAN_PCI); ReInitCanSystem(0); strcpy(CANClient, "isegCANHVTest"); InitCan(0, 125, &Application, CANClient); //CANLine 1, BitRate 125kbit/s, Windows Handle, CANClient "isegCANHVTest" //Result: if return true -> CANClient: Client isegCANHVTest // if return false -> error message HVModule16Std=NULL; HVModule16Std = new THVModule16Std; uw16 tout=0; bool StatLock; Sleep(2000); do { if(HVModule16Std->GetLogOn()) { HVModule16Std->SetLogOn(locked); SwitchToThread(); StatLock=true; } else if (tout<100) tout++; else if (StatLock) break; else exit(1); } while (tout<100); Timer1->Enabled=false; } //--------------------------------------------------------------------------- void __fastcall TisegCANHVDlg::FormClose(TObject *Sender, TCloseAction &Action) { ReInitCanSystem(1); } //---------------------------------------------------------------------------