Twincat 3 Writes data in AdsServer

356 Views Asked by At

I'm trying to write my own ADS Sever (using .NET 5).

Here is my Code:

    public class SampleServer :AdsServer
  {       
    private IServerLogger _serverLogger;

    public Server(ushort port, string portName, ILogger logger)  : base(port, portName, 
               logger)
    {
        _serverLogger = new ServerLogger(logger);

    }
     }
   }

  class Program
{
    private static ILogger<Server> _logger;


    static void Main(string[] args)
    {
         ushort port = 25000;


        string portName = "TestAdsServer";

        ILoggerFactory loggerFactory = LoggerFactory.Create(builder =>
        {
            builder.AddConsole();
        });
        _logger = loggerFactory.CreateLogger<Server>();

       Server server = new Server(port, portName, _logger);

       server.ServerConnectionStateChanged += ConnectionStatusChanged;

        Console.WriteLine("Press enter to close the servers ...");
        Console.ReadLine();

        server.Disconnect();

    }

     private static void ConnectionStatusChanged(object sender, 
       ServerConnectionStateChangedEventArgs args)
    {

        if (args.State == ServerConnectionState.Connected)
            _logger.LogInformation("Server is connected to port" + 25000);
        else if (args.State == ServerConnectionState.Disconnected)
            _logger.LogInformation("Server is disconnected");

       
    }

}

I have also written a Twincat 3 ADS client :

enter image description here

  1. Why am I not able to see the ServerConnectionChange status?

  2. Why the client is not able to write data in Ads Server?

1

There are 1 best solutions below

0
On
Server server = new Server(25000, "AdsServer", logger);
server.ConnectServer();