Пример #1
0
        /// <summary>
        /// 获取控制器状态
        /// </summary>
        private int GetGWStatus()
        {
            bool bGoOn;
            int  ret, timeStart;

            for (int i = 0; i < GWCount; i++)
            {
                Dapapi.AB_GW_Open(GWID[i]);
                ret = Dapapi.AB_GW_Status(GWID[i]);

                if (ret != 7)
                {
                    bGoOn     = true;
                    timeStart = System.Environment.TickCount;
                    while (bGoOn)
                    {
                        ret = Dapapi.AB_GW_Status(GWID[i]);
                        if (ret == 7)
                        {
                            bGoOn = false;
                        }
                        else if (System.Environment.TickCount - timeStart > 3000)
                        {
                            bGoOn = false;
                        }
                    }
                }

                if (ret == 7)
                {
                    //写日志
                    MonitorLog monitorLog = MonitorLog.NewMonitorLog();
                    monitorLog.LOGNAME     = "设备初始化";
                    monitorLog.LOGINFO     = "电子标签串口路由ID:" + GWID[i] + " 连接成功, 状态 :" + ret;
                    monitorLog.LOGLOCATION = "设备";
                    monitorLog.LOGTYPE     = 0;
                    monitorLog.Save();
                    return(1);
                }
                else
                {
                    MessageBox.Show("电子标签串口路由ID:" + GWID[i] + " 连接失败, 状态 :" + ret);
                    //写日志
                    MonitorLog monitorLog = MonitorLog.NewMonitorLog();
                    monitorLog.LOGNAME     = "设备初始化";
                    monitorLog.LOGINFO     = "电子标签串口路由ID:" + GWID[i] + " 连接失败, 状态 :" + ret;
                    monitorLog.LOGLOCATION = "设备";
                    monitorLog.LOGTYPE     = 0;
                    monitorLog.Save();
                }
            }
            return(0);
        }
Пример #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);
                }
            }
        }
Пример #3
0
        /// <summary>
        /// 接收标签信息
        /// </summary>
        private void RcvMsg()
        {
            int   gwid, ret;
            short tagNode, subCmd, msgType, dataCnt;
            short gwPort, keyType, maxTag;

            byte[]      rcvData = new byte[200];
            Dapapi.Tccb ccb_data;
            string      tmpStr, rcvStr;


            gwid    = 0;    //all gateway
            tagNode = 0;    //all tagnode
            subCmd  = -1;   //all subcmd
            msgType = 0;
            dataCnt = 200;

            Dapapi.AB_GW_Status(0);
            ret = Dapapi.AB_Tag_RcvMsg(ref gwid, ref tagNode, ref subCmd, ref msgType, rcvData, ref dataCnt);
            if (ret > 0)
            {
                rcvStr = System.Text.Encoding.Default.GetString(rcvData);
                if (tagNode < 0)
                {
                    gwPort = 1;
                }
                else
                {
                    gwPort = 2;
                }

                tmpStr = "GW_ID:" + gwid + ",GW Port:" + gwPort + ",TagNode:" + System.Math.Abs(tagNode) + ",SubCmd:" + subCmd + ",Data:" + rcvStr;

                switch (subCmd)
                {
                case SUMCMD_CONFIRM_BUTTON:
                    //写日志
                    monitorLog             = MonitorLog.NewMonitorLog();
                    monitorLog.LOGNAME     = "接收到标签信号";
                    monitorLog.LOGINFO     = tmpStr;
                    monitorLog.LOGLOCATION = "设备";
                    monitorLog.LOGTYPE     = 0;
                    monitorLog.Save();
                    //ShowMsg(tmpStr);


                    if (Tags.ContainsKey(System.Math.Abs(Convert.ToInt32(tagNode))))
                    {
                        Tags[System.Math.Abs(Convert.ToInt32(tagNode))].Qty = 0;
                    }
                    break;


                default:
                    monitorLog             = MonitorLog.NewMonitorLog();
                    monitorLog.LOGNAME     = "设备初始化";
                    monitorLog.LOGINFO     = tmpStr;
                    monitorLog.LOGLOCATION = "设备";
                    monitorLog.LOGTYPE     = 0;
                    monitorLog.Save();
                    break;
                }
            }
        }