Exemplo n.º 1
0
        /// <summary>
        /// 发送订单到数码管
        /// </summary>
        public void SetOrderNixielight(SortingLineTask[] sortingLineTasks)
        {
            //熄灭所有标签
            TagClear();

            if (Tags == null)
            {
                Tags = new Dictionary <int, Tag>();
            }

            //int sortinglineboxcount = SortingLineBoxList.GetLineBoxList().Count;

            try
            {
                //foreach (SortingLineBox sortingLineBox in SortingLineBoxList.GetLineBoxList())
                //{
                //    Tags.Add(Convert.ToInt32(sortingLineBox.LineBoxCode), new Tag("0", Convert.ToInt32(sortingLineBox.LineBoxCode), 0));
                //}


                SortingSubLine[] sortingSubLineList = SortingSubLineList.GetSubSortingLineList().OrderBy(o => o.sequence).ToArray();


                //初始化标签的内容
                for (int j = 1; j < sortingLineTasks.Length; j++)
                {
                    if (sortingLineTasks[j] != null)
                    {
                        //当前子线包含的所有任务明细列表
                        IEnumerable <SortingLineTaskDetail> sortingLineTaskDetails =
                            sortingLineTasks[j].SortingLineTaskDetails.GetAreaDetails(sortingSubLineList[j - 1].sublineCode);

                        foreach (SortingLineTaskDetail detail in sortingLineTaskDetails)
                        {
                            try
                            {
                                Tags.Add(Convert.ToInt32(detail.LINEBOXCODE), new Tag(sortingLineTasks[j].ID, Convert.ToInt32(detail.LINEBOXCODE), detail.QTY));
                                //Tags[Convert.ToInt32(detail.LINEBOXCODE)] = new Tag(sortingLineTasks[j].ID,
                                //    Convert.ToInt32(detail.LINEBOXCODE), detail.QTY);
                            }
                            catch (Exception)
                            {
                            }
                        }
                    }
                }

                //发送标签内容
                foreach (KeyValuePair <int, Tag> keyValuePair in Tags)
                {
                    Dapapi.AB_LB_DspNum(GWID[0], (short)keyValuePair.Key, keyValuePair.Value.Qty, iDigitPoint, iLEDInterval);
                }
            }
            catch (Exception)
            {
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 熄灭所有标签
        /// </summary>
        private void TagClear()
        {
            for (int i = 0; i < GWCount; i++)
            {
                if (Dapapi.AB_GW_Status(GWID[i]) == 7)
                {
                    Dapapi.AB_LB_DspNum(GWID[i], -252, 0, 0, -3);
                    Dapapi.AB_LB_DspNum(GWID[i], 252, 0, 0, -3);
                    Dapapi.AB_LED_Dsp(GWID[i], -252, 0, 0);
                    Dapapi.AB_LED_Dsp(GWID[i], 252, 0, 0);
                    Dapapi.AB_BUZ_On(GWID[i], -252, 0);
                    Dapapi.AB_BUZ_On(GWID[i], 252, 0);
                    Dapapi.AB_LB_DspStr(GWID[i], -252, "", 0, -3);
                    Dapapi.AB_LB_DspStr(GWID[i], 252, "", 0, -3);

                    //12-digits Alphanumerical display
                    Dapapi.AB_AHA_ClrDsp(GWID[i], -252);
                    Dapapi.AB_AHA_ClrDsp(GWID[i], 252);
                    Dapapi.AB_AHA_BUZ_On(GWID[i], -252, 0);
                    Dapapi.AB_AHA_BUZ_On(GWID[i], 252, 0);
                }
            }
        }