示例#1
0
        public void ReadDB100Int12Test()
        {
            int result = 0;

            if (!Client.Connected)
            {
                result = Client.ConnectTo(IpAddress, Rack, Slot);
            }
            if (result == 0)
            {
                byte[] buffer = new byte[2];
                result = Client.ReadArea(S7.S7AreaDB, 100, 12, 2, buffer);
                var int12 = S7.GetShortAt(buffer, 0);
                Assert.Equal(int12, 99);
            }
        }
示例#2
0
 internal async void Execute(List <Tag> tags, Command cmd)
 {
     //1. get data
     for (int i = 0; i < tags.Count; i++)
     {
         var    tagItem = tags[i];
         var    length  = Utility.GetByteLengthFromType(tagItem.DataType);
         int    area    = Utility.GetS7Area(tagItem.Area);
         byte[] buffer  = new byte[length];
         var    result  = S7Client.ReadArea(area, tagItem.Number, tagItem.Position, length, buffer);
         if (result == 0)
         {
             tagItem.Value = Utility.GetS7Value(tagItem, buffer);
         }
     }
     var message = Utility.BuildData(tags);
     await _ServiceClient.SendDataToAzureAsync(message);
 }