示例#1
0
        private static async Task <int> Read(string address, ushort maxJobs, ILoggerFactory loggerFactory)
        {
            var client = new Dacs7Client(address, PlcConnectionType.Pg, 5000, loggerFactory)
            {
                MaxAmQCalled  = maxJobs,
                MaxAmQCalling = maxJobs
            };
            var logger = loggerFactory?.CreateLogger("Dacs7Cli.BlokcsCount");

            try
            {
                await client.ConnectAsync();

                var result = await client.ReadBlocksCountAsync();

                if (result != null)
                {
                    logger?.LogInformation($"FB: {result.Fb}");
                    logger?.LogInformation($"FC: {result.Fc}");
                    logger?.LogInformation($"DB: {result.Db}");
                }
                else
                {
                    logger?.LogError($"No result on blockinfo");
                }
            }
            catch (Exception ex)
            {
                logger?.LogError($"An error occured in Read: {ex.Message} - {ex.InnerException?.Message}");
                return(1);
            }
            finally
            {
                await client.DisconnectAsync();
            }

            return(0);
        }