0

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?

  • Does `fbWriteReq` give any error? – Roald Aug 03 '22 at 06:28
  • @Roald fbWriteReq working fine and generation the random values when a forced value is given. I found the Function block here: https://infosys.beckhoff.com/index.php?content=../content/1031/tcplclib_tc2_system/710830347.html&id=. I only changed the IndexGroup = 0, IndexOffSet = 0, and Port =25000. – user17013672 Aug 03 '22 at 07:09

1 Answers1

0
Server server = new Server(25000, "AdsServer", logger);
server.ConnectServer();
Jeremy Caney
  • 7,102
  • 69
  • 48
  • 77