Exemplo n.º 1
0
        //读取设备信息
        public void ReadDev(ushort addr, ref byte byteOut)
        {
            int size = Marshal.SizeOf(typeof(byte));

            byte[] bytes = new byte[size];
            IntPtr data  = Marshal.AllocHGlobal(size);
            uint   ret   = device429Operator.FpgaEepromRead(DevID, addr, ref data);

            if (ret != 0)
            {
                RunningLog.Record(string.Format("return value is {0} when invoke ReadDev", ret));
            }
            else
            {
                byteOut = (byte)Marshal.PtrToStructure(data, typeof(int));
            }
        }
Exemplo n.º 2
0
 private void ClearData(object sender, EventArgs e)
 {
     foreach (var ch in _device429.SendComponents)
     {
         Channe429Send chennel = (Channe429Send)ch;
         chennel.labelCount          = 0;
         chennel.errCount            = 0;
         chennel.DeviceCount         = 0;
         chennel.errDeviceCount      = 0;
         this.textBox_sendValue.Text = "";
         Channel429DriverTx channel429DriverRx = new Channel429DriverTx(_device429.DevID, chennel.ChannelID);
         uint ret = channel429DriverRx.ChannelMibClearTx();
         if (ret != 0)
         {
             RunningLog.Record(string.Format("return value is {0} when clear send data", ret));
         }
     }
 }
Exemplo n.º 3
0
 public Guid Write(RunningLog log)
 {
     try
     {
         log.Id = Guid.NewGuid();
         string Key        = Rlog + DateTime.Now.ToString("yyyyMMdd");
         bool   _KeyExists = _redisrepository.KeyExists(Key);
         _redisrepository.HashSet(Key, log.Id.ToString(), log);
         if (!_KeyExists)
         {
             _redisrepository.KeyExpire(Key, TimeSpan.FromDays(10));
         }
     }
     catch (Exception ex)
     {
         LogHelper.Error(ex.ToString());
     }
     return(log.Id);
 }
