Beispiel #1
0
        //scan m1x1 slave IO status
        private void systemScan()
        {
            while (true)
            {
                if (keyOfIOStatus)
                {
                    U32 status = 0;
                    I16 rt     = CCMNet.CS_mnet_m1_get_io_status(RingNoOfMNet, axisPara.SlaveIP, ref status);
                    this.status.RDY    = BitConverterEx.TestB(status, 0);
                    this.status.ALM    = BitConverterEx.TestB(status, 1);
                    this.status.LimitP = BitConverterEx.TestB(status, 2);
                    this.status.LimitN = BitConverterEx.TestB(status, 3);
                    this.status.ORG    = BitConverterEx.TestB(status, 4);
                    this.status.DIR    = BitConverterEx.TestB(status, 5);
                    this.status.EMG    = BitConverterEx.TestB(status, 6);
                    this.status.PCS    = BitConverterEx.TestB(status, 7);
                    this.status.ERC    = BitConverterEx.TestB(status, 8);
                    this.status.ZPhase = BitConverterEx.TestB(status, 9);
                    this.status.CLR    = BitConverterEx.TestB(status, 10);
                    this.status.Latch  = BitConverterEx.TestB(status, 11);
                    this.status.SD     = BitConverterEx.TestB(status, 12);
                    this.status.INP    = BitConverterEx.TestB(status, 13);
                    this.status.SVON   = BitConverterEx.TestB(status, 14);
                    this.status.RALM   = BitConverterEx.TestB(status, 15);

                    if (this.status.ALM || this.status.EMG)
                    {
                        this.status.Home = false;
                    }

                    Thread.Sleep(50);
                }
            }
        }