ITwinCatOpc.cs 952 B

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using TwinCAT.Ads;
  5. namespace SIASUN.Autopilot.Device.BeckHoff
  6. {
  7. public abstract class AbsTwinCatOpc
  8. {
  9. private int ADSConnectCur = 0;
  10. private int ADSClientNum = 0;
  11. public static TcAdsClient[] adsClients = new TcAdsClient[10];
  12. public virtual TcAdsClient GetAds()
  13. {
  14. ADSConnectCur = ADSClientNum % 10;
  15. ADSClientNum++;
  16. if (adsClients[ADSConnectCur] == null)
  17. adsClients[ADSConnectCur] = new TcAdsClient();
  18. return adsClients[ADSConnectCur];
  19. }
  20. public abstract bool IsConnectOpc();
  21. public abstract bool DisConnectOpc();
  22. public abstract bool CreateNotification();
  23. public abstract bool DeleteNotification();
  24. public abstract void Set(object nodevalue, string _type);
  25. public abstract object Get(out Type _type);
  26. }
  27. }