Ejemplo n.º 1
0
        public void UpdateValueFromPlc()
        {
            var client = _connection?.PlcClient;

            if (client == null)
            {
                return;
            }

            lock (_connection.PlcClient)
            {
                var retry = 3;
                while (retry-- >= 0)
                {
                    if (!client.Connected)
                    {
                        TronTrace.TraceWarning("No PLC connection");
                        client.Connect();
                    }

                    if (ReadValue())
                    {
                        return;
                    }
                }
                TronTrace.TraceError($"PlcItem.UpdateValueFromPlc failed to read {_info.Name}");
            }
        }
Ejemplo n.º 2
0
        private void UpdatePlc(object value)
        {
            var client = _connection?.PlcClient;

            if (client == null)
            {
                return;
            }

            lock (client)
            {
                var retry = 3;
                while (retry-- >= 0)
                {
                    if (!client.Connected)
                    {
                        TronTrace.TraceWarning("No PLC connection");
                        client.Connect();
                    }

                    if (WriteValue(value))
                    {
                        return;
                    }
                }
            }
            TronTrace.TraceError($"PlcItem.UpdateValueFromPlc failed to write {_info.Name}");
        }