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); } }
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); }