コード例 #1
0
ファイル: CMonitor.cs プロジェクト: wpmyj/Zhuangkao
        virtual public void UpdateMonData()
        {
            mondata_old.Copy(mondata);
            mondata = new CMonData(signLen);

            ReadIO();

            if (g_jifenQueue.Count >= g_jifennum)
            {
                g_jifenQueue.RemoveAt(0);
            }
            g_jifenQueue.Add(mondata.GetSignals(Shared.SignalType.GAN));

            if (x_jifenQueue.Count >= x_jifennum)
            {
                x_jifenQueue.RemoveAt(0);
            }
            x_jifenQueue.Add(mondata.GetSignals(Shared.SignalType.XIAN));
            CSignals gsign = JiFen(g_jifenQueue.ToArray(), g_jifennum, Shared.SignalType.GAN, ganlen);
            CSignals xsign = JiFen(x_jifenQueue.ToArray(), x_jifennum, Shared.SignalType.XIAN, xianlen);

            mondata.SetSignals(Shared.SignalType.GAN, gsign);
            mondata.SetSignals(Shared.SignalType.XIAN, xsign);

            mondata_cur.Copy(mondata);
        }
コード例 #2
0
ファイル: CMonitor.cs プロジェクト: wpmyj/Zhuangkao
        virtual protected void ReadIO()
        {
            CMonData mod       = mondata;
            sbyte    tmpreturn = 0;

            for (int i = 0; i < 6; i++)
            {
                iorw.write(0x378, (byte)i);
                Thread.Sleep(lvbodelaytime);
                tmpreturn = (sbyte)iorw.read(0x379);
                mod.GetSignals(SignalType.GAN)[i]  = readbit(tmpreturn, (sbyte)ganpos);
                mod.GetSignals(SignalType.XIAN)[i] = readbit(tmpreturn, (sbyte)xianpos);
                mod.GetSignals(SignalType.CHE)[i]  = readbit(tmpreturn, (sbyte)chepos);
            }
            //信号处理
            sbyte[] garr = mod.GetSignals(SignalType.GAN).SignalArray;
            sbyte[] xarr = mod.GetSignals(SignalType.XIAN).SignalArray;
            sbyte[] carr = mod.GetSignals(SignalType.CHE).SignalArray;
            //取反
            mondata_qf(ref garr, adminQFGan);
            mondata_qf(ref xarr, adminQFXian);
            //管理员屏蔽
            mondata_adminpb(ref garr, adminPBGan);
            mondata_adminpb(ref xarr, adminPBXian);
            //屏蔽
            mondata_pb(ref carr, SignalType.CHE, PBChe);
            mondata_pb(ref garr, SignalType.GAN, PBGan);
            mondata_pb(ref xarr, SignalType.XIAN, PBXian);
        }