Why not just create a function which reads the tag data directly from the PLC and stores their values in your own variable?
REALLY rough example, i write VB.net mostly.
try
{
//Create a new Driver instance
var plcDriver = new AdvancedHMIDrivers.EthernetIPforCLXCom();
plcDriver.IPAddress = "192.168.1.1";
plcDriver.PollRateOverride = 150;
string _testTage = "Robot1:I.Data[0]";
int _subscribeTotal = 32;
int _subscribeCount = 0;
//UnsubscribeTags();
for (int i = 0; i < _subscribeTotal; i++)
{
string tag = String.Format("{0}.{1}", _testTage, i.ToString());
Console.WriteLine(tag);
string _testTagData = plcDriver.Read(tag);
Console.WriteLine(_testTagData);
someDataContainer.Add(_testTagData);
}
_subscribeCount++;
Console.WriteLine("Finished Subscribing.");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, ex.TargetSite.Name);
}