Ejemplo n.º 1
0
        public static int ReadAPEIOCardOutputBit(int cardNo, int cardOutputBit)//读扩展IO卡输出点
        {
            uint doValue = 0;
            bool outputStatus;
            int  result;

            DAQ_I32.DAQ_Mul_GDO_Get(DAQ_I32.DAQ_TYPE.DAQ_D3232, cardNo, ref doValue);
            outputStatus = (doValue & (1 << cardOutputBit)) != 0;
            result       = outputStatus ? 1 : 0;//返回当前点位电平状态,0或1
            return(result);
        }
Ejemplo n.º 2
0
        public static int ReadAPEIOCardInputBit(int cardNo, int cardInputBit)//读扩展IO卡输入点
        {
            uint diValue = 0;
            bool inputBitStatus;
            int  result;

            DAQ_I32.DAQ_Mul_GDI_Get(DAQ_I32.DAQ_TYPE.DAQ_D3232, cardNo, ref diValue);
            inputBitStatus = (diValue & (1 << cardInputBit)) != 0;
            result         = inputBitStatus ? 1 : 0;//返回当前点位电平状态,0或1
            return(result);
        }
Ejemplo n.º 3
0
        public static void WriteAPEIOCardOutputBit(int cardNo, int cardDoBit, int status)//扩展IO卡输出点Set or Reset
        {
            uint doCurrentValue = 0;
            uint doValue        = 0;

            DAQ_I32.DAQ_Mul_GDO_Get(DAQ_I32.DAQ_TYPE.DAQ_D3232, cardNo, ref doCurrentValue);
            if (status == 1)//Set
            {
                doValue = (uint)(doCurrentValue | (uint)(1 << cardDoBit));
            }
            else if (status == 0)//Reset
            {
                doValue = (uint)(doCurrentValue & (4294967295 - (1 << cardDoBit)));
            }
            DAQ_I32.DAQ_Mul_GDO_Set(DAQ_I32.DAQ_TYPE.DAQ_D3232, cardNo, doValue);
        }
Ejemplo n.º 4
0
        public static void APEIOCardInitial() //初始化IO扩展卡
        {
            int rtn = -1;

            uint[] cardIOID = new UInt32[3];//卡号为0
            rtn         = DAQ_I32.DAQ_Mul_Sys_Initial(cardIOID);
            aPECardIOID = 4;
            if (rtn != 0)
            {
                MessageBox.Show("没有找到IO卡,请检测后重试!");
            }
            else
            {
                //DAQ_I32.DAQ_GDO_Cfg(cardIOID, 0xFFFFFF);//DO正逻辑
                DAQ_I32.DAQ_Mul_GDO_Cfg(DAQ_I32.DAQ_TYPE.DAQ_D3232, 0, 0x0); //DO负逻辑
                //DAQ_I32.DAQ_GDI_Cfg(cardIOID, 0xFFFFFF);//DI正逻辑
                DAQ_I32.DAQ_Mul_GDI_Cfg(DAQ_I32.DAQ_TYPE.DAQ_D3232, 0, 0);   //DI负逻辑
            }
        }
Ejemplo n.º 5
0
 public static void WriteIOCard7432OutputBit(ushort cardID, ushort cardDoBit, ushort status)
 {
     if (CAMiClsVariable.strIOCard == "7432")
     {
         DASK.DO_WriteLine((ushort)CAMiClsVariable.cardRegId, 0, cardDoBit, status);
     }
     else
     {
         uint doCurrentValue = 0;
         uint doValue        = 0;
         DAQ_I32.DAQ_Mul_GDO_Get(DAQ_I32.DAQ_TYPE.DAQ_D3232, (int)cardID, ref doCurrentValue);
         if (status == 1)//Set
         {
             doValue = (uint)(doCurrentValue | (uint)(1 << cardDoBit));
         }
         else if (status == 0)//Reset
         {
             doValue = (uint)(doCurrentValue & (4294967295 - (1 << cardDoBit)));
         }
         DAQ_I32.DAQ_Mul_GDO_Set(DAQ_I32.DAQ_TYPE.DAQ_D3232, (int)cardID, doValue);
     }
 }
Ejemplo n.º 6
0
 public static int ReadIOCard7432OutputBit(ushort cardID, int cardOutputBit)//读扩展IO卡输出点
 {
     if (CAMiClsVariable.strIOCard == "7432")
     {
         uint doValue = 0;
         bool outputBitStatus;;
         int  result;
         DASK.DO_ReadPort((ushort)CAMiClsVariable.cardRegId, 0, out doValue);
         outputBitStatus = (doValue & (1 << cardOutputBit)) != 0;
         result          = outputBitStatus ? 1 : 0;
         return(result);
     }
     else//APE IO卡
     {
         uint doValue = 0;
         bool outputStatus;
         int  result;
         DAQ_I32.DAQ_Mul_GDO_Get(DAQ_I32.DAQ_TYPE.DAQ_D3232, (int)cardID, ref doValue);
         outputStatus = (doValue & (1 << cardOutputBit)) != 0;
         result       = outputStatus ? 1 : 0;//返回当前点位电平状态,0或1
         return(result);
     }
 }
Ejemplo n.º 7
0
 public static void APEIOCardClose()//释放IO卡
 {
     DAQ_I32.DAQ_Sys_Terminate();
 }