Exemplo n.º 4
0
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (!_treeView.SelectedNode.FullPath.ToLower().Contains("ssm"))
            {
                return;
            }
            ChannelFilterParamA429Rx channelFilterParamA429Rx = new ChannelFilterParamA429Rx();

            if (_treeView.SelectedNode.Checked == true)
            {
                //_treeView.SelectedNode.Checked = false;
                channelFilterParamA429Rx.filterMode = 0;
            }
            else if (_treeView.SelectedNode.Checked == false)
            {
                //_treeView.SelectedNode.Checked = true;
                channelFilterParamA429Rx.filterMode = 1;
            }
            TreeNode           treeNode           = (TreeNode)_treeView.SelectedNode; //SSM
            TreeNode           SDINodes           = treeNode.Parent;                  //sdi
            TreeNode           LabelNodes         = SDINodes.Parent;                  //label
            TreeNode           ChannelNodes       = LabelNodes.Parent;                //channel
            int                channelId          = Convert.ToInt32(ChannelNodes.Text.Split('_')[1]);
            Channel429DriverRx channel429DriverRx = new Channel429DriverRx(_device429.DevID, (uint)channelId);
            string             sdi = SDINodes.Text.Split('_')[1];

            channelFilterParamA429Rx.sdi = Convert.ToUInt16(sdi, 2);
            int    label     = Convert.ToInt32(LabelNodes.Text.Split('_')[1]);
            string labelStr  = Convert.ToString(label, 2);//问题出在这
            ushort bytelabel = Convert.ToUInt16(labelStr, 2);

            channelFilterParamA429Rx.label = bytelabel;

            string ssm = treeNode.Text.Split('_')[1];

            channelFilterParamA429Rx.ssm = Convert.ToUInt16(ssm, 2);
            uint ret = channel429DriverRx.ChannelFilterCfgRxm(channelFilterParamA429Rx);

            if (ret != 0)
            {
                RunningLog.Record(string.Format("return value is {0} when Aplly Strainer", ret));
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// 线程响应
 /// </summary>
 /// <param name="stateInfo"></param>
 private void OnThread(object stateInfo)
 {
     while (true)
     {
         Thread.Sleep(100);
         Action act = ThreadEvent;
         if (act != null)
         {
             try
             {
                 act();
             }
             catch (Exception ex)
             {
                 RunningLog.Record(ex.Message + "\n" + ex.StackTrace);
             }
         }
     }
 }
Exemplo n.º 6
0
        //Private

        #region # 根据DataReader获取运行日志 —— RunningLog GetEntity(IDataReader reader)
        /// <summary>
        /// 根据DataReader获取实体
        /// </summary>
        /// <param name="reader">DataReader</param>
        /// <returns>运行日志</returns>
        private RunningLog GetEntity(IDataReader reader)
        {
            RunningLog runningLog = new RunningLog
            {
                Id              = (Guid)reader.ToClsValue("Id"),
                Namespace       = (string)reader.ToClsValue("Namespace"),
                ClassName       = (string)reader.ToClsValue("ClassName"),
                MethodName      = (string)reader.ToClsValue("MethodName"),
                MethodType      = (string)reader.ToClsValue("MethodType"),
                ArgsJson        = (string)reader.ToClsValue("ArgsJson"),
                ReturnValue     = (string)reader.ToClsValue("ReturnValue"),
                ReturnValueType = (string)reader.ToClsValue("ReturnValueType"),
                OperatorAccount = (string)reader.ToClsValue("OperatorAccount"),
                StartTime       = (DateTime)reader.ToClsValue("StartTime"),
                EndTime         = (DateTime)reader.ToClsValue("EndTime"),
                IPAddress       = (string)reader.ToClsValue("IPAddress")
            };

            return(runningLog);
        }
Exemplo n.º 7
0
        public override void BuildModule()
        {
            uint devID = ((IDeviceInfo)Owner).DevID;
            Channel429DriverTx driverTx = new Channel429DriverTx(devID, ChannelID);

            ChannelDriver = driverTx;

            object baudRateValue = App.Instance.ConfigManager.GetParameter(this.Path + "_BaudRate");

            if (baudRateValue != null)
            {
                BaudRate = (int)baudRateValue;
            }

            uint ret = driverTx.ChannelLoopTx(AbleStatusA429.BHT_L1_OPT_ENABLE);

            LoopEnable = true;
            if (ret != 0)
            {
                RunningLog.Record(string.Format("return value is {0} when invoke ChannelLoopTx", ret));
            }
        }
Exemplo n.º 8
0
        public void Receive()
        {
            if (Enabled == false || isSend == false)
            {
                return;
            }
            rxpA429Result.data = 0;
            Channel429DriverRx driverRx = (Channel429DriverRx)ChannelDriver;
            RxpA429            rxpA429  = new RxpA429();
            uint           maxRxp       = 1;
            int            rxpNum;
            WaitStatusA429 opt = WaitStatusA429.BHT_L1_OPT_NOWAIT;
            uint           ret = driverRx.ChannelRecvRx(out rxpA429, maxRxp, out rxpNum, opt);//这里设置为存储一个数据,那么可以操作的data只有一个

            if (ret != 0)
            {
                errCount++;
                RunningLog.Record(string.Format("return value is {0} when receive data", ret));
            }
            else if (rxpNum > 0 && ret == 0)
            {
                count++;
                rxpA429Result = rxpA429;//这里将out的数据保存到类中
                FileHelper.WriteLogForReceive(Convert.ToString(rxpA429.data, 2));
            }
            MibDataA429 mibDataA429;

            ret = driverRx.ChannelMibGetRx(out mibDataA429);
            if (ret != 0)
            {
                RunningLog.Record(string.Format("return value is {0} when ChannelMibGetRx data", ret));
            }
            DeviceCount    = mibDataA429.cnt;
            errDeviceCount = mibDataA429.err_cnt;
            if (IsFileSaveAllow)//如果允许保存文件,那么就执行这一步操作
            {
                DataProcessModule.Save(rxpA429, rxpNum);
            }
        }
Exemplo n.º 9
0
        private void SetGatherParam(Channe429Receive channelInfoUi)
        {
            ChannelGatherParamA429Rx gatherParamA429 = new ChannelGatherParamA429Rx();

            if (channelInfoUi.isFilter == true)    //过滤
            {
                gatherParamA429.gather_enable = 0;
            }
            else    //不过滤
            {
                gatherParamA429.gather_enable = 1;
            }
            if (channelInfoUi.receiveType == "队列")
            {
                gatherParamA429.recv_mode = RecvModeA429.BHT_L1_A429_RECV_MODE_LIST;
            }
            else
            {
                gatherParamA429.recv_mode = RecvModeA429.BHT_L1_A429_RECV_MODE_SAMPLE;
            }
            if (!string.IsNullOrEmpty(channelInfoUi.deepCount))
            {
                gatherParamA429.threshold_count = (ushort)Convert.ToInt32(channelInfoUi.deepCount);
            }
            if (!string.IsNullOrEmpty(channelInfoUi.timeCount))
            {
                gatherParamA429.threshold_time = (ushort)Convert.ToInt32(channelInfoUi.timeCount);
            }
            uint ret = ((Channel429DriverRx)(channelInfoUi.ChannelDriver)).ChannelGatherParam(ref gatherParamA429,
                                                                                              ParamOptionA429.BHT_L1_PARAM_OPT_SET);

            if (ret != 0)
            {
                RunningLog.Record(string.Format("return value is {0} when invoke ChannelGatherParam", ret));
            }
        }
Exemplo n.º 10
0
        public void UpdataDevice(Device429 device429)
        {
            for (int i = 0; i < 16; i++)
            {
                Channe429Receive     channel       = (Channe429Receive)device429.GetSpecificItem(i);
                ChannelInfoUiReceive channelInfoUi = _channels[i];
                channel.AliasName = channelInfoUi.Name;
                if (channelInfoUi.Parity == BaudRate.偶校验.ToString())
                {
                    channel.Parity = 1;
                }
                else if (channelInfoUi.Parity == BaudRate.奇校验.ToString())
                {
                    channel.Parity = 0;
                }
                else
                {
                    channel.Parity = 2;
                }
                channel.Enabled     = channelInfoUi.Enabled;
                channel.BaudRate    = channelInfoUi.BaudRate;
                channel.isFilter    = channelInfoUi.IsFilter;
                channel.receiveType = channelInfoUi.ReceiveType;
                channel.deepCount   = channelInfoUi.DeepCount;
                channel.timeCount   = channelInfoUi.TimeCount;

                ChannelParamA429 paramA429 = new ChannelParamA429()
                {
                    work_mode = ChannelWorkModeA429.A429ChannelWorkModeNABLE
                };
                if (channel.Parity == 0)
                {
                    paramA429.par = ParityA429.BHT_L1_A429_PARITY_ODD;
                }
                else if (channel.Parity == 1)
                {
                    paramA429.par = ParityA429.BHT_L1_A429_PARITY_EVEN;
                }
                else
                {
                    paramA429.par = ParityA429.BHT_L1_A429_PARITY_NONE;
                }
                if (channelInfoUi.BaudRate == 12500)
                {
                    paramA429.baud = BaudA429.BHT_L1_A429_BAUD_12_5K;
                }
                else if (channelInfoUi.BaudRate == 50000)
                {
                    paramA429.baud = BaudA429.BHT_L1_A429_BAUD_50K;
                }
                else if (channelInfoUi.BaudRate == 100000)
                {
                    paramA429.baud = BaudA429.BHT_L1_A429_BAUD_100K;
                }
                uint ret = ((Channel429DriverRx)(channel.ChannelDriver)).ChannelParamRx(ref paramA429,
                                                                                        ParamOptionA429.BHT_L1_PARAM_OPT_SET);
                if (ret != 0)
                {
                    RunningLog.Record(string.Format("return value is {0} when invoke ChannelParamRx", ret));
                }
                SetGatherParam(channel);
            }
        }
Exemplo n.º 11
0
        public override void BuildModule()
        {
            object baudRateValue = App.Instance.ConfigManager.GetParameter(this.Path + "_BaudRate");
            object enableValue   = App.Instance.ConfigManager.GetParameter(this.Path + "_Enable");
            object parityValue   = App.Instance.ConfigManager.GetParameter(this.Path + "_Parity");

            for (uint i = 0; i < 16; i++)
            {
                Channe429Receive channel = new Channe429Receive(i);
                channel.Enabled = false;
                if (baudRateValue != null)
                {
                    channel.BaudRate = (int)baudRateValue;
                }
                if (enableValue != null)
                {
                    channel.Enabled = (bool)enableValue;
                }
                if (parityValue != null)
                {
                    channel.Parity = (int)parityValue;
                }
                channel.Initialize();
                Add(channel);
                ReceiveComponents.Add(channel);

                channel.BuildModule();
                //初始化Channel
                ChannelParamA429 paramA429 = new ChannelParamA429()
                {
                    work_mode = ChannelWorkModeA429.A429ChannelWorkModeNABLE,
                    baud      = BaudA429.BHT_L1_A429_BAUD_100K,
                    par       = ParityA429.BHT_L1_A429_PARITY_ODD
                };
                uint ret = ((Channel429DriverRx)(channel.ChannelDriver)).ChannelParamRx(ref paramA429,
                                                                                        ParamOptionA429.BHT_L1_PARAM_OPT_SET);
                if (ret != 0)
                {
                    RunningLog.Record(string.Format("return value is {0} when invoke ChannelParamRx", ret));
                }

                ChannelGatherParamA429Rx gatherParamA429 = new ChannelGatherParamA429Rx()
                {
                    gather_enable   = 1,
                    recv_mode       = RecvModeA429.BHT_L1_A429_RECV_MODE_SAMPLE,
                    threshold_count = 0,
                    threshold_time  = 0
                };
                ret = ((Channel429DriverRx)(channel.ChannelDriver)).ChannelGatherParam(ref gatherParamA429,
                                                                                       ParamOptionA429.BHT_L1_PARAM_OPT_SET);
                if (ret != 0)
                {
                    RunningLog.Record(string.Format("return value is {0} when invoke ChannelGatherParam", ret));
                }
            }

            for (uint i = 0; i < 16; i++)
            {
                Channe429Send channel = new Channe429Send(i);
                channel.Enabled = false;
                if (baudRateValue != null)
                {
                    channel.BaudRate = (int)baudRateValue;
                }
                if (enableValue != null)
                {
                    channel.Enabled = (bool)enableValue;
                }
                if (parityValue != null)
                {
                    channel.Parity = (int)parityValue;
                }

                channel.Initialize();
                Add(channel);
                SendComponents.Add(channel);

                channel.BuildModule();

                //初始化Channel
                ChannelParamA429 paramA429 = new ChannelParamA429()
                {
                    work_mode = ChannelWorkModeA429.A429ChannelWorkModeNABLE,
                    baud      = BaudA429.BHT_L1_A429_BAUD_100K,
                    par       = ParityA429.BHT_L1_A429_PARITY_ODD
                };
                uint ret = ((Channel429DriverTx)(channel.ChannelDriver)).ChannelParamTx(ref paramA429, ParamOptionA429.BHT_L1_PARAM_OPT_SET);
                if (ret != 0)
                {
                    RunningLog.Record(string.Format("return value is {0} when invoke ChannelParamRx", ret));
                }
            }
        }
Exemplo n.º 12
0
 public void UpdataDevice(Device429 device429)
 {
     for (int i = 0; i < 16; i++)
     {
         Channe429Send     channel       = (Channe429Send)device429.GetSpecificItem(i + 16);//注意这里
         ChannelInfoUiSend channelInfoUi = _channels[i];
         channel.AliasName = channelInfoUi.Name;
         if (channelInfoUi.Parity == BaudRate.偶校验.ToString())
         {
             channel.Parity = 1;
         }
         else if (channelInfoUi.Parity == BaudRate.奇校验.ToString())
         {
             channel.Parity = 0;
         }
         else
         {
             channel.Parity = 2;
         }
         channel.BaudRate   = channelInfoUi.BaudRate;
         channel.LoopEnable = channelInfoUi.LoopEnable;
         channel.Enabled    = channelInfoUi.Enabled;
         ChannelParamA429 paramA429 = new ChannelParamA429()
         {
             work_mode = ChannelWorkModeA429.A429ChannelWorkModeNABLE
         };
         if (channel.Parity == 0)
         {
             paramA429.par = ParityA429.BHT_L1_A429_PARITY_ODD;
         }
         else if (channel.Parity == 1)
         {
             paramA429.par = ParityA429.BHT_L1_A429_PARITY_EVEN;
         }
         else
         {
             paramA429.par = ParityA429.BHT_L1_A429_PARITY_NONE;
         }
         if (channelInfoUi.BaudRate == 12500)
         {
             paramA429.baud = BaudA429.BHT_L1_A429_BAUD_12_5K;
         }
         else if (channelInfoUi.BaudRate == 50000)
         {
             paramA429.baud = BaudA429.BHT_L1_A429_BAUD_50K;
         }
         else if (channelInfoUi.BaudRate == 100000)
         {
             paramA429.baud = BaudA429.BHT_L1_A429_BAUD_100K;
         }
         uint ret = ((Channel429DriverTx)(channel.ChannelDriver)).ChannelParamTx(ref paramA429, ParamOptionA429.BHT_L1_PARAM_OPT_SET);
         if (ret != 0)
         {
             RunningLog.Record(string.Format("return value is {0} when invoke ChannelParamRx", ret));
         }
         if (channel.LoopEnable)
         {
             Channel429DriverTx driverTx = new Channel429DriverTx(device429.DevID, channel.ChannelID);
             ret = driverTx.ChannelLoopTx(AbleStatusA429.BHT_L1_OPT_ENABLE);
         }
         else
         {
             Channel429DriverTx driverTx = new Channel429DriverTx(device429.DevID, channel.ChannelID);
             ret = driverTx.ChannelLoopTx(AbleStatusA429.BHT_L1_OPT_DISABLE);
         }
     }
 }
Exemplo n.º 13
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public RunningLogAspect()
 {
     this._runningLog = new RunningLog();
 }
Exemplo n.º 14
0
 /// <summary>
 /// 建造程序运行信息
 /// </summary>
 /// <param name="log">程序运行日志</param>
 /// <param name="context">方法元数据</param>
 public static void BuildRuningInfo(this RunningLog log, MethodAdviceContext context)
 {
     log.StartTime       = DateTime.Now;
     log.OperatorAccount = null;
 }
Exemplo n.º 15
0
        /// <summary>
        /// 异步记录运行日志
        /// </summary>
        /// <param name="log">运行日志</param>
        /// <returns>日志Id</returns>
        public static async Task <Guid> WriteAsync(RunningLog log)
        {
            Task <Guid> logId = Task.Factory.StartNew(() => _Logger.Write(log));

            return(await logId);
        }
Exemplo n.º 16
0
        /// <summary>
        /// 记录运行日志
        /// </summary>
        /// <param name="log">运行日志</param>
        /// <returns>日志Id</returns>
        public static Guid Write(RunningLog log)
        {
            Guid logId = _Logger.Write(log);

            return(logId);
        }
Exemplo n.º 17
0
 /// <summary>
 /// 建造运行信息
 /// </summary>
 /// <param name="log">运行日志</param>
 public static void BuildRunningInfo(this RunningLog log)
 {
     log.StartTime       = DateTime.Now;
     log.OperatorAccount = null;
 }
Exemplo n.º 18
0
        /// <summary>
        /// 点击PreviousBtn时
        /// </summary>
        /// <param name="o"></param>
        /// <param name="e"></param>
        private void OnPreviousBtnClick(object o, EventArgs e)
        {
            _previousCheckBox.Checked = !_previousCheckBox.Checked;
            try
            {
                _logDataTable.Rows.Clear();
                if (_previousCheckBox.Checked)
                {
                    string   dir       = Directory.GetParent(RunningLog.LogFile.FilePath).FullName;
                    string[] filePaths = Directory.GetFiles(dir, "*.his");

                    foreach (var filePath in filePaths)
                    {
                        string[] lines = File.ReadAllLines(filePath);
                        for (int index = lines.Length - 1; index > -1; index--)
                        {
                            var     line = lines[index];
                            LogItem item = LogItem.Parse(line);
                            if (item != null)
                            {
                                DataRow dataRow = _logDataTable.NewRow();
                                dataRow["时间"] = item.Time;
                                dataRow["类型"] = item.Type;
                                dataRow["级别"] = item.Level;
                                dataRow["内容"] = item.Text;
                                _logDataTable.Rows.Add(dataRow);
                            }
                            else if (line != "" && item == null)
                            {
                                _logDataTable.Rows[_logDataTable.Rows.Count - 1]["内容"] += "\n" + line;
                            }
                        }
                    }
                    //装载完内容后设置一下行的高度
                    _flgView.AutoSizeRows();
                }
                else
                {
                    if (!File.Exists(RunningLog.LogFile.FilePath))
                    {
                        return;
                    }
                    string[] lines = File.ReadAllLines(RunningLog.LogFile.FilePath);
                    foreach (var line in lines)
                    {
                        LogItem item = LogItem.Parse(line);
                        if (item != null)
                        {
                            DataRow dataRow = _logDataTable.NewRow();
                            dataRow["时间"] = item.Time;
                            dataRow["类型"] = item.Type;
                            dataRow["级别"] = item.Level;
                            dataRow["内容"] = item.Text;
                            _logDataTable.Rows.Add(dataRow);
                        }
                        else if (line != "" && item == null)
                        {
                            _logDataTable.Rows[_logDataTable.Rows.Count - 1]["内容"] += "\n" + line;
                        }
                    }
                    //装载完内容后设置一下行的高度
                    _flgView.AutoSizeRows();
                }
            }
            catch (Exception exception)
            {
                RunningLog.Record(LogLevel.Error, "读取日志错误," + exception.Message);
            }
        }
Exemplo n.º 19
0
        private void Apply(object sender, EventArgs e)
        {
            int    sdiOrSsh    = 0;
            string sdiOrSshStr = string.Empty;
            ChannelFilterParamA429Rx channelFilterParamA429Rx = new ChannelFilterParamA429Rx();

            for (int i = 0; i < _treeView.Nodes.Count; i++)
            {
                TreeNode           treeNode           = (TreeNode)_treeView.Nodes[i];
                Channel429DriverRx channel429DriverRx = new Channel429DriverRx(_device429.DevID, (uint)i);
                foreach (var item in treeNode.Nodes)
                {
                    int      label;
                    string   labelStr;
                    ushort   bytelabel;
                    TreeNode treeLabelNode  = (TreeNode)item;
                    bool     isContainLabel = treeLabelNode.Text.Contains("label");
                    if (isContainLabel)
                    {
                        label     = Convert.ToInt32(treeLabelNode.Text.Split('_')[1]);
                        labelStr  = Convert.ToString(label, 2);//问题出在这
                        bytelabel = Convert.ToUInt16(labelStr, 2);
                        channelFilterParamA429Rx.label = bytelabel;
                    }
                    foreach (var item2 in treeLabelNode.Nodes)
                    {
                        TreeNode treessNode   = (TreeNode)item2;
                        bool     isContainSdi = treessNode.Text.Contains("SDI");
                        if (isContainSdi)
                        {
                            sdiOrSsh    = Convert.ToInt32(treessNode.Text.Split('_')[1]);
                            sdiOrSshStr = Convert.ToString(sdiOrSsh);
                            channelFilterParamA429Rx.sdi = Convert.ToUInt16(sdiOrSshStr, 2);
                        }
                        foreach (var item3 in treessNode.Nodes)
                        {
                            TreeNode ssmNode      = (TreeNode)item3;
                            bool     isContainSsm = ssmNode.Text.Contains("SSM");
                            if (isContainSsm)
                            {
                                sdiOrSsh    = Convert.ToInt32(ssmNode.Text.Split('_')[1]);
                                sdiOrSshStr = Convert.ToString(sdiOrSsh);
                                channelFilterParamA429Rx.ssm = Convert.ToUInt16(sdiOrSshStr, 2);
                                if (ssmNode.Checked == true)
                                {
                                    channelFilterParamA429Rx.filterMode = 1;
                                }
                                else
                                {
                                    channelFilterParamA429Rx.filterMode = 0;
                                }
                            }
                            uint ret = channel429DriverRx.ChannelFilterCfgRxm(channelFilterParamA429Rx);
                            if (ret != 0)
                            {
                                RunningLog.Record(string.Format("return value is {0} when Aplly Strainer", ret));
                            }
                        }
                    }
                }
            }
        }