Org.simantics.charts
There are two pluings to Simantics charts:
- org.simantics.charts
- org.simantics.trend
org.simantics.charts
Charts is the IU plugin that ties trends to the IDE environment of Eclipse and Simantics. The main class there is its EditorPart contribution TimeSeriesEditor. It contributes editorpart, preferences, DnD operations, context menu actions, tool bar buttons, ontology, etc to Simantics IDE.
org.simantics.trend
org.simantics.trend is a visualization library that draws items as time-series lines. It supports lines and binary items on the same chart. It is the only current chart implementation. os.trend is environment indipendent. It is installed to Editorpart by os.charts plugin, but it also can be run POJO or attached to, say, ViewPart, or Java Applet.
Trend is configured with TrendSpec class. It describes how and with what items the trend is drawn. The info can be changed in the run.
The data source for a trend is a HistoryManager, an interface from org.simantics.history. A trend is configured to visualize items from one history manager. History manager consists of groups and items. There is metadata with each item, such as, id, variableId (the item in datasource), format, deadband, interval, gain, bias, groupId, etc.
Format-field determines the sampling format on the disc. All numeric types are supported: integer, float, double, etc. time and value fields are mandatory. If endTime exists the sample is interpreted as "value band" instead of a single sample. If quality field exists, the trend can have empty regions. min and max fields provide value deviation when the trend is zoomed out.
In typical simantics case, a variable is recorded with different sampling intervals (see TrendSamplingFormats), example: all samples, 100ms, 1s, 10s, 60s. The trend detects all available history items for a recorded variable, and selects the most appropriate file to draw from.