protected override void CommandExecutor_UpdatePointEvent(Common.PointType type, ushort pointAddres, ushort newValue) { Thread.Sleep(100); if (this.type == type && this.address == pointAddres && newValue != RawValue) { //OVDE UPISATI U BAZU - POPUNJAVAA SE DATA POINT SA PODACIMA RawValue = newValue; ProcessRawValue(newValue); Timestamp = DateTime.Now; DERMSCommon.SCADACommon.PointType dad = (DERMSCommon.SCADACommon.PointType)configItem.RegistryType; NetTcpBinding binding = new NetTcpBinding(); binding.Security = new NetTcpSecurity() { Mode = SecurityMode.None }; factoryUI = new ChannelFactory <ISendDataToCEThroughScada>(binding, new EndpointAddress("net.tcp://localhost:19999/ISendDataToCEThroughScada")); ProxyUI = factoryUI.CreateChannel(); Console.WriteLine("Connected: net.tcp://localhost:19999/ISendDataToCEThroughScada"); DataPoint dataPoint = new DataPoint((long)configItem.Gid, (DERMSCommon.SCADACommon.PointType)configItem.RegistryType, pointAddres, Timestamp, configItem.Description, DisplayValue, RawValue, (DERMSCommon.SCADACommon.AlarmType)alarm, configItem.GidGeneratora); List <DataPoint> datapoints = new List <DataPoint>(); datapoints.Add(dataPoint); ProxyUI.ReceiveFromScada(datapoints); } }
private void InitializePointCollection() { List <DERMSCommon.SCADACommon.DataPoint> datapoints = new List <DERMSCommon.SCADACommon.DataPoint>(); Points = new ObservableCollection <BasePointItem>(); foreach (var c in configuration.GetConfigurationItems()) { BasePointItem pi = CreatePoint(c, c.NumberOfRegisters, this.commandExecutor); if (pi != null) { Points.Add(pi); DERMSCommon.SCADACommon.PointType dad = (DERMSCommon.SCADACommon.PointType)pi.Type; DERMSCommon.SCADACommon.DataPoint dataPoint = new DERMSCommon.SCADACommon.DataPoint((long)pi.Gid, (DERMSCommon.SCADACommon.PointType)pi.Type, pi.Address, pi.Timestamp, pi.Name, pi.DisplayValue, pi.RawValue, (DERMSCommon.SCADACommon.AlarmType)pi.Alarm, c.GidGeneratora); datapoints.Add(dataPoint); } } string client = string.Empty; client = GetLocalIPAddress(); client += ":19999"; NetTcpBinding binding = new NetTcpBinding(); binding.Security = new NetTcpSecurity() { Mode = SecurityMode.None }; factoryUI = new ChannelFactory <ISendDataToCEThroughScada>(binding, new EndpointAddress("net.tcp://*****:*****@Timestamp, @Gid, @Production)"; ////InsertInCollectTable(collectItems, queryStmt1, connectionString); ////dayItems = ReadFromCollectTable(connectionString1); //string queryStmt2 = "INSERT INTO dbo.Day(Gid, Pmin, Pmax, Pavg, E, Timestamp) VALUES(@Gid, @Pmin, @Pmax, @Pavg, @E, @Timestamp)"; ////InsertInDayTable(dayItems, queryStmt2, connectionString); ProxyUI.ReceiveFromScada(datapoints); }
public override void BwApp_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { WorkerTask task = (WorkerTask)e.Result; PostWorkerTasks(); if (task == null) { return; } this.Text = Engine.GetProductName(); niTray.Tag = task; if (task.UploadResults.Count > 0) { UploadManager.UploadResultLast = task.UploadResults[task.UploadResults.Count - 1]; UploadManager.ResetCumulativePercentage(); } try { if (task.IsError && task.Errors[0].Contains(ExceptionMessage.ProxyAuthenticationRequired)) { ProxyUI ui = new ProxyUI(); if (ui.ShowDialog() == DialogResult.OK) { Engine.ConfigUI.ConfigProxy.ProxyList.Add(ui.Proxy); Engine.ConfigUI.ConfigProxy.ProxyConfigType = EProxyConfigType.ManualProxy; Uploader.ProxySettings = Adapter.CheckProxySettings(); } RetryTask(task); } WorkerTask checkTask = RetryUpload(task); if (checkTask.States.Contains(WorkerTask.TaskState.RetryPending)) { string message = string.Format("{0}\r\n\r\nAutomatically retrying upload for {1}.", string.Join("\r\n", task.Errors.ToArray()), checkTask.WorkflowConfig.DestConfig.ToStringImageUploaders()); niTray.ShowBalloonTip(5000, Application.ProductName, message, ToolTipIcon.Warning); } else { task.States.Add(WorkerTask.TaskState.Finished); if (task.WorkflowConfig.DestConfig.TaskClipboardContent.Contains(ClipboardContentEnum.Local) && Engine.ConfigUI.ShowSaveFileDialogImages) { string fp = task.WriteImageAs(); if (!string.IsNullOrEmpty(fp)) { task.UpdateLocalFilePath(fp); } } switch (task.Job1) { case EDataType.Text: if (task.Job2 == WorkerTask.JobLevel2.Translate) { UpdateGoogleTranslateGUI(task.TranslationInfo); Loader.MyGTGUI.btnTranslate.Enabled = true; Loader.MyGTGUI.btnTranslateTo.Enabled = true; } break; case EDataType.Image: if (!task.WorkflowConfig.DestConfig.TaskClipboardContent.Contains(ClipboardContentEnum.Local) && Engine.ConfigOptions.DeleteLocal && File.Exists(task.Info.LocalFilePath)) { try { File.Delete(task.Info.LocalFilePath); } catch (Exception ex) // TODO: sometimes file is still locked... delete those files sometime { DebugHelper.WriteException(ex, "Error while finalizing job"); } } break; } if (Engine.ConfigOptions.TwitterEnabled) { Adapter.TwitterMsg(task); } bool bLastSourceButtonsEnabled = task.UploadResults.Count > 0 && !string.IsNullOrEmpty(task.UploadResults[task.UploadResults.Count - 1].Source); this.btnOpenSourceText.Enabled = bLastSourceButtonsEnabled; this.btnOpenSourceBrowser.Enabled = bLastSourceButtonsEnabled; this.btnOpenSourceString.Enabled = bLastSourceButtonsEnabled; if (task.UploadResults.Count > 0 || File.Exists(task.Info.LocalFilePath) || task.Job2 == WorkerTask.JobLevel2.Translate) { if (Engine.ConfigOptions.CompleteSound) { if (Engine.ConfigWorkflow.EnableSoundTaskCompleted && !string.IsNullOrEmpty(Engine.ConfigWorkflow.SoundPath) && File.Exists(Engine.ConfigWorkflow.SoundPath)) { new SoundPlayer(Engine.ConfigWorkflow.SoundPath).Play(); } else { SystemSounds.Exclamation.Play(); } } if (Engine.ConfigOptions.ShowBalloonTip) { ShowBalloonTip(task); } } if (task.IsError) { foreach (string error in task.Errors) { DebugHelper.WriteLine(error); } niTray.ShowBalloonTip(5000, Application.ProductName, niTray.BalloonTipText + Environment.NewLine + task.Errors[task.Errors.Count - 1], ToolTipIcon.Error); } } if (!task.IsError) { AddHistoryItem(task); } // do this last UploadManager.ShowUploadResults(task, false); } catch (Exception ex) { DebugHelper.WriteException(ex, "Job Completed with errors: "); } finally { UploadManager.Commit(task.Id); if (TaskbarManager.IsPlatformSupported) { Adapter.TaskbarSetProgressState(this, TaskbarProgressBarState.NoProgress); } } DebugHelper.WriteLine(string.Format("Job completed: {0}", task.Job2)); DebugHelper.WriteLine(string.Format("Task duration: {0} ms", task.UploadDuration)); PostWorkerTasks(); }