Example #1
0
        public void DefineUshortTag(
            RegisterFunction function,
            TagAddressMaskType masktype = TagAddressMaskType.None,
            ushort mask = ushort.MaxValue,
            TagAddressMergeType mergetype = TagAddressMergeType.OrMerge,
            ushort range = ushort.MinValue)
        {
            if (InnerTag != null)
            {
                return;
            }
            UshortTag innertag = new UshortTag(function)
            {
                MaskType  = masktype,
                Mask      = mask,
                MergeType = mergetype,
                Range     = range
            };

            InnerTag = innertag;
            InnerTag.TagValueChangedEvent += delegate(ITagType tag)
            {
                TagStatusChanged?.Invoke(this, EventArgs.Empty);
            };
        }
Example #2
0
        public void UshortTag_AddAddress()
        {
            UshortTag myTag = new UshortTag(RegisterFunction.HoldingRegister);

            myTag.AddAddress(5);
            myTag.AddAddress(12);
            myTag.SetData(getModbusUshortValues());
        }
Example #3
0
        public void UshortTag_AndMask2()
        {
            UshortTag myTag = new UshortTag(RegisterFunction.HoldingRegister);

            myTag.AddAddress(3); // 102
            myTag.MaskType = TagAddressMaskType.AndMask;
            myTag.Mask     = 8;
            myTag.SetData(getModbusUshortValues());
            Assert.AreEqual(0, myTag.Value);
        }
Example #4
0
        public void UshortTag_OrMask5()
        {
            UshortTag myTag = new UshortTag(RegisterFunction.HoldingRegister);

            myTag.AddAddress(5); // 104
            myTag.MaskType = TagAddressMaskType.None;
            myTag.Mask     = 1;
            myTag.SetData(getModbusUshortValues());
            Assert.AreEqual(104, myTag.Value);
        }
Example #5
0
        public void UshortTag_OrMerge3()
        {
            UshortTag myTag = new UshortTag(RegisterFunction.HoldingRegister);

            myTag.AddAddress(8); // 14
            myTag.AddAddress(9); // 15
            myTag.MergeType = TagAddressMergeType.OrMerge;
            myTag.SetData(getModbusUshortValues());
            Assert.AreEqual(15, myTag.Value);
        }
Example #6
0
        public void UshortTag_AndMerge2()
        {
            UshortTag myTag = new UshortTag(RegisterFunction.HoldingRegister);

            myTag.AddAddress(3); // 102
            myTag.AddAddress(4); // 103
            myTag.MergeType = TagAddressMergeType.AndMerge;
            myTag.SetData(getModbusUshortValues());
            Assert.AreEqual(102, myTag.Value);
        }
        public void UshortTag_OrMask1()
        {
            UshortTag myTag = new UshortTag(RegisterFunction.HoldingRegister);

            myTag.AddAddress(3); // 102
            myTag.MaskType = TagAddressMaskType.OrMask;
            myTag.Mask     = 15;
            myTag.SetData(GetModbusUshortValues());
            Assert.AreEqual(111, myTag.Value);
        }
Example #8
0
 public void WriteUshortTagValue(UshortTag tag)
 {
     try
     {
         master.WriteSingleRegister((ushort)(tag.GetAddresses()[0] - 1), tag.GetWriteValue());
     }
     catch
     {
         WriteUshortTagValue(tag);
     }
 }
Example #9
0
        public void UshortTag_ValueChangedTest2()
        {
            UshortTag myTag     = new UshortTag(RegisterFunction.HoldingRegister);
            bool      isChanged = false;

            myTag.TagValueChangedEvent += delegate(ITagType tag)
            {
                isChanged = true;
            };
            myTag.AddAddress(5);
            myTag.AddAddress(12);
            Assert.AreEqual(false, isChanged);
        }
Example #10
0
        public void UshortTag_ValueChangedTest3()
        {
            UshortTag     myTag  = new UshortTag(RegisterFunction.HoldingRegister);
            List <ushort> values = new List <ushort>();

            myTag.TagValueChangedEvent += delegate(ITagType tag)
            {
                values.Add(myTag.Value);
            };
            myTag.AddAddress(5);
            myTag.SetData(getModbusUshortValues());
            myTag.SetData(getModbusUshortValues2());
            Assert.AreEqual(104, values[0]);
            Assert.AreEqual(204, values[1]);
        }
        public void UshortTag_ValueChangedTest4()
        {
            UshortTag     myTag  = new UshortTag(RegisterFunction.HoldingRegister);
            List <ushort> values = new List <ushort>();

            myTag.TagValueChangedEvent += delegate(ITagType tag)
            {
                values.Add(myTag.Value);
            };
            myTag.AddAddress(4);
            myTag.MaskType = TagAddressMaskType.AndMask;
            myTag.Mask     = 7;
            myTag.SetData(GetModbusUshortValues());
            myTag.SetData(GetModbusUshortValues2());
            Assert.AreEqual(7, values[0]);
            Assert.AreEqual(3, values[1]);
        }
Example #12
0
        public void UshortTag_Initialize()
        {
            UshortTag myTag1 = new UshortTag(RegisterFunction.HoldingRegister);

            Assert.AreEqual(myTag1.InnerTagType, TagType.UshortTag);
        }
Example #13
0
 private void InnerWriteUshortTagValue(UshortTag tag)
 {
     master.WriteSingleRegister(myDevice.Id, (ushort)(tag.GetAddresses()[0] - 1), tag.GetWriteValue());
 }
Example #14
0
 public void WriteUshortTagValue(UshortTag tag)
 {
     ushortWriteList.Enqueue(tag);
 }