Example #1
0
 public BoardSQL(int _board, PCIE1730pars _par, string _schema, bool _PCSide, DOnPr _OnPr = null)
     : base(_par, _OnPr)
 {
     schema = _schema;
     PCSide = _PCSide;
     Devnum = _board;
     CheckTables();
 }
Example #2
0
 public SignalList(PCIE1730pars _pars0, PCIE1730pars _pars1, PCI1784Upars _pars1784, SignalsPanelPars _SignalsPanel, Board.DOnPr _OnPr, bool _PCSide = true)
     : this(_pars0, _pars1, _pars1784, _OnPr, _PCSide)
 {
     SignalsPanel = _SignalsPanel;
     if (SignalsPanel.Visible)
     {
         Show();
     }
 }
Example #3
0
 protected Board(PCIE1730pars _pars, DOnPr _OnPr)
 {
     OnPr          = _OnPr;
     DigitalOffset = _pars.DigitalOffset;
     portCount_in  = _pars.PortcountIn;
     portCount_out = _pars.PortcountOut;
     Timeout       = _pars.SignalListTimeout;
     values_in     = 0;
     values_out    = 0;
 }
Example #4
0
 public Board1730(PCIE1730pars _pars, DOnPr _OnPr)
     : base(_pars, _OnPr)
 {
     ctrl_in  = new InstantDiCtrl();
     ctrl_out = new InstantDoCtrl();
     ctrl_in.SelectedDevice  = new DeviceInformation(_pars.Devnum);
     ctrl_out.SelectedDevice = new DeviceInformation(_pars.Devnum);
     buf_in  = new byte[portCount_in];
     buf_out = new byte[portCount_out];
 }
Example #5
0
        SignalList(PCIE1730pars _pars0, PCIE1730pars _pars1, PCI1784Upars _pars1784, Board.DOnPr _OnPr, bool _PCSide)
        {
            PCSide = _PCSide;
            if (_pars0 != null)
            {
#if (BoardVirtual)
                boards[0] = new BoardVirtual(_pars0, _OnPr);
#endif
#if (BoardSQL)
                boards[0] = new BoardSQL(0, _pars0, "Uran", _PCSide, _OnPr);
#endif
#if (Board1730)
                boards[0] = new Board1730(_pars0, _OnPr);
#endif
            }

            if (_pars1 != null)
            {
#if (BoardVirtual)
                boards[1] = new BoardVirtual(_pars1, _OnPr);
#endif
#if (BoardSQL)
                boards[1] = new BoardSQL(1, _pars1, "Uran", _PCSide, _OnPr);
#endif
#if (Board1730)
                boards[0] = new Board1730(_pars1, _OnPr);
#endif
            }

            if (_pars1784 != null)
            {
#if (BoardVirtual)
                board1784 = new Board1784virtual(_pars1784.Devnum, _PCSide);
#endif
#if (BoardSQL)
                board1784 = new Board1784SQL("Uran", _pars1784.Devnum, _PCSide);
#endif
            }
            SetSignals(_pars0, _pars1);
#if (BoardSQL)
            if (!_PCSide)
            {
                InitOut();
            }
#endif
            ResetAll();
            ts = new ThreadStart(Run);
            th = new Thread(ts);
            th.Start();
        }
Example #6
0
 protected override void SetSignals(PCIE1730pars _pars0, PCIE1730pars _pars1)
 {
     for (int b = 0; b < boards.Length; b++)
     {
         if (boards[b] == null)
         {
             continue;
         }
         for (int pos = 0; pos < boards[b].portCount_in * 8; pos++)
         {
             SignalPars par = null;
             par = GetPars(_pars0.Signals, pos, boards[b].DigitalOffset, true);
             if (par == null)
             {
                 par = SignalParsDef(b, true, pos, boards[b].DigitalOffset);
             }
             Signal s = new Signal(b, par, boards[b].DigitalOffset, SyncObj, WriteSignal);
             if (!PCSide)
             {
                 s.input = !s.input;
             }
             Add(s);
         }
         for (int pos = 0; pos < boards[b].portCount_out * 8; pos++)
         {
             SignalPars par = null;
             par = GetPars(_pars0.Signals, pos, boards[b].DigitalOffset, false);
             if (par == null)
             {
                 par = SignalParsDef(b, false, pos, boards[b].DigitalOffset);
             }
             Signal s = new Signal(b, par, boards[b].DigitalOffset, SyncObj, WriteSignal);
             if (!PCSide)
             {
                 s.input = !s.input;
             }
             Add(s);
         }
     }
 }
