Witam. Mam taki oto kod:
delegate void ItemValueChanged(Item item, DataSvcStatus status);
public partial class Main
{
DataSvc m_DataSvcSubscribe = null;
Guid m_GuidSubscribe;
public Main()
{
InitializeComponent();
try
{
m_DataSvcSubscribe = new DataSvc();
}
catch...
}
private void StartRefresh()
{
try
{
Item itemSubscribe = new Item("DB55.DB4");
m_GuidSubscribe = m_DataSvcSubscribe.Subscribe(OnDataChanged, itemSubscribe);
}
catch...
}
private void StopRefresh()
{
try
{
m_DataSvcSubscribe.UnSubscribe(OnDataChanged);
}
catch...
}
public void OnDataChanged(Guid guid, Item item, DataSvcStatus status)
{
ItemValueChanged itemDelegate = new ItemValueChanged(OnItemValueChanged);
BeginInvoke(itemDelegate, new Object[] { item, status });
}
public void OnItemValueChanged(Item item, DataSvcStatus status)
{
textBox.Text = item.Value.ToString();
}
}
Działa to w taki sposób, że jak zmienię wartość zmiennej "DB55.DB4" w sterowniku PLC, to wartość tej zmiennej pojawia mi się w jakimś textboxie. Sam odczyt i zapis jest prosty, ale to dzieje się ONLINE, czyli każda zmiana w sterowniku powoduje zmianę wartości w textboxie (jak zdarzenie). Moja prośba jest następująca, chciałbym dodać właściwość, która będzie zmieniana jeśli nastąpi zmiana w sterowniku i ta właściwość będzie mi zmieniała wartość Textboxa. Potrzebuję tego do testowania, jeśli nie jestem podpięty do maszyny, żebym mógł symulować sobie zmianę tej zmiennej "DB55.DB4" np. z innej klasy. I nie za bardzo wiem, w którym miejscu mam to zmienić. Pozdrawiam i dziękuję.
Nikt nie ma żadnego pomysłu? Pilnie potrzebuję jakiejś podpowiedzi..