⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formrun.cpp

📁 16 relay output channels and 16 isolated digital input channels LED indicators to show activated
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "FormRun.h"
#include "FormStart.h"
#include "..\..\..\include\driver.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;

PT_AIVoltageIn ptAIVolIn;
extern PT_AIConfig ptAIConfig;
extern long DeviceHandle;
extern int AICtrMode;
extern long ErrCde;
extern char szErrMsg[80];

//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm2::FormCreate(TObject *Sender)
{
//    hscrFreq->Position = 10;
//    tmrRead->Enabled = True;
//    tmrLed->Enabled = False;
    hscrFreqChange(Sender);
}
//---------------------------------------------------------------------------

void __fastcall TForm2::CmdReadClick(TObject *Sender)
{
    Single voltage;

    tmrRead->Enabled = False;

    ptAIVolIn.chan = ptAIConfig.DasChan;
    ptAIVolIn.gain = ptAIConfig.DasGain;
    //ptAIVolIn.TrigMode = AICtrMode;
    ptAIVolIn.TrigMode = 0; //internal triger
    ptAIVolIn.voltage = &voltage;
    shapLed->Brush->Color = clRed;

    ErrCde = DRV_AIVoltageIn(DeviceHandle, &ptAIVolIn);
    if (ErrCde != 0)
    {
        DRV_GetErrorMessage(ErrCde, szErrMsg);
        Application->MessageBox(szErrMsg, "Error!!", MB_OK);
        return;
    }

    txtVoltRead->Text = FloatToStrF(voltage, ffFixed, 5, 2);
}
//---------------------------------------------------------------------------

void __fastcall TForm2::hscrFreqChange(TObject *Sender)
{
    if (hscrFreq->Position == 0)
        tmrRead->Interval = 0;
    else
        tmrRead->Interval = 10000 / hscrFreq->Position;
    
    txtSample->Text = FloatToStrF((hscrFreq->Position / 10.0), ffFixed, 5, 2);

    // "Read One Shot" would disable the "tmrRead" Timer,
    // so it need to enable here.
    tmrRead->Enabled = True;
    tmrLed->Enabled = True;
}
//---------------------------------------------------------------------------

void __fastcall TForm2::txtVoltReadClick(TObject *Sender)
{
    tmrRead->Enabled = True;
    tmrLed->Enabled = True;
}
//---------------------------------------------------------------------------

void __fastcall TForm2::tmrReadTimer(TObject *Sender)
{
    Single voltage;

    shapLed->Brush->Color = clRed;
    ptAIVolIn.chan = ptAIConfig.DasChan;
    ptAIVolIn.gain = ptAIConfig.DasGain;
    //ptAIVolIn.TrigMode = AICtrMode;
    //internal triger
    ptAIVolIn.TrigMode = 0;
    ptAIVolIn.voltage = &voltage;

    ErrCde = DRV_AIVoltageIn(DeviceHandle, &ptAIVolIn);
    if (ErrCde != 0)
    {
        DRV_GetErrorMessage(ErrCde, szErrMsg);
        Application->MessageBox(szErrMsg, "Error!!", MB_OK);
        tmrRead->Enabled = False;
        return;
    }

    txtVoltRead->Text = FloatToStrF(voltage, ffFixed, 5, 2);
}
//---------------------------------------------------------------------------

void __fastcall TForm2::tmrLedTimer(TObject *Sender)
{
    shapLed->Brush->Color = clGray;        
}
//---------------------------------------------------------------------------

void __fastcall TForm2::CmdExitClick(TObject *Sender)
{
    Form2->Close();
    Form1->Show();
    Form1->cmdExit->SetFocus();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -