亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dpi515com.cpp

?? 壓力控制器通訊源代碼
?? CPP
?? 第 1 頁 / 共 3 頁
字號(hào):

    if(!status)
    {


        status = viRead (instr, reinterpret_cast<unsigned char *>(strRead), 50, &rtnCount);
        rcdBytes = rcdBytes + rtnCount; // number of bytes actually read

        if(strncmp(strRead, ":UNIT:PRES", 10)==NULL)
        {
            ptr = strtok(strRead, " ");
            ptr = strtok(NULL, "\r");
            strcpy(currentUnit, ptr);
            strcpy(strUnit, ptr);
            pUnit = GetPressureUnit(ptr);
        }
        else
            status = -1;
    }
    return status;
}

/******************************************************************************/
/* Function:    setCurrentUnit                                                */
/* Author:      Alaster Jones                                                 */
/* Purpose:     set the current unit                                          */
/* Inputs:      string pointer unit                                           */
/* Outputs:     long status                                                   */
/******************************************************************************/
long cDPI515Communications::setCurrentUnit(char * strUnit)
{
    char strWrite[100];
    long status = 0;

    sprintf(strWrite, ":UNIT %s\r\n", strUnit);
    wrtCount = strlen(strWrite);
    status = viWrite (instr, reinterpret_cast<unsigned char *>(strWrite), wrtCount, &rtnCount);
    sndBytes = sndBytes + rtnCount; // number of bytes actually written

    return status;
}

/******************************************************************************/
/* Function:    setIsolationValve                                             */
/* Author:      Alaster Jones                                                 */
/* Purpose:     set the isolation valve open or closed                        */
/* Inputs:      short open/closed                                             */
/* Outputs:     long status                                                   */
/******************************************************************************/
long cDPI515Communications::setIsolationValve(short sOpen)
{
    char strWrite[100];
    long status = 0;

    sprintf(strWrite, ":OUTP:ISOL %d\r\n", sOpen);
    wrtCount = strlen(strWrite);
    status = viWrite (instr, reinterpret_cast<unsigned char *>(strWrite), wrtCount, &rtnCount);
    sndBytes = sndBytes + rtnCount; // number of bytes actually written

    return status;
}

/******************************************************************************/
/* Function:    getPressureOperationsRegister                                 */
/* Author:      Alaster Jones                                                 */
/* Purpose:     read the pressure operations register                         */
/* Inputs:      pointer to operations register value                          */
/* Outputs:     long status                                                   */
/******************************************************************************/
long cDPI515Communications::getPressureOperationsRegister(short * pReg)
{
    char * ptr;
    char strWrite[100];
    char strRead[100];
    long status = 0;

    // flush the buffers before we do a read every time
    status = viFlush(instr, VI_WRITE_BUF_DISCARD);
    status = viFlush(instr, VI_READ_BUF_DISCARD);

    strcpy(strWrite, ":STAT:OPER:PRES?\r\n");

    wrtCount = strlen(strWrite);
    status = viWrite (instr, reinterpret_cast<unsigned char *>(strWrite), wrtCount, &rtnCount);
    sndBytes = sndBytes + rtnCount; // number of bytes actually written

    if(!status)
    {
        status = viRead (instr, reinterpret_cast<unsigned char *>(strRead), 50, &rtnCount);
        rcdBytes = rcdBytes + rtnCount; // number of bytes actually read

        if(!status && strncmp(strRead, ":STAT:OPER:PRES:EVEN", 20)==NULL)
        {
            ptr = strtok(strRead, " ");
            ptr = strtok(NULL, "\r");
            *pReg = atoi(ptr);
        }
        else
            status = -1;
    }
    return status;
}

/******************************************************************************/
/* Function:    onSRQ                                                         */
/* Author:      Alaster Jones                                                 */
/* Purpose:     act on the srq event                                          */
/* Inputs:      passed the srq value                                          */
/* Outputs:     long status                                                   */
/******************************************************************************/
long cDPI515Communications::onSRQ(short srqRegister)
{
    long status = 0;

    short sReg;

    if (srqRegister >= 192) // get the pressure operations register
        status = getPressureOperationsRegister(&sReg);

    if(sReg == 2) // if it's 2 we have a range change complete event so open iso valve
        setIsolationValve(1);

    return status;
}

/******************************************************************************/
/* Function:    getStatusByte                                                 */
/* Author:      Alaster Jones                                                 */
/* Purpose:     get the status byte (after an SRQ event)                      */
/* Inputs:      passed the session ID and pointer to SRQ register             */
/* Outputs:     long status                                                   */
/******************************************************************************/
long cDPI515Communications::getStatusByte(ViSession vi, USHORT * srq)
{
    // read the status byte
    return viReadSTB(vi, srq);
}

/******************************************************************************/
/* Function:    gotoLocal                                                     */
/* Author:      Alaster Jones                                                 */
/* Purpose:     return the controller to local control                        */
/* Inputs:      none                                                          */
/* Outputs:     long status                                                   */
/******************************************************************************/
long cDPI515Communications::gotoLocal(void)
{
    char strWrite[100];
    long status = 0;

    strcpy(strWrite, ":LOC\r\n");
    status = viWrite (instr, reinterpret_cast<unsigned char *>(strWrite), strlen(strWrite), &rtnCount);
    sndBytes = sndBytes + rtnCount; // number of bytes actually written

    return status;
}