Example #7
0
        protected override void SetSignals(PCIE1730pars _pars0, PCIE1730pars _pars1)
        {
            Type tp = GetType();

            foreach (FieldInfo fi in tp.GetFields(BindingFlags.Public | BindingFlags.Instance))
            {
                if (fi.FieldType != typeof(Signal))
                {
                    return;
                }
                DNameAttribute dn = Attribute.GetCustomAttribute(fi, typeof(DNameAttribute)) as DNameAttribute;
                if (dn == null)
                {
                    throw new Exception("Сигнал не имеет описания: " + fi.Name);
                }
                SignalInputAttribute si = Attribute.GetCustomAttribute(fi, typeof(SignalInputAttribute)) as SignalInputAttribute;
                if (si == null)
                {
                    throw new Exception("Сигнал не имеет направления: " + fi.Name);
                }
                int        iboard = -1;
                SignalPars p      = GetPars(_pars0 == null ? null : _pars0.Signals, _pars1 == null ? null : _pars1.Signals, dn.Name, ref iboard);
                if (p == null)
                {
                    throw new Exception("Сигнал не найден и его негде создать: " + fi.Name + ": " + dn.Name);
                }
                p.Input = si.Input;
                Signal s = new Signal(iboard, p, boards[iboard].DigitalOffset, SyncObj, WriteSignal);
                if (!PCSide)
                {
                    s.input = !s.input;
                }
                Add(s);
                s.hint = fi.Name;
                fi.SetValue(this, s);
            }
            ClearSignalPars(_pars0 == null ? null : _pars0.Signals, _pars1 == null ? null : _pars1.Signals);
        }
Example #8
0
        void InitSignals(PCIE1730pars _pars)
        {
            Type tp = GetType();

            foreach (FieldInfo fi in tp.GetFields(BindingFlags.Public | BindingFlags.Instance))
            {
                if (fi.FieldType != typeof(Signal))
                {
                    return;
                }
                DNameAttribute dn = Attribute.GetCustomAttribute(fi, typeof(DNameAttribute)) as DNameAttribute;
                if (dn == null)
                {
                    throw new Exception("Сигнал не имеет описания: " + fi.Name);
                }
                Signal s = this[dn.Name];
                if (s == null)
                {
                    throw new Exception("Сигнал не найден: " + fi.Name + ": " + dn.Name);
                }
                s.hint = fi.Name;
                fi.SetValue(this, s);
            }
        }
Example #9
0
 protected abstract void SetSignals(PCIE1730pars _pars0, PCIE1730pars _pars1);
Example #10
0
 public SignalListDef(PCIE1730pars _pars, ScrollableControl _Container, SignalsPanelPars _SignalsPanel, Board.DOnPr _OnPr, bool _PCSide = true)
     : base(_pars, null, null, _Container, _SignalsPanel, _OnPr, true)
 {
     saveInput = SaveInput.Create(ParAll.ST.Defect.PCIE1730.Save1730);
 }
Example #11
0
 public SignalListMan(PCIE1730pars _pars0, PCIE1730pars _pars1, PCI1784Upars _pars1784, ScrollableControl _Container, SignalsPanelPars _SignalsPanel, Board.DOnPr _OnPr, bool _PCSide = true)
     : base(_pars0, _pars1, _pars1784, _Container, _SignalsPanel, _OnPr, _PCSide)
 {
 }
Example #12
0
 public SignalListWork(PCIE1730pars _pars0, PCIE1730pars _pars1, PCI1784Upars _pars1784, SignalsPanelPars _SignalsPanel, Board.DOnPr _OnPr, bool _PCSide = true)
     : base(_pars0, _pars1, _pars1784, _SignalsPanel, _OnPr, _PCSide)
 {
 }
Example #13
0
 public BoardVirtual(PCIE1730pars _pars, DOnPr _OnPr) : base(_pars, _OnPr)
 {
 }