Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Action.Net version
Tip

This wpf control was developed in order to present a bar chart with line.

Presentation

The BarAndSplineCustomChart control is a custom chart designed to display historical values for a given tag in column format and with row that touches the history values on the chart.

Image Removed

How to use

Minimum requirements

Este controle WPF foi desenvolvido com o intuito de apresentar um gráfico de barras com linha.

Apresentação

O controle BarAndSplineCustomChart é um gráfico customizado desenvolvido para apresentar valores de histórico de uma determinada tag no formato de colunas e com linha que toca os valores de histórico no gráfico.

Image Added

Como usar

Requisitos mínimos

  • Action.Net versão 9.2.28.1 or laterou posterior;

Configuration

Insert the file "SPIN

Configuração

  1. Inserir o arquivo “SPIN.ActionNet.View.Wpf.Charts.dll" in the WpfControls folder of the installation (typically under "Cdll” na pasta WpfControls da instalação (normalmente em “C:\Program Files (x86)\SPIN\Action.Net\an-x.x\WpfControls\") if it does not exist.

  2. Open the project of Action.Net where the control will be used;

  3. In the "Draw" tab, choose the page where the control will be used;

  4. In the toolsidebar, choose the item "Insert Component";

    Image Removed
  5. When you open the component selection screen, select the BarAndSplineCustomChart control;

    Image Removed
  6. Insert the control into the screen and scale it.

  7. Select the control and insert a Uid into it. This is what will be used in the code-behind to pass the data to the chart.

  8. Set up the code in the screen code-behind:

Initially, you must access the control from your Uid. To take a reference from the control to use it, use the following script
  1. ”) caso o mesmo não exista.

  2. Abrir o projeto do Action.Net onde o controle será utilizado;

  3. Na aba “Draw”, escolher a página onde o controle será utilizado;

  4. Na barra lateral de ferramentas, escolher o item “Insert Component”;

    Image Added
  5. Ao abrir a tela de seleção de componentes, selecionar o controle BarAndSplineCustomChart;

    Image Added
  6. Inserir o controle na tela e dimensioná-lo.

  7. Selecionar o controle e inserir um Uid para o mesmo. É este que será utilizado no code-behind para passar os dados ao gráfico.

  8. Configurar o código no code-behind da tela:

Inicialmente, é necessário acessar o controle a partir do seu Uid. Para pegar uma referência do controle para utilizá-lo, utilize o script a seguir:

Paste code macro
languagecs
SPIN.ActionNet.View.Wpf.Charts.BarAndSplineCustomChart barAndSplineCustomChart1 = 
		this.CurrentDisplay.GetControl("barAndSplineCustomChart1") as SPIN.ActionNet.View.Wpf.Charts.BarAndSplineCustomChart;
		
if(barAndSplineCustomChart1 != null){

//... code goes here

}

Then the data needs to be passed to the control. It has a function for passing data from a datatable to the control. Your subscription can be found belowEm seguida, os dados precisam ser passados para o controle. O mesmo dispõe de uma função para a passagem dos dados a partir de um datatable para o controle. Sua assinatura pode ser conferida abaixo:

Paste code macro
languagecs
public void ApplyHistorianData(string tagName, DataTable histValues){}

WhereOnde:

tagName: refers to the search tag. This parameter is used for the Header of the chartrefere-se ao tag de pesquisa. Este parâmetro é usado para o Header do gráfico.

histValues: refers to a table whose format consists of the first column with values compatible with the type DateTime and the second column with values compatible with the types float or Double.This function can be called as shown belowrefere-se a uma tabela cujo formato consiste na primeira coluna com valores compatíveis com o tipo DateTime e a segunda coluna com valores compatíveis com os tipos float ou double.

Esta função pode ser chamada de como mostrado abaixo:

Paste code macro
languagecs
string tagName = @"SE01\TR01\tag1.MED.MW";
DataTable result = GetHistorianMeasures(tagName);
if(result != null && result.Rows.Count > 0)
    barAndSplineCustomChart1.ChartControl.ApplyHistorianData(tagName, result);

Note

Attention: It is extremely important that the table follows the expected format with two columns, namely:

  • First column with values compatible with type DateTime; and

  • Second column with values compatible with types float or Double.

Tables that do not support this format can have unexpected consequences for the chart.

