/// <summary> /// 지정 포트가 동작 되었는지 읽어 온다. /// </summary> /// <param name="Pos"></param> /// <returns></returns> public bool inportb(short Pos) { __IOData__ Value = IOCheck(Pos); #if PROGRAM_RUNNING bool Data = false; ushort DIVal = 0; ushort wRetVal; //receive the digital single on the board you choose wRetVal = PIO821.PIO821_DigitalIn((byte)0, out DIVal); if (wRetVal > 0) { MessageBox.Show("*** PIO821_DigitalIn() error ! ***"); } else { Data = false; if (((byte)~DIVal & Value.Data) == Value.Data) { Data = true; } } return(Data); #else return(false); #endif }
/// <summary> /// P32C32 지정된 포트가 동작하고 있는지 읽어 온다. /// </summary> /// <param name="Pos"></param> /// <returns></returns> public bool OutputCheck(short Pos) { __IOData__ Value = IOCheck(Pos); if ((OutData[Value.Pos] & Value.Data) == Value.Data) { return(true); } else { return(false); } }
/// <summary> /// P32C32 지정된 포트를 On/Off 한다. /// </summary> /// <param name="Pos"></param> /// <param name="OnOff"></param> public void outportb(short Pos, bool OnOff) { #if PROGRAM_RUNNING __IOData__ Value = IOCheck(Pos); if (OnOff == true) { OutData[Value.Pos] |= Value.Data; } else { OutData[Value.Pos] &= (byte)~Value.Data; } //outportb(); #endif return; }
/// <summary> /// P32C32 지정된 포트의 I/O 위치를 알아낸다. /// </summary> /// <param name="Pos"></param> /// <returns></returns> public __IOData__ IOCheck(short Pos) { __IOData__ value = new __IOData__(); if (Pos == -1) { return(value); } int OPos = (int)Pos / 8; byte Data = (byte)(0x01 << ((int)Pos % 8)); value.Card = (short)(OPos / 2); value.Pos = (short)(OPos % 2); value.Data = Data; return(value); }
/// <summary> /// 인수로 넘어온 데이타 중 지정 포트가 동작 되었는지 알아 낸다. /// </summary> /// <param name="Pos"></param> /// <param name="DIVal"></param> /// <returns></returns> public bool inportb(short Pos, byte[] DIVal) { __IOData__ Value = IOCheck(Pos); #if PROGRAM_RUNNING bool Data; //uint DIVal = 0; //wInitialCode = UniDAQ.Ixud_ReadDI(P32ToIn[Value.Card], (ushort)Value.Pos, ref DIVal); Data = false; if (((byte)DIVal[Value.Pos] & Value.Data) == Value.Data) { Data = true; } return(Data); #else return(false); #endif }