Esempio n. 1
0
        private async void ResetPLC()
        {
            //todo: PLC reset in picon2
            uiPLCReset.IsEnabled = false;
            if (DeviceSelection.SelectedDevice == (int)DeviceSelectionEnum.DEVICE_PICON2)
            {
                try
                {
                    await RTUConnectionGlobal.ExecuteFunction15Async(1, 0xFFFF, new bool[] { false, false, false, false, false, false, false, false,
                                                                                             false, false, false, false, false, false, false, false,
                                                                                             false, false, false, false, false, false, false, false });

                    ShowMessage("Устройство было успешно сброшено.", "Внимание", MessageBoxImage.Information);
                }
                catch (Exception ex)
                {
                    ShowMessage("Во время сброса устройства произошла ошибка.", "Ошибка", MessageBoxImage.Error);
                }
            }
            else
            {
                try
                {
                    await RTUConnectionGlobal.SendDataByAddressAsync(1, (ushort)(0x0302),
                                                                     new ushort[] { 1 });

                    ShowMessage("Устройство было успешно сброшено.", "Внимание", MessageBoxImage.Information);
                }
                catch (Exception exception)
                {
                    ShowMessage("Во время сброса устройства произошла ошибка.", "Ошибка", MessageBoxImage.Error);
                }
            }
            uiPLCReset.IsEnabled = true;
        }