コード例 #1
0
        public void ReadBlockInfoAsyncTest()
        {
            var client = new Dacs7Client();

            client.ConnectAsync(ConnectionString).Wait();
            Assert.True(client.IsConnected);


            client.ConnectAsync(ConnectionString).Wait();
            var blkInfo = client.ReadBlockInfoAsync(PlcBlockType.Db, TestDbNr).Result;

            Assert.Equal(TestDbNr, blkInfo.BlockNumber);


            client.DisconnectAsync().Wait();
            Assert.False(client.IsConnected);
        }
コード例 #2
0
        private static async Task <int> Read(string address, ushort maxJobs, string block, ILoggerFactory loggerFactory)
        {
            var client = new Dacs7Client(address, PlcConnectionType.Pg, 5000, loggerFactory)
            {
                MaxAmQCalled  = maxJobs,
                MaxAmQCalling = maxJobs
            };
            var logger = loggerFactory?.CreateLogger("Dacs7Cli.Blockinfo");

            try
            {
                await client.ConnectAsync();

                var(blockType, number) = TranslateFromInput(block);
                var result = await client.ReadBlockInfoAsync(blockType, number);

                if (result != null)
                {
                    logger?.LogInformation($"Blockinfo: {result.BlockNumber}: {result.LastCodeChange}");
                }
                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);
        }