private void ExecuteS7ConnectionTest(int identity) { //get tested connection S7ConnectionModel connection = GetS7ConnectionModel(identity); //create connection testing class object S7ConnectionChecker checker = new S7ConnectionChecker(); //check connection (bool success, string error) = checker.CheckConnection(connection.IPaddress, (short)connection.Rack, (short)connection.Slot); //in case of failure if (!success) { //write event to DB SystemEventCreator eventCreator = new SystemEventCreator(_realmProvider); eventCreator.SaveNewEvent(SystemEventTypeEnum.ConnectionTest, $"Connection test to S7 CPU with IP: {connection.IPaddress}, rack: {connection.Rack}, slot: {connection.Slot}; failed."); MessageBox.Show($"Connection test failed. {error}.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); } else //success { SuccessConnectionDataReaded(checker); //write event to DB SystemEventCreator eventCreator = new SystemEventCreator(_realmProvider); eventCreator.SaveNewEvent(SystemEventTypeEnum.ConnectionTest, $"Connection test to S7 CPU with IP: {connection.IPaddress}, rack: {connection.Rack}, slot: {connection.Slot}; successfull."); } }
private void CheckingIfConnectionIsOK() { //find incorrect connections foreach (var item in _activeS7Connections) { bool connectionOK; try { S7ConnectionChecker checker = new S7ConnectionChecker(); (bool ok, string error) = checker.CheckConnection($"{item.FirstOctet}.{item.SecondOctet}.{item.ThirdOctet}.{item.FourthOctet}", (short)item.Rack, (short)item.Slot); if (!ok) { SystemEventCreator creator = new SystemEventCreator(_realmProvider); creator.SaveNewEvent(SystemEventTypeEnum.S7PLCconnectionFailure, $"Failed to connect to PLC with IP address: " + $"{item.FirstOctet}.{item.SecondOctet}.{item.ThirdOctet}.{item.FourthOctet}, Rack: {item.Rack}, Slot: {item.Slot}; during runtime."); } connectionOK = ok; } catch (Exception ex) { var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Error($"Error while trying to check communication status. Error: {ex.Message}."); connectionOK = false; } _plcConnectionOK.Add(connectionOK); } }
private void Save() { //create instance of event saving object SystemEventCreator creator = new SystemEventCreator(_realmProvider); //save new event creator.SaveNewEvent(SystemEventTypeEnum.S7AlarmOccured, $"New alarm: PLC connection ID: {_alarm.PLCconnectionID}; alarm tag name: {_alarm.AlarmTagName}; alarm text: {_currentAlarmText}.");; }
private void SendSMSes() { //TODO - add sending to the device //for now only saving an event in DB SystemEventCreator creator = new SystemEventCreator(_realmProvider); for (int i = 0; i < _messagesToSend.Count(); i++) { if (_sendingDetails[i].ToBeSend) { foreach (var item in _sendingDetails[i].PhoneNumbers) { creator.SaveNewEvent(SystemEventTypeEnum.SMSsending, $"Sending new SMS. Mssage Text: {_messagesToSend[i].AlarmText}; Phone number: +{item}."); } } } }