private bool InitBords() { if (!BordDll.DoInit()) { return(false); } foreach (var info in ProDefine.g_ChannelInfo) { BordDll.StartChannel((uint)info.channelNumber); } return(true); }
private void WriteData(int eclipstime) { try { List <FucntionChannelInfo> chList = GetStepChannelList(); foreach (var info in chList) { string ChannelType = GetNowChannelType(info.FunctionName); //foreach (var info_i in info) { if (ChannelType == "AO") { double WriteValue = GetWriteValue(eclipstime, info.YBNumber, info.FunctionName, info.ChannelNumber, ChannelType); BordDll.WriteAOData((uint)info.ChannelNumber, WriteValue); } else if (ChannelType == "DO") { double WriteValue = GetWriteValue(eclipstime, info.YBNumber, info.FunctionName, info.ChannelNumber, ChannelType); if ((WriteValue != 0) || (WriteValue != 1)) { WriteValue = 0; } byte tpByte = 0; tpByte = (byte)WriteValue; BordDll.WriteDOData((uint)info.ChannelNumber, tpByte); //BordDll.WriteDOData_1(); } } } } catch (System.Exception ex) { } }
private void ReadData(int EclipsTime) { try { List <FucntionChannelInfo> chList = GetStepChannelList(); foreach (var info in chList) { int PerRread1 = 5; //foreach (var info_i in info.YBList) { int Hz = GetChannelHz(info.ChannelNumber, info.FunctionName, ref PerRread1); string ChannelType = GetNowChannelType(info.FunctionName); double flVolt = 0; double dfFreq = 0; double dfDuty = 0; if ((EclipsTime % Hz) == 0) { switch (ChannelType) { case "AI": int retRead = 0; double[] bBuffer = new double[PerRread1]; BordDll.GetDataFromBord(info.ChannelNumber, bBuffer, PerRread1, ref retRead); for (int i = 0; i < retRead; i++) { YBData ydata = new YBData(); ydata.ChannID = info.ChannelNumber; ydata.ChannType = ChannelType; ydata.DTTime = EclipsTime; ydata.flVot = bBuffer[i]; ydata.YBName = info.YBNumber.ToString(); ydata.GNFunction = info.FunctionName; int returnValue = JudageAlarmData(EclipsTime, info.YBNumber, info.FunctionName, flVolt); ydata.DataInfo = returnValue; InsertDataToList(ydata); if (returnValue == 0) { lock (m_diskLock) { m_YBDataList.Add(ydata); } } else { lock (m_AlarmDiskLock) { m_AlarmList.Add(ydata); } lock (m_AlarmShowLock) { m_AlarmListShow.Add(ydata); } } } break; case "CNT": BordDll.GetCNTData((uint)info.ChannelNumber, ref flVolt, ref dfDuty); YBData ydataCNT = new YBData(); ydataCNT.ChannID = info.ChannelNumber; ydataCNT.ChannType = ChannelType; ydataCNT.DTTime = EclipsTime; ydataCNT.flVot = flVolt; ydataCNT.YBName = info.YBNumber.ToString(); ydataCNT.GNFunction = info.FunctionName; int returnValueCNT = JudageAlarmData(EclipsTime, info.YBNumber, info.FunctionName, flVolt); ydataCNT.DataInfo = returnValueCNT; InsertDataToList(ydataCNT); if (returnValueCNT == 0) { lock (m_diskLock) { m_YBDataList.Add(ydataCNT); } } else { lock (m_AlarmDiskLock) { m_AlarmList.Add(ydataCNT); } lock (m_AlarmShowLock) { m_AlarmListShow.Add(ydataCNT); } } break; } } } } } catch (System.Exception ex) { } }