Exemplo n.º 1
0
        /// <summary>
        /// 处理完整包数据
        /// </summary>
        public void DealComData()
        {
            string        txtres = "";
            string        res    = "";
            List <String> value  = new List <string>();

            for (int i = 0; i < m_lstPackData.Count; i++)
            {
                PackData pd = m_lstPackData[i];
                switch (m_lstPackData[i].m_Head.DataCommand)
                {
                case 128:
                    res = DealCmd.DealGetSignal(pd);
                    if (res != string.Empty)
                    {
                        channelNum = GetChannel(res);
                    }
                    //txtSignalInfo += "Commond 128  信号类型:" + pd.m_SignalType + ";内容:" + res + Environment.NewLine;
                    break;

                case 123:
                    res     = DealCmd.DealTransferDataSignal(pd);
                    txtres += "Commond 123  信号类型:" + pd.m_SignalType + ";信号名称:" + res + Environment.NewLine;
                    break;

                case 124:
                    res = DealCmd.DealSerialData(pd);
                    string[] sArray = res.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);

                    int j = 0;
                    foreach (var p in channelNum)
                    {
                        ChannelData channeldata = new ChannelData()
                        {
                            channel = p,
                            data    = sArray[j]
                        };
                        channelList.Add(channeldata);
                        j++;
                    }
                    break;

                case 125:
                    res     = DealCmd.DealStatData(pd);
                    txtres += "Commond 125Stat  信号数:" + pd.m_SignalCount + ";数据:" + res + Environment.NewLine;
                    break;

                case 126:
                    res     = DealCmd.DealBlockData(pd);
                    txtres += "Commond 126Block  信号字符串长度:" + pd.m_SignalNameLength + ";信号名:" + pd.m_SignalName
                              + ";一个数据中包含几个float:" + pd.m_YCount + ";数据量:" + pd.m_DataCount + ";数据:" + res + Environment.NewLine;
                    break;
                }
            }
            m_lstPackData.Clear();
            if (channelList != null)
            {
                HandleGetData(channelList);
            }
        }
Exemplo n.º 2
0
        private void SendQueueData(ChannelData channeldata)
        {
            try
            {
                switch (channeldata.channel)
                {
                case "AI1-1-01": if (rollerforcer.getLimitSwitch("Forcer1"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer1"))
                    {
                        Queue1.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-02": if (rollerforcer.getLimitSwitch("Forcer2"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer2"))
                    {
                        Queue2.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-03": if (rollerforcer.getLimitSwitch("Forcer3"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer3"))
                    {
                        Queue3.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-04": if (rollerforcer.getLimitSwitch("Forcer4"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer4"))
                    {
                        Queue4.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-05": if (rollerforcer.getLimitSwitch("Forcer5"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer5"))
                    {
                        Queue5.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-06": if (rollerforcer.getLimitSwitch("Forcer6"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer6"))
                    {
                        Queue6.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-07": if (rollerforcer.getLimitSwitch("Forcer7"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer7"))
                    {
                        Queue7.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-08": if (rollerforcer.getLimitSwitch("Forcer8"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer8"))
                    {
                        Queue8.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-09": if (rollerforcer.getLimitSwitch("Forcer9"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer9"))
                    {
                        Queue9.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-10": if (rollerforcer.getLimitSwitch("Forcer10"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer10"))
                    {
                        Queue10.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-11": if (rollerforcer.getLimitSwitch("Forcer11"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer11"))
                    {
                        Queue11.Enqueue(channeldata.data);
                    }
                    ; break;

                case "AI1-1-12": if (rollerforcer.getLimitSwitch("Forcer12"))
                    {
                        Send(channeldata.channel, channeldata.data);
                    }
                    ; if (rollerforcer.getJudgeSwitch("Forcer12"))
                    {
                        Queue12.Enqueue(channeldata.data);
                    }
                    ; break;

                default: break;
                }
                QueueTask = new Task(() => QueueData(), Queuects.Token);
                QueueTask.Start();
                QueueTask.Wait();
            }catch (Exception ex)
            {
                LogHelper.WriteLog(this.GetType(), ex);
            }
        }
Exemplo n.º 3
0
        private bool JudgeLimit(ChannelData channeldata)
        {
            float data = float.Parse(channeldata.data);

            switch (channeldata.channel)
            {
            case "AI1-1-01":
            {
                if (data < rollerLimit.DnLimit1 && data > rollerLimit.UpLimit1)
                {
                    faultdata.station = "1#";
                    faultdata.UpLimit = rollerLimit.UpLimit1.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit1.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;
            }

            case "AI1-1-02":
            {
                if (data < rollerLimit.DnLimit2 && data > rollerLimit.UpLimit2)
                {
                    faultdata.station = "2#";
                    faultdata.UpLimit = rollerLimit.UpLimit2.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit2.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;
            }

            case "AI1-1-03":
            {
                if (data < rollerLimit.DnLimit3 && data > rollerLimit.UpLimit3)
                {
                    faultdata.station = "3#";
                    faultdata.UpLimit = rollerLimit.UpLimit3.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit3.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;
            }

            case "AI1-1-04":
            {
                if (data < rollerLimit.DnLimit4 && data > rollerLimit.UpLimit4)
                {
                    faultdata.station = "4#";
                    faultdata.UpLimit = rollerLimit.UpLimit4.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit4.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;
            }

            case "AI1-1-05":
            {
                if (data < rollerLimit.DnLimit5 && data > rollerLimit.UpLimit5)
                {
                    faultdata.station = "5#";
                    faultdata.UpLimit = rollerLimit.UpLimit5.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit5.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;
            }

            case "AI1-1-06":
            {
                if (data < rollerLimit.DnLimit6 && data > rollerLimit.UpLimit6)
                {
                    faultdata.station = "6#";
                    faultdata.UpLimit = rollerLimit.UpLimit6.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit6.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;
            }

            case "AI1-1-07":
            {
                if (data < rollerLimit.DnLimit7 && data > rollerLimit.UpLimit7)
                {
                    faultdata.station = "7#";
                    faultdata.UpLimit = rollerLimit.UpLimit7.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit7.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;
            }

            case "AI1-1-08":
                if (data < rollerLimit.DnLimit8 && data > rollerLimit.UpLimit8)
                {
                    faultdata.station = "8#";
                    faultdata.UpLimit = rollerLimit.UpLimit8.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit8.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;

            case "AI1-1-09":
                if (data < rollerLimit.DnLimit9 && data > rollerLimit.UpLimit9)
                {
                    faultdata.station = "9#";
                    faultdata.UpLimit = rollerLimit.UpLimit9.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit9.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;

            case "AI1-1-10":
                if (data < rollerLimit.DnLimit10 && data > rollerLimit.UpLimit10)
                {
                    faultdata.station = "10#";
                    faultdata.UpLimit = rollerLimit.UpLimit10.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit10.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;

            case "AI1-1-11":
                if (data < rollerLimit.DnLimit11 && data > rollerLimit.UpLimit11)
                {
                    faultdata.station = "11#";
                    faultdata.UpLimit = rollerLimit.UpLimit11.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit11.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;

            case "AI1-1-12":
                if (data < rollerLimit.DnLimit12 && data > rollerLimit.UpLimit12)
                {
                    faultdata.station = "12#";
                    faultdata.UpLimit = rollerLimit.UpLimit12.ToString();
                    faultdata.DnLimit = rollerLimit.DnLimit12.ToString();
                    faultdata.Value   = channeldata.data;
                    return(true);
                }
                break;
            }
            return(false);
        }