Пример #1
0
 //----------------------------------------------------------------------
 public void Word(int aIndex, UInt16 aValue)
 {
     lock (this)
     {
         oldSets.Word(aIndex, newSets.Word(aIndex));
         newSets.Word(aIndex, aValue);
     }
 }
Пример #2
0
        public void Read()
        {
            int    i     = 0;
            UInt32 value = 0;

            lock (this)
            {
                if (Type == EAxtDio.DI)
                {
                    foreach (AxtDioWordModule module in modules)
                    {
                        i = module.ModuleNo * 2;
                        Validate(CAXD.AxdiReadInportWord(module.ModuleNo, module.Offset, ref value));

                        oldValue.Word(i, nowValue.Word(i));
                        nowValue.Word(i, (UInt16)value);
                    }

                    foreach (KeyValuePair <int, UlTripState> trip in trips)
                    {
                        if (trip.Value.Tripped(nowValue[trip.Key]) == true)
                        {
                            TripCode = trip.Value.Code;
                            break;
                        }
                    }

                    foreach (KeyValuePair <int, UlRelayTimer> timer in timers)
                    {
                        timer.Value.IN = nowValue[timer.Key];
                    }
                }
                else
                {
                    foreach (AxtDioWordModule module in modules)
                    {
                        i = module.ModuleNo * 2;
                        Validate(CAXD.AxdoReadOutportWord(module.ModuleNo, module.Offset, ref value));

                        oldValue.Word(i, nowValue.Word(i));
                        nowValue.Word(i, (UInt16)value);
                        tempValue.Word(i, (UInt16)value);
                    }
                }
            }
        }