/******************************************************************************/
/* Function:    getpressurePercentFS                                          */
/* Author:      Alaster Jones                                                 */
/* Purpose:     return a percent full scale value                             */
/* Inputs:      pressure                                                      */
/* Outputs:     pressure as percent full scale                                */
/******************************************************************************/
double cDPI515Communications::getpressurePercentFS(double pressure)
{
    // work it out in mbar as current range full scale stored as mbar
    float mbarpressureReading;

    mbarpressureReading = pressure * pUnit->dConversion;
    return (mbarpressureReading/currentRangeFS)*100;
}

/******************************************************************************/
/* Function:    getpercentFSPressure                                          */
/* Author:      Alaster Jones                                                 */
/* Purpose:     return a pressure value                                       */
/* Inputs:      percent FS                                                    */
/* Outputs:     percent full scale as a pressure (current units)              */
/******************************************************************************/
double cDPI515Communications::getpercentFSPressure(double pcFS)
{
    // work it out in mbar as current range full scale stored as mbar
    float cuFullScale;

    cuFullScale = currentRangeFS * pUnit->dConversion;
    return (pcFS*cuFullScale)/100;
}

/******************************************************************************/
/* Function:    waitforSRQ                                                    */
/* Author:      Alaster Jones                                                 */
/* Purpose:     wait for a serial SRQ to return                               */
/* Inputs:      wait period and pointer to SRQ return value                   */
/* Outputs:     long status                                                   */
/******************************************************************************/
long cDPI515Communications::waitforSRQ(short waitPeriod, short * SRQ_event)
{
    struct timeb t;
    long timenow, timenext;
    long status = 0;
    char * ptr;
    char strRead[100];

    *SRQ_event = 0;

    ftime(&t);
    timenext = t.time + waitPeriod;

    do
    {
        ftime(&t);
        timenow = t.time;
        //Application->ProcessMessages();

        status = viRead (instr, reinterpret_cast<unsigned char *>(strRead), 50, &rtnCount);
        rcdBytes = rcdBytes + rtnCount; // number of bytes actually read

        if(!status && strncmp(strRead, ":SRQ", 4)==NULL)
        {
            ptr = strtok(strRead, " ");
            ptr = strtok(NULL, "\r");
            *SRQ_event = atoi(ptr);
            //onSRQ(*SRQ_event);
            return status;
        }
        else
            status = -1;
    }
    while(timenow<timenext);

    return status;
}

/******************************************************************************/
/* Function:    setVent                                                       */
/* Author:      Alaster Jones                                                 */
/* Purpose:     vent the controller                                           */
/* Inputs:      short vent start/stop                                         */
/* Outputs:     long status                                                   */
/******************************************************************************/
long cDPI515Communications::setVent(short On)
{
    char strWrite[100];
    long status = 0;

    sprintf(strWrite, ":SOUR:VENT %d\r\n", On);
    status = viWrite (instr, reinterpret_cast<unsigned char *>(strWrite), strlen(strWrite), &rtnCount);
    sndBytes = sndBytes + rtnCount; // number of bytes actually written

    return status;
}

