示例#1
0
        public void OnEvent_CUSTOM_P4_WORKBINSPE(ApcmEventArgs evt)
        {
            int spe = int.Parse(((Dictionary <string, object>)evt.Data)[ApcmDevcieConfig.ACTION_P4_WORKBINSPE].ToString());

            //更新本地缓存
            Set($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.ACTION_P4_WORKBINSPE}:DATA", spe);
        }
示例#2
0
        public void OnEvent_P2_NumInfo(ApcmEventArgs evt)
        {
            //查看2号料位是否有料箱
            RfidStationInfo rfidStationInfo = Get <RfidStationInfo>($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.PROPERTY_P2_WORKBININFO}:DATA");

            if (rfidStationInfo.LocaNumbInfo == null)
            {
                return;
            }
            //TODO 1.读取2号位取到第几片
            int p2Num = int.Parse(((Dictionary <string, object>)evt.Data)[ApcmDevcieConfig.EVENT_P2_NUMINFO].ToString());
            //TODO 2.更新2号料表信息
            int    btsIndex = p2Num / 8;
            int    btIndex  = p2Num % 8 - 1;
            string btstr    = Convert.ToString(rfidStationInfo.LocaNumbInfo[btsIndex], 2);

            char[] chars = btstr.ToCharArray();
            for (int i = 0; i < 8; i++)
            {
                chars[btIndex] = '0';
            }
            btstr = chars.ToString();
            byte tarbt = Convert.ToByte(btstr, 2);

            rfidStationInfo.LocaNumbInfo[btsIndex] = tarbt;
            Write(ApcmDevcieConfig.PROPERTY_P2_WORKBININFO, Encoding.ASCII.GetBytes(rfidStationInfo.ToJsonStr()));
            //存放当前取第几片料
            Set($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.EVENT_P2_NUMINFO}:DATA", p2Num);
        }
示例#3
0
        public void OnEvent_P4_NumInfoReadDone(ApcmEventArgs evt)
        {
            int P4Num = int.Parse(((Dictionary <string, object>)evt.Data)[ApcmDevcieConfig.PROPERTY_P4_NUMINFO].ToString());

            //更新本地缓存
            Set($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.PROPERTY_P4_NUMINFO}:DATA", P4Num);
        }
示例#4
0
        public void OnEvent_P2_WorkbinInfoReadDone(ApcmEventArgs evt)
        {
            RfidStationInfo rfidStationInfo = new RfidStationInfo();

            rfidStationInfo = (RfidStationInfo)(((Dictionary <string, object>)evt.Data)[ApcmDevcieConfig.PROPERTY_P2_WORKBININFO]);
            Set($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.PROPERTY_P2_WORKBININFO}:DATA", rfidStationInfo);
            TriggerEvent(ApcmDevcieConfig.EVENT_CUSTOM_UPDATE_P1_INFO, evt);
        }
示例#5
0
 public void OnEvent_NgNumReadDone(ApcmEventArgs evt)
 {
     int NgNum = int.Parse(((Dictionary <string, object>)evt.Data)[ApcmDevcieConfig.PROPERTY_NGNUM].ToString());
     //int Package = Get<int>($"LD:{SysConf.KeyAssemblyLine}:MCIM:PACKAGE");
     //if (NgNum >= Package)
     //{
     //    //触发设置空箱任务呼叫信号
     //    Set(ApcmDevcieConfig.EVENT_P3_NGNULLAGVCALL, 1);
     //}
 }
示例#6
0
 public void OnEvent_P3_NgNullAgvCall(ApcmEventArgs evt)
 {
     PushToMes(ApcmDevcieConfig.EVENT_MES_CHARGING_STATE, new Dictionary <string, object>
     {
         ["LINE"]           = SysConf.Main.AssemblyLine.Id,
         ["IS_READ"]        = 0,
         ["DISPATCH_STATE"] = 1,
         ["FLAG"]           = 1,
         ["NO_FROM"]        = "3",
     });
 }
