public bool WriteToPlc(Context context)
        {
            bool result = false;

            int[] data = new int[2];

            string sql = "SELECT * FROM {0} WHERE ROW_INDEX  = {1}";

            sql = string.Format(sql, dataView, this.index);
            DataTable table = ExecuteQuery(sql).Tables[0];

            if (table.Rows.Count > 0)
            {
                int lineCode = Convert.ToInt32(table.Rows[0]["LINECODE"]);

                switch (context.Attributes["SupplyToSortLine"].ToString())
                {
                case "01":
                    lineCode = 1;
                    break;

                case "02":
                    lineCode = 2;
                    break;

                default:
                    break;
                }

                int supplyAddress = Convert.ToInt32(lineCode.ToString() + table.Rows[0]["SUPPLYADDRESS"].ToString().PadLeft(2, "0"[0]));

                data[0] = supplyAddress;
                data[1] = this.index;

                if (dispatcher.WriteToService(plcServicesName, releaseItemName, data))
                {
                    result = true;
                    Logger.Info(string.Format("{0}号扫码器,写分流数据成功,目标:'{1}'流水号:'{2}'", stateItemCode, data[0], this.index));
                }
            }
            else
            {
                Logger.Info(string.Format("{0}号扫码器,无任务数据!", stateItemCode));

                Stack <LedItem> LedItemData = new Stack <LedItem>();

                LedItem item = new LedItem();
                item.Name = string.Format("{0}号扫码器,无任务数据!", stateItemCode);
                LedItemData.Push(item);

                LedItem[] ledItems = LedItemData.ToArray();
                Array.Reverse(ledItems);

                Show(ledItems);

                result = false;
            }

            return(result);
        }
        public bool MoveTo(int index)
        {
            bool result = false;

            this.index = index - 1;
            string sql = "UPDATE AS_STATEMANAGER_ORDER SET ROW_INDEX = {0} WHERE STATECODE = '{1}'";

            sql = string.Format(sql, this.index, stateItemCode);
            ExecuteNonQuery(sql);

            //写校正完成标志到PLC
            dispatcher.WriteToService(plcServicesName, checkItemName, 1);
            Logger.Info(string.Format("{0} 号订单请求,订单校正完成,流水号:{1}", stateItemCode, index));

            result = true;
            return(result);
        }
Ejemplo n.º 3
0
        public bool WriteToPlc()
        {
            bool result = false;

            if (dispatcher.WriteToService(plcServicesName, releaseItemName, this.index))
            {
                result = true;
            }
            return(result);
        }