/******************************************************************************/
/* Function:    clearByteCounters                                             */
/* Author:      Alaster Jones                                                 */
/* Purpose:     just clear the basic stuff                                    */
/* Inputs:      none                                                          */
/* Outputs:     none                                                          */
/******************************************************************************/
void cDPI515Communications::clearByteCounters(void)
{
    sndBytes = 0;
    rcdBytes = 0;
    trap_SRQ = false;
    trap_SRQ_Value = 0;
};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一卡二卡在线观看| 久久精品一区八戒影视| 欧美丰满高潮xxxx喷水动漫| 美女看a上一区| 亚洲主播在线观看| 欧美日韩精品是欧美日韩精品| 国产精品资源网| 午夜精品久久久久影视| 国产精品嫩草影院com| 一本色道综合亚洲| 国产91精品在线观看| 日本不卡一区二区| 亚洲午夜精品17c| 欧美国产一区二区在线观看| 久久久久免费观看| 欧美色图12p| 91麻豆国产福利在线观看| 国产精品一区免费在线观看| 麻豆精品视频在线观看| 亚洲一区二区三区不卡国产欧美| 亚洲色图视频网| 日韩欧美www| 精品国产污污免费网站入口| 欧美一级一级性生活免费录像| 欧美视频在线不卡| 在线视频中文字幕一区二区| 91精品办公室少妇高潮对白| 91在线免费视频观看| 91在线国产福利| 99久久久久久99| 91成人看片片| 3d成人h动漫网站入口| 91精品国产综合久久精品图片| 欧美肥妇毛茸茸| 欧美v日韩v国产v| 中日韩av电影| 一色桃子久久精品亚洲| 亚洲卡通动漫在线| 五月天久久比比资源色| 久久精品久久综合| 美女免费视频一区| 成人高清在线视频| 51久久夜色精品国产麻豆| 精品99999| ...中文天堂在线一区| 亚洲一级在线观看| 国产一区二区不卡老阿姨| 91日韩在线专区| 91精选在线观看| 亚洲欧美自拍偷拍| 日韩 欧美一区二区三区| 国产一区二区不卡| 日韩一区二区视频在线观看| 国产精品视频一二三区| 日韩电影在线一区二区| 97精品超碰一区二区三区| 制服丝袜中文字幕一区| 亚洲欧洲一区二区三区| 久久99九九99精品| 精品视频在线视频| 国产精品青草久久| 久久精品久久综合| 8x福利精品第一导航| 亚洲天堂成人在线观看| 激情深爱一区二区| 欧美欧美欧美欧美首页| 一区二区三区四区不卡在线 | 欧美成人一区二区三区片免费| 综合自拍亚洲综合图不卡区| 国产高清久久久| 91精品国产综合久久久久| 亚洲成av人片| 在线观看亚洲一区| 一区二区三区不卡在线观看 | 欧美日韩亚洲高清一区二区| **性色生活片久久毛片| 成+人+亚洲+综合天堂| 中文字幕乱码一区二区免费| 成人一区二区三区| 日本一区二区免费在线| 欧美三级日韩三级| 欧美v国产在线一区二区三区| 日韩午夜中文字幕| 亚洲欧美在线视频观看| 激情综合色综合久久综合| 色狠狠一区二区三区香蕉| 久久精品一级爱片| 美日韩一级片在线观看| 欧美在线一二三| 国产精品国产精品国产专区不蜜| 九九国产精品视频| 日韩欧美色综合| 天天色图综合网| 欧美性xxxxxx少妇| 一区二区激情视频| 在线视频一区二区免费| 亚洲精品乱码久久久久久黑人 | 99免费精品在线| 久久精品视频免费| 国产精品一级二级三级| 国产亚洲欧美一区在线观看| 韩日精品视频一区| 欧美大片免费久久精品三p| 青青草97国产精品免费观看| 欧美久久久影院| 免费日韩伦理电影| 欧美一级二级三级蜜桃| 蜜臀精品久久久久久蜜臀| 日韩三级伦理片妻子的秘密按摩| 免费久久99精品国产| 日韩精品一区二区在线| 国产一区二区在线观看视频| 国产日本欧洲亚洲| 成人免费电影视频| 亚洲天堂2014| 欧美性高清videossexo| 奇米一区二区三区| 精品国产一区二区精华| 国产精品一品视频| 中文字幕亚洲在| 欧美日韩综合在线| 日本成人在线视频网站| 2014亚洲片线观看视频免费| 成人av综合一区| 一区二区在线观看视频| 6080午夜不卡| 国产精品一区二区三区四区 | 美脚の诱脚舐め脚责91| 国产午夜精品一区二区三区视频| 99久久伊人精品| 亚洲一区二区三区爽爽爽爽爽| 欧美一二三四区在线| 国产麻豆一精品一av一免费 | 99久久免费视频.com| 亚洲国产日韩在线一区模特| 日韩欧美二区三区| 国产成人a级片| 一区二区三区四区亚洲| 欧美成人vps| 不卡在线观看av| 日韩不卡一区二区三区| 国产亚洲精品福利| 欧美图区在线视频| 国产一区二区视频在线播放| 亚洲蜜臀av乱码久久精品蜜桃| 91精品国产综合久久香蕉麻豆| 岛国精品在线播放| 肉色丝袜一区二区| 中文字幕欧美国产| 欧美区视频在线观看| 成人午夜电影久久影院| 三级精品在线观看| 国产精品成人网| 日韩一级在线观看| 91免费视频网址| 韩国欧美国产一区| 亚洲精品午夜久久久| 日韩精品一区二区三区swag| av不卡免费在线观看| 另类小说色综合网站| 亚洲欧美二区三区| 久久影音资源网| 欧美日本一区二区| 国产91在线观看| 美女看a上一区| 亚洲制服丝袜av| 国产日韩精品久久久| 91精品中文字幕一区二区三区| 99国产精品久久久| 国产一区二区三区在线观看免费| 亚洲狠狠爱一区二区三区| 国产精品毛片久久久久久久| 欧美一级欧美三级| 欧美四级电影在线观看| 波多野结衣在线一区| 久久99在线观看| 午夜精品在线看| 伊人婷婷欧美激情| 国产精品久久久久影院亚瑟| 日韩精品一区二区三区四区| 欧美日韩精品三区| 在线精品国精品国产尤物884a| 国产成人精品一区二 | 日韩一区二区在线观看视频| 在线观看网站黄不卡| 99国产精品99久久久久久| 国产一区二区三区不卡在线观看| 天天综合色天天| 亚洲午夜精品久久久久久久久| 亚洲欧美日韩在线| 国产精品福利影院| 国产精品无遮挡| 国产欧美日韩综合精品一区二区| 久久美女高清视频| 精品国精品自拍自在线| 日韩女优制服丝袜电影| 欧美一区二区三区人| 91精品一区二区三区在线观看| 欧美视频精品在线观看| 色老汉一区二区三区|