This sample-specific application used the Spin toolkit to search for measures for a given period (last 10 days). The full code for this application can be checked below

Atenção: É extremamente importante que a tabela siga o formato esperado com duas colunas, sendo:

  • Primeira coluna com valores compatíveis com o tipo DateTime; e

  • Segunda coluna com valores compatíveis com os tipos float ou double.

Tabelas não compatíveis com este formato podem trazer consequências inesperadas ao gráfico.

Esta aplicação específica do exemplo utilizou o Spin toolkit para pesquisa de medidas de um determinado período (últimos 10 dias). O código completo para esta aplicação pode ser verificado abaixo:

Paste code macro
languagecs
titleCodebehind de página
using SPIN.ActionNet.View.Wpf.Charts;
	  
public void DisplayOpening()
{
}

public void DisplayIsOpen()
{
}

public void DisplayClosing()
{
}
 
////This method is only called on Dialog displays
public bool DialogOnOK()
{
	return true;
}

public DataTable GetHistorianMeasures(string tagName){
	DataTable result = null;
	
	try{
		DateTime startDate = DateTime.Now.AddDays(-10);		
		result = @Script.Class.CustomMeasures.GetMeasures(tagName, startDate, DateTime.Now, 10);
	}
	catch(Exception ex){
		@Info.Trace(ex.Message);
	}
	
	return result;
}

public void ButGetSampleData_Click(object sender, System.Windows.Input.InputEventArgs e)
{
	SPIN.ActionNet.View.Wpf.Charts.BarAndSplineCustomChart barAndSplineCustomChart1 = 
		this.CurrentDisplay.GetControl("barAndSplineCustomChart1") as SPIN.ActionNet.View.Wpf.Charts.BarAndSplineCustomChart;
		
	if(barAndSplineCustomChart1 != null){
		string tagName = @"SE01\TR01\tag1.MED.MW";
		DataTable result = GetHistorianMeasures(tagName);
		if(result != null && result.Rows.Count > 0)
			barAndSplineCustomChart1.ChartControl.ApplyHistorianData(tagName, result);		
	}
	
}
Paste code macro
languagecs
titleScript de Script.Class.CustomMeasures
using SPIN.ActionNet.Biz.Toolkit.Reports;
using System.Threading.Tasks;

public DataTable GetMeasures(string tagName, DateTime startDate, DateTime endDate, int interval)
{
	List<string> tagNames = new List<string>();
	tagNames.Add(tagName);
	
	DataTable result = Measures.GetReport(tagNames,startDate, endDate, interval);
	
	return result;
}

Membros de BarAndSplineCustomChart

No controle foram expostas aos usuários algumas propriedades e métodos para uso do gráfico. Nas tabelas a seguir, é possível visualizar os nomes das propriedades e dos métodos e suas descrições:

Propriedades

Nome

Descrição

TagName

Nome da tag a qual o gráfico se refere. Este nome será mostrado no cabeçalho do gráfico

HistValues

Lista observável de objetos do tipo HistorianValues que contém informações de valor e Timestamp da tag

XAxisLabelFormat

Corresponde ao formato do texto desejado para o label do eixo X. Este é o eixo de data / hora.

O formato padrão para esta propriedade é “MMM-dd HH:mm”.

XAxisLabelRotationAngle

Corresponde ao ângulo de rotação desejado para o label do eixo X. Deve-se passar valores de -360 a 360.

YAxisLabelFormat

Corresponde ao formato do texto desejado para o label do eixo Y. Este é o Eixo de valores.

O formato padrão para esta propriedade é “N0”.

YAxisLabelRotationAngle

Corresponde ao ângulo de rotação desejado para o label do eixo Y. Deve-se passar valores de -360 a 360.

Métodos

Nome

Descrição

ApplyHistorianData(string, DataTable)

Método que transforma os parâmetros passados em linhas e colunas do gráfico e aplica estas informações ao gráfico.

Parâmetros

tagName: refere-se ao tag de pesquisa. Este parâmetro é usado para o Header do gráfico.

histValues: refere-se a uma tabela cujo formato consiste na primeira coluna com valores compatíveis com o tipo DateTime e a segunda coluna com valores compatíveis com os tipos float ou double

Scroll ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-htmltrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue

On this pageNesta página:

12false