示例#7
0
        public void OnEvent_Line_OpEnRead2Done(ApcmEventArgs evt)
        {
            byte[] bts   = (byte[])(((Dictionary <string, object>)evt.Data)[ApcmDevcieConfig.PROPERTY_LINE_OPENREAD2]);
            string bit00 = Convert.ToString(bts[0], 2);

            char[] chars00 = bit00.ToArray();
            int    i       = 0;

            foreach (char c in chars00)
            {
                i++;
                oPEnableRead2.Add(i, bool.Parse(c.ToString()));
            }
        }
示例#8
0
        public void OnEVENT_CUSTOM_UPDATE_P1_INFO(ApcmEventArgs evt)
        {
            RfidStationInfoList stationInfoList = Get <RfidStationInfoList>($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.PROPERTY_P1_INFO}:DATA");
            RfidStationInfo     rfidStationInfo = Get <RfidStationInfo>($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.PROPERTY_P2_WORKBININFO}:DATA");
            int i = 0;

            foreach (RfidStationInfo info in stationInfoList.RfidStationInfos)
            {
                if (info.Equals(stationInfoList.RfidStationInfos[i]))
                {
                    OrderRfidStationInfos(i, stationInfoList);
                }
                i++;
            }
            Write(ApcmDevcieConfig.PROPERTY_P1_INFO, StructTransform.StructToBytes(stationInfoList));
        }
示例#9
0
        public void OnEvent_P5_CentInfoReadDone(ApcmEventArgs evt)
        {
            P5CentInfoList p5CentInfoList = new P5CentInfoList();

            p5CentInfoList = (P5CentInfoList)StructTransform.BytesToStruct((byte[])(((Dictionary <string, object>)evt.Data)[ApcmDevcieConfig.ACTION_P5_CENTINFO]), p5CentInfoList.GetType());
            Set($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.ACTION_P5_CENTINFO}:DATA", p5CentInfoList);
            //生成批次号
            p5CentInfoList = CreateBatch(p5CentInfoList);
            Write(ApcmDevcieConfig.ACTION_P5_CENTINFO, StructTransform.StructToBytes(p5CentInfoList));
            Write(ApcmDevcieConfig.ACTION_P5_BSCADAWRITEDONE, 1);
            bool IsLast = JudgeIsLast(p5CentInfoList);

            if (!IsLast)
            {
                Write(ApcmDevcieConfig.ACTION_P5_SPETASK, 1);
            }
        }
示例#10
0
        public void OnEvent_P1_InfoReadDone(ApcmEventArgs evt)
        {
            RfidStationInfoList list = ParseRfidStationInfoList((byte[])((Dictionary <string, object>)evt.Data)[ApcmDevcieConfig.PROPERTY_P1_INFO]);

            Set($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.PROPERTY_P1_INFO}:DATA", list);
            //更新上下料信息表
            PushToMes(ApcmDevcieConfig.EVENT_MES_CHARGING_STATE, new Dictionary <string, object>
            {
                ["LINE"]           = SysConf.Main.AssemblyLine.Id,
                ["IS_READ"]        = 0,
                ["DISPATCH_STATE"] = 1,
                ["FLAG"]           = 2,
                ["NO_FROM"]        = "1",
                ["BTRAY_ID1"]      = list.RfidStationInfos[0].UID,
                ["BTRAY_ID2"]      = list.RfidStationInfos[1].UID,
                ["BTRAY_ID3"]      = list.RfidStationInfos[2].UID
            });
        }
示例#11
0
        public void OnEventP4_PlcInfoReadDone(ApcmEventArgs evt)
        {
            P4PlcInfo currentP4PlcInfo = new P4PlcInfo();

            currentP4PlcInfo = (P4PlcInfo)StructTransform.BytesToStruct((byte[])((Dictionary <string, object>)evt.Data)[ApcmDevcieConfig.PROPERTY_P4_PLCINFO], currentP4PlcInfo.GetType());
            //更新本地缓存
            Set($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.PROPERTY_P4_PLCINFO}:DATA", currentP4PlcInfo);
            //4号位需要更新
            Write(ApcmDevcieConfig.ACTION_P4_UPDATE, 1);
            //更新具体信息
            RfidStationInfo stationInfo = RefreshMaterialCode(currentP4PlcInfo);
            int             Spe         = Get <int>($"{ApcmKeyConf.DataCollection}:{ApcmDevcieConfig.ACTION_P4_WORKBINSPE}:DATA");

            if (Spe == 0)
            {
                Write(ApcmDevcieConfig.ACTION_P4_UPDATECPPINFO, StructTransform.StructToBytes(stationInfo));
            }
            else
            {
                Write(ApcmDevcieConfig.ACTION_P4_SPECPPINFO, StructTransform.StructToBytes(stationInfo));
            }
        }
示例#12
0
 public void OnEvent_Line_OpInfo2ReadDone(ApcmEventArgs evt)
 {
 }
示例#13
0
 public void OnEvent_P4_SPECPPINFO(ApcmEventArgs evt)
 {
     Write(ApcmDevcieConfig.ACTION_P4_REQPLCUPDATE_SPE, 1);
 }
示例#14
0
 public void OnEvent_SpeTaskEnd(ApcmEventArgs evt)
 {
 }
示例#15
0
 public void OnEvent_Thrum_RfidCp(ApcmEventArgs evt)
 {
 }
示例#16
0
 public void OnEvent_P4_ReqPcRead(ApcmEventArgs evt)
 {
     Read(ApcmDevcieConfig.PROPERTY_P4_PLCINFO);
 }
示例#17
0
 public void OnEvent_P4_PlcUpdateDone(ApcmEventArgs evt)
 {
     //更新料箱明细表
     UpdateMesBtaryInfos();
 }
示例#18
0
 public void OnEvent_P1_NullTaskDone(ApcmEventArgs evt)
 {
 }
示例#19
0
 public void OnEvent_P1_EnReadInfo(ApcmEventArgs evt)
 {
     Read(ApcmDevcieConfig.PROPERTY_P1_INFO);
 }
示例#20
0
 public void OnEvent_P1_TerOrderTaskCall(ApcmEventArgs evt)
 {
     Write(ApcmDevcieConfig.ACTION_P1_TERORDER, 1);
 }
示例#21
0
 public void OnEvent_P1_In(ApcmEventArgs evt)
 {
 }
示例#22
0
 public void OnEvent_SpotCheckDone(ApcmEventArgs evt)
 {
 }
示例#23
0
 public void OnEvent_SpotCall(ApcmEventArgs evt)
 {
 }
示例#24
0
 public void OnEvent_P4_PlcRxDone(ApcmEventArgs evt)
 {
     Write(ApcmDevcieConfig.ACTION_P4_REQPLCUPDATE, 1);
 }
示例#25
0
 public void OnEvent_SpotInfoReadDone(ApcmEventArgs evt)
 {
 }
示例#26
0
 public void OnEvent_P5_bEnScadaRead(ApcmEventArgs evt)
 {
     Read(ApcmDevcieConfig.ACTION_P5_CENTINFO);
 }
示例#27
0
 public void OnEvent_Ng_RfidCp(ApcmEventArgs evt)
 {
 }
示例#28
0
 public void OnEvent_P2_In(ApcmEventArgs evt)
 {
     Read(ApcmDevcieConfig.PROPERTY_P2_WORKBININFO);
 }
示例#29
0
 public void OnEvent_P5_SpeTaskDone(ApcmEventArgs evt)
 {
 }
示例#30
0
 public void OnEvent_P4_PlcRxDone_Spe(ApcmEventArgs evt)
 {
     Read(ApcmDevcieConfig.PROPERTY_P4_PLCINFO);
 }