Phase 10: Graphic Display Setup, Edit Module, Advanced Operating Graphics #10

Merged
cliu merged 4 commits from docs/phase-10-graphics into main 2026-10-01 14:53:40 +10:00
4 changed files with 677 additions and 164 deletions
Showing only changes of commit 148508af86 - Show all commits

View file

@ -99,6 +99,8 @@ New items start with status 13 (`NOT INIT`) until a value is written.
| `equipment/eqpciengslv_start.cmd`, `_stop.cmd` | Start/stop the Modbus slave mirror (copy to `tls\com`) | | `equipment/eqpciengslv_start.cmd`, `_stop.cmd` | Start/stop the Modbus slave mirror (copy to `tls\com`) |
| `76_`…`93_remove_*.qli` | Names to delete, in reverse order (alarm definitions last, `93`) | | `76_`…`93_remove_*.qli` | Names to delete, in reverse order (alarm definitions last, `93`) |
| `load.cmd`, `remove.cmd` | Run the steps in the right order | | `load.cmd`, `remove.cmd` | Run the steps in the right order |
| `displays/CIENG_Tank.xml` | Display (HTML mode): title, number field on `TANK1.LEVEL`, alarm overview, trend of `TANK1.LEVEL` |
| `displays/deploy_displays.cmd`, `remove_displays.cmd` | Copy the display into the operator interface and export its HTML version / delete both |
| `monitoring/*.sup.txt` | Setup-file lines for the monitoring processes (not applied by `load.cmd`) | | `monitoring/*.sup.txt` | Setup-file lines for the monitoring processes (not applied by `load.cmd`) |
## Modbus slave mirror (for station CIENG_PLC) ## Modbus slave mirror (for station CIENG_PLC)
@ -141,6 +143,13 @@ priority 1). To try it on a test system: `itmval -p -n CI-Eng-Sample.TANK1.LEVEL
(`NAME`, `ACK` 1), write the level back below 80. See skill `alarm-management`, task (`NAME`, `ACK` 1), write the level back below 80. See skill `alarm-management`, task
`item-alarming.md`. `item-alarming.md`.
## Display (optional)
After `load.cmd`, run `displays\deploy_displays.cmd` (no admin rights) and open
`http://localhost:8080/mobileoperator/?d=CIENG_Tank` (CI Server login), or open `CIENG_Tank` in
CI View / the Edit Module. `displays emove_displays.cmd` deletes it again. See skill
`graphics`.
## Monitoring processes (optional) ## Monitoring processes (optional)
`monitoring/` holds the lines to add to the setup files in `%TLS_ROOT_PATH%\tls\sup\` so that `monitoring/` holds the lines to add to the setup files in `%TLS_ROOT_PATH%\tls\sup\` so that
@ -152,7 +161,7 @@ testing. See the `system-management` skill, task `monitoring-processes.md`.
| Phase | Adds | | Phase | Adds |
|---|---| |---|---|
| 10 | A display and symbol | | 10 | A symbol (the display `CIENG_Tank` exists) |
| 11 | A report | | 11 | A report |
## Rules ## Rules

View file

@ -0,0 +1,487 @@
<?xml version="1.0" encoding="utf-8" ?>
<visualization protocolVersion="1.3.0.0">
<globalSection/>
<coreObjectDefinition type="displayDefinition">
<version type="version" value="1.3.0.0"/>
<html>true</html>
<width>1984</width>
<height>760</height>
<referenceCheck>4</referenceCheck>
<defaultBgColor type="colorSet" r="255" g="255" b="255"/>
<defaultFgColor type="colorSet" r="0" g="0" b="0"/>
<defaultFont type="font" name="Tahoma" size="11" underline="false" strikethrough="false"/>
<defaultStroke type="stroke" width="1.0"/>
<grid type="grid" gridVisible="true" snappingActive="true" verticalSnapInterval="8" horizontalSnapInterval="8" onTop="false">
<color type="colorSet" r="0" g="0" b="0"/>
</grid>
<revisionHistory type="revisionHistory">
<revision type="revision" who="ADMIN" when="2026.10.01 14:29:31.493 AEST" what="Created" where="PXiSEDev"/>
</revisionHistory>
<blinkDelay>500</blinkDelay>
<blinkEnabled>true</blinkEnabled>
<mousePassThrough>false</mousePassThrough>
<visibilityGroup type="componentData">
<htmlId>2</htmlId>
<name>Overview</name>
<description>Always shown</description>
<minimumZoomEnabled>true</minimumZoomEnabled>
<minimumZoomFactor>10.0</minimumZoomFactor>
</visibilityGroup>
<visibilityGroup type="componentData">
<htmlId>3</htmlId>
<name>Rough</name>
<description>Shown when viewing viewing a large area</description>
<minimumZoomEnabled>true</minimumZoomEnabled>
<minimumZoomFactor>25.0</minimumZoomFactor>
</visibilityGroup>
<visibilityGroup type="componentData">
<htmlId>4</htmlId>
<name>Standard</name>
<description>Shown when using the default view setting</description>
<minimumZoomEnabled>true</minimumZoomEnabled>
<minimumZoomFactor>100.0</minimumZoomFactor>
</visibilityGroup>
<visibilityGroup type="componentData">
<htmlId>5</htmlId>
<name>Detail</name>
<description>Shown only when viewing a small area</description>
<minimumZoomEnabled>true</minimumZoomEnabled>
<minimumZoomFactor>400.0</minimumZoomFactor>
</visibilityGroup>
<visibilityGroup type="componentData">
<htmlId>6</htmlId>
<name>Intricacies</name>
<description>Shown only when viewing a very small area</description>
<minimumZoomEnabled>true</minimumZoomEnabled>
<minimumZoomFactor>1000.0</minimumZoomFactor>
</visibilityGroup>
<visualizationLayer type="componentData">
<htmlId>1</htmlId>
<name>Layer1</name>
</visualizationLayer>
<componentCountHint>4</componentCountHint>
<text type="componentData">
<htmlId>7</htmlId>
<value>CI-Eng-Sample Tank 1</value>
<stroke type="stroke" width="1.0"/>
<keepOriginalSize>true</keepOriginalSize>
<x>124.734375</x>
<y>36.953125</y>
<top>5.3125</top>
<bottom>5.3125</bottom>
<left>52.375</left>
<right>52.375</right>
<rotation>0.0</rotation>
<shear>0.0</shear>
</text>
<numberField type="componentData" x="120.0" y="120.0" top="16.0" bottom="16.0" left="40.0" right="40.0" rotation="0.0" shear="0.0">
<htmlId>8</htmlId>
<data type="data">
<action type="actionConnectTo">
<property type="property" name="numberField.value"/>
<filter type="filter">
<value>0.0</value>
</filter>
<connection type="connection">
<itemName>CI-Eng-Sample.TANK1.LEVEL</itemName>
<itemId>1.1.268.0.0.1.1.7</itemId>
<itemAttribute>ItemValue</itemAttribute>
</connection>
</action>
</data>
</numberField>
<alarmOverview type="componentData" x="1020.0" y="296.0" top="72.0" bottom="72.0" left="964.0" right="964.0" rotation="0.0" shear="0.0">
<htmlId>9</htmlId>
<data type="data">
<action type="actionInternalServiced"/>
</data>
</alarmOverview>
<chart type="componentData">
<htmlId>10</htmlId>
<config type="graphicInfo">
<version type="version" value="1.3.0.0"/>
<backgroundBorder type="border" value="BorderEmpty"/>
<penPanelVisible>false</penPanelVisible>
<penPanelHeight>-1</penPanelHeight>
<toolbarVisible>true</toolbarVisible>
<toolbarPosition type="borderLayoutPosition" value="PositionNorth"/>
<shiftOffset>0</shiftOffset>
<shiftLength>0</shiftLength>
<protection type="protection" active="false" password="">
<userProtection type="userProtection" user=""/>
</protection>
<enterpriseGroupLocation type="nodeName" node="$display$"/>
<chartPanel>
<name/>
<author/>
<version type="version" value="1.3.0.0"/>
<description/>
<forAllUsers>false</forAllUsers>
<template>false</template>
<group>@NULL</group>
<XyMode>false</XyMode>
<x>0</x>
<y>0</y>
<width>800</width>
<heigth>400</heigth>
<iconized>false</iconized>
<backgroundBorder type="border" value="BorderEmpty"/>
<foregroundColor type="colorSet" r="0" g="0" b="0"/>
<backgroundPaint type="paint">
<paint type="colorSet" r="240" g="240" b="240"/>
</backgroundPaint>
<plotAreaBorder type="border" value="BorderEmpty"/>
<plotAreaTransparent>true</plotAreaTransparent>
<plotAreaIcon>@NULL</plotAreaIcon>
<plotAreaPaint type="paint">
<paint type="colorSet" r="255" g="255" b="255"/>
</plotAreaPaint>
<hairlineColor type="colorSet" r="0" g="0" b="0"/>
<hairlineVisible>false</hairlineVisible>
<antialiasingText>false</antialiasingText>
<antialiasingData>true</antialiasingData>
<renderMode type="chartRendering" value="Rendering2d"/>
<timeNavigatorVisible>true</timeNavigatorVisible>
<timeRangeControlVisible>true</timeRangeControlVisible>
<autoUpdateInterval>false</autoUpdateInterval>
<legendVisible>true</legendVisible>
<legendTitle/>
<legendHeading/>
<legendColor type="colorSet" r="0" g="0" b="0"/>
<legendBackgroundColor type="colorSet" r="240" g="240" b="240"/>
<legendFont type="font" name="Tahoma" size="11" underline="false" strikethrough="false"/>
<legendTransparancy>0.2705882352941177</legendTransparancy>
<legendBorderType type="border" value="BorderLine"/>
<legendPositionType type="position" value="PositionNorthEast"/>
<timeSliderVisible>true</timeSliderVisible>
<timeSliderAbove>false</timeSliderAbove>
<valueSliderVisible>true</valueSliderVisible>
<valueSliderLeft>false</valueSliderLeft>
<xAxisReversed>false</xAxisReversed>
<yAxisReversed>false</yAxisReversed>
<projectorReversed>false</projectorReversed>
<scalingFonts>false</scalingFonts>
<maximumPens>5</maximumPens>
<pensPerPack>0</pensPerPack>
<triggerPen>0</triggerPen>
<timeAxisVisible>true</timeAxisVisible>
<timeAxisMajorTickVisible>true</timeAxisMajorTickVisible>
<timeAxisMinorTickVisible>false</timeAxisMinorTickVisible>
<timeAxisColor type="colorSet" r="0" g="0" b="0"/>
<timeAxisFont type="font" name="Tahoma" size="11" underline="false" strikethrough="false"/>
<timeAxisLabelColor type="colorSet" r="0" g="0" b="0"/>
<timeAxisLabelVisible>true</timeAxisLabelVisible>
<timeAxisLongLabelVisible>true</timeAxisLongLabelVisible>
<timeAxisLabelRotation>0</timeAxisLabelRotation>
<timeAxisTitle/>
<timeAxisTitleRotation>0</timeAxisTitleRotation>
<timeAxisTitlePlacement>50</timeAxisTitlePlacement>
<timeAxisMajorGridVisible>true</timeAxisMajorGridVisible>
<timeAxisMajorGridColor type="colorSet" r="192" g="192" b="192"/>
<timeAxisMajorGridStroke type="stroke" width="1.0" endCap="butt" lineJoin="bevel"/>
<timeAxisMinorGridVisible>false</timeAxisMinorGridVisible>
<timeAxisMinorGridColor type="colorSet" r="192" g="192" b="192"/>
<timeAxisMinorGridStroke type="stroke" width="1.0" endCap="butt" lineJoin="bevel"/>
<headerText/>
<headerColor type="colorSet" r="0" g="0" b="0"/>
<headerFont type="font" name="Tahoma" size="11" underline="false" strikethrough="false"/>
<headerJustification type="jTextJustification" value="TextJustificationLeft"/>
<footerText/>
<footerColor type="colorSet" r="0" g="0" b="0"/>
<footerFont type="font" name="Tahoma" size="11" underline="false" strikethrough="false"/>
<footerJustification type="jTextJustification" value="TextJustificationLeft"/>
<enterprisePrimarySourceLocation type="nodeName" node="$default$"/>
<enterpriseSecondarySourceLocation type="nodeName" node="$default$"/>
<enterprisePrimaryHistoryLocation type="nodeName" node="$default$"/>
<enterpriseSecondaryHistoryLocation type="nodeName" node="$default$"/>
<updateFromHistory>true</updateFromHistory>
<useSampleInterval>true</useSampleInterval>
<sampleInterval>0</sampleInterval>
<optimised>true</optimised>
<chartProtection type="protection" active="false" password="">
<userProtection type="userProtection" user=""/>
</chartProtection>
<pen type="pen">
<type>256</type>
<color type="colorSet" r="65" g="105" b="225"/>
<stroke type="stroke" width="1.5"/>
<paint>@NULL</paint>
<visible>true</visible>
<visibleLegend>true</visibleLegend>
<source type="sourceID" uri="ci:/item/CI-Eng-Sample.TANK1.LEVEL?historygroup=CIENG_SCAN10S"/>
<axisVisible>false</axisVisible>
<axisPosition>0</axisPosition>
<labelVisible>true</labelVisible>
<majorTickVisible>true</majorTickVisible>
<minorTickVisible>true</minorTickVisible>
<axisColor>@NULL</axisColor>
<labelColor>@NULL</labelColor>
<scaleRangeType>0</scaleRangeType>
<minimum>NaN</minimum>
<maximum>NaN</maximum>
<procentual>false</procentual>
<title/>
<description>Tank 1 level (%)</description>
<legendText/>
<titlePlacement>0</titlePlacement>
<titleRotation>0</titleRotation>
<labelRotation>0</labelRotation>
<majorGridVisible>false</majorGridVisible>
<minorGridVisible>false</minorGridVisible>
<lowHighLimitGridVisible>false</lowHighLimitGridVisible>
<lowHighLimitGridAreaVisible>false</lowHighLimitGridAreaVisible>
<lowLowHighHighLimitGridVisible>false</lowLowHighHighLimitGridVisible>
<majorGridColor>@NULL</majorGridColor>
<minorGridColor>@NULL</minorGridColor>
<lowHighLimitGridColor>@NULL</lowHighLimitGridColor>
<lowHighLimitGridAreaColor>@NULL</lowHighLimitGridAreaColor>
<lowLowHighHighLimiGridColor>@NULL</lowLowHighHighLimiGridColor>
<majorGridStroke type="stroke" width="0.1"/>
<minorGridStroke type="stroke" width="0.1"/>
<lowHighLimitGridStroke type="stroke" width="0.1"/>
<lowLowHighHighLimiGridStroke type="stroke" width="0.1"/>
<lowLimit>20.0</lowLimit>
<highLimit>80.0</highLimit>
<lowLowLimit>10.0</lowLowLimit>
<highHighLimit>90.0</highHighLimit>
<annotationVisible>false</annotationVisible>
<timeShift>0</timeShift>
</pen>
<pen type="pen">
<type>256</type>
<color type="colorSet" r="241" g="76" b="20"/>
<stroke type="stroke" width="1.5"/>
<paint>@NULL</paint>
<visible>true</visible>
<visibleLegend>true</visibleLegend>
<source type="sourceID" uri=""/>
<axisVisible>false</axisVisible>
<axisPosition>0</axisPosition>
<labelVisible>true</labelVisible>
<majorTickVisible>true</majorTickVisible>
<minorTickVisible>true</minorTickVisible>
<axisColor>@NULL</axisColor>
<labelColor>@NULL</labelColor>
<scaleRangeType>0</scaleRangeType>
<minimum>NaN</minimum>
<maximum>NaN</maximum>
<procentual>false</procentual>
<title/>
<description/>
<legendText/>
<titlePlacement>0</titlePlacement>
<titleRotation>0</titleRotation>
<labelRotation>0</labelRotation>
<majorGridVisible>false</majorGridVisible>
<minorGridVisible>false</minorGridVisible>
<lowHighLimitGridVisible>false</lowHighLimitGridVisible>
<lowHighLimitGridAreaVisible>false</lowHighLimitGridAreaVisible>
<lowLowHighHighLimitGridVisible>false</lowLowHighHighLimitGridVisible>
<majorGridColor>@NULL</majorGridColor>
<minorGridColor>@NULL</minorGridColor>
<lowHighLimitGridColor>@NULL</lowHighLimitGridColor>
<lowHighLimitGridAreaColor>@NULL</lowHighLimitGridAreaColor>
<lowLowHighHighLimiGridColor>@NULL</lowLowHighHighLimiGridColor>
<majorGridStroke type="stroke" width="0.1"/>
<minorGridStroke type="stroke" width="0.1"/>
<lowHighLimitGridStroke type="stroke" width="0.1"/>
<lowLowHighHighLimiGridStroke type="stroke" width="0.1"/>
<lowLimit>NaN</lowLimit>
<highLimit>NaN</highLimit>
<lowLowLimit>NaN</lowLowLimit>
<highHighLimit>NaN</highHighLimit>
<annotationVisible>false</annotationVisible>
<timeShift>0</timeShift>
</pen>
<pen type="pen">
<type>256</type>
<color type="colorSet" r="127" g="255" b="0"/>
<stroke type="stroke" width="1.5"/>
<paint>@NULL</paint>
<visible>true</visible>
<visibleLegend>true</visibleLegend>
<source type="sourceID" uri=""/>
<axisVisible>false</axisVisible>
<axisPosition>0</axisPosition>
<labelVisible>true</labelVisible>
<majorTickVisible>true</majorTickVisible>
<minorTickVisible>true</minorTickVisible>
<axisColor>@NULL</axisColor>
<labelColor>@NULL</labelColor>
<scaleRangeType>0</scaleRangeType>
<minimum>NaN</minimum>
<maximum>NaN</maximum>
<procentual>false</procentual>
<title/>
<description/>
<legendText/>
<titlePlacement>0</titlePlacement>
<titleRotation>0</titleRotation>
<labelRotation>0</labelRotation>
<majorGridVisible>false</majorGridVisible>
<minorGridVisible>false</minorGridVisible>
<lowHighLimitGridVisible>false</lowHighLimitGridVisible>
<lowHighLimitGridAreaVisible>false</lowHighLimitGridAreaVisible>
<lowLowHighHighLimitGridVisible>false</lowLowHighHighLimitGridVisible>
<majorGridColor>@NULL</majorGridColor>
<minorGridColor>@NULL</minorGridColor>
<lowHighLimitGridColor>@NULL</lowHighLimitGridColor>
<lowHighLimitGridAreaColor>@NULL</lowHighLimitGridAreaColor>
<lowLowHighHighLimiGridColor>@NULL</lowLowHighHighLimiGridColor>
<majorGridStroke type="stroke" width="0.1"/>
<minorGridStroke type="stroke" width="0.1"/>
<lowHighLimitGridStroke type="stroke" width="0.1"/>
<lowLowHighHighLimiGridStroke type="stroke" width="0.1"/>
<lowLimit>NaN</lowLimit>
<highLimit>NaN</highLimit>
<lowLowLimit>NaN</lowLowLimit>
<highHighLimit>NaN</highHighLimit>
<annotationVisible>false</annotationVisible>
<timeShift>0</timeShift>
</pen>
<pen type="pen">
<type>256</type>
<color type="colorSet" r="0" g="0" b="139"/>
<stroke type="stroke" width="1.5"/>
<paint>@NULL</paint>
<visible>true</visible>
<visibleLegend>true</visibleLegend>
<source type="sourceID" uri=""/>
<axisVisible>false</axisVisible>
<axisPosition>0</axisPosition>
<labelVisible>true</labelVisible>
<majorTickVisible>true</majorTickVisible>
<minorTickVisible>true</minorTickVisible>
<axisColor>@NULL</axisColor>
<labelColor>@NULL</labelColor>
<scaleRangeType>0</scaleRangeType>
<minimum>NaN</minimum>
<maximum>NaN</maximum>
<procentual>false</procentual>
<title/>
<description/>
<legendText/>
<titlePlacement>0</titlePlacement>
<titleRotation>0</titleRotation>
<labelRotation>0</labelRotation>
<majorGridVisible>false</majorGridVisible>
<minorGridVisible>false</minorGridVisible>
<lowHighLimitGridVisible>false</lowHighLimitGridVisible>
<lowHighLimitGridAreaVisible>false</lowHighLimitGridAreaVisible>
<lowLowHighHighLimitGridVisible>false</lowLowHighHighLimitGridVisible>
<majorGridColor>@NULL</majorGridColor>
<minorGridColor>@NULL</minorGridColor>
<lowHighLimitGridColor>@NULL</lowHighLimitGridColor>
<lowHighLimitGridAreaColor>@NULL</lowHighLimitGridAreaColor>
<lowLowHighHighLimiGridColor>@NULL</lowLowHighHighLimiGridColor>
<majorGridStroke type="stroke" width="0.1"/>
<minorGridStroke type="stroke" width="0.1"/>
<lowHighLimitGridStroke type="stroke" width="0.1"/>
<lowLowHighHighLimiGridStroke type="stroke" width="0.1"/>
<lowLimit>NaN</lowLimit>
<highLimit>NaN</highLimit>
<lowLowLimit>NaN</lowLowLimit>
<highHighLimit>NaN</highHighLimit>
<annotationVisible>false</annotationVisible>
<timeShift>0</timeShift>
</pen>
<pen type="pen">
<type>256</type>
<color type="colorSet" r="199" g="9" b="16"/>
<stroke type="stroke" width="1.5"/>
<paint>@NULL</paint>
<visible>true</visible>
<visibleLegend>true</visibleLegend>
<source type="sourceID" uri=""/>
<axisVisible>false</axisVisible>
<axisPosition>0</axisPosition>
<labelVisible>true</labelVisible>
<majorTickVisible>true</majorTickVisible>
<minorTickVisible>true</minorTickVisible>
<axisColor>@NULL</axisColor>
<labelColor>@NULL</labelColor>
<scaleRangeType>0</scaleRangeType>
<minimum>NaN</minimum>
<maximum>NaN</maximum>
<procentual>false</procentual>
<title/>
<description/>
<legendText/>
<titlePlacement>0</titlePlacement>
<titleRotation>0</titleRotation>
<labelRotation>0</labelRotation>
<majorGridVisible>false</majorGridVisible>
<minorGridVisible>false</minorGridVisible>
<lowHighLimitGridVisible>false</lowHighLimitGridVisible>
<lowHighLimitGridAreaVisible>false</lowHighLimitGridAreaVisible>
<lowLowHighHighLimitGridVisible>false</lowLowHighHighLimitGridVisible>
<majorGridColor>@NULL</majorGridColor>
<minorGridColor>@NULL</minorGridColor>
<lowHighLimitGridColor>@NULL</lowHighLimitGridColor>
<lowHighLimitGridAreaColor>@NULL</lowHighLimitGridAreaColor>
<lowLowHighHighLimiGridColor>@NULL</lowLowHighHighLimiGridColor>
<majorGridStroke type="stroke" width="0.1"/>
<minorGridStroke type="stroke" width="0.1"/>
<lowHighLimitGridStroke type="stroke" width="0.1"/>
<lowLowHighHighLimiGridStroke type="stroke" width="0.1"/>
<lowLimit>NaN</lowLimit>
<highLimit>NaN</highLimit>
<lowLowLimit>NaN</lowLowLimit>
<highHighLimit>NaN</highHighLimit>
<annotationVisible>false</annotationVisible>
<timeShift>0</timeShift>
</pen>
<penPanelLayout type="xyPenPanelLayout">
<Height>417</Height>
<AutoSize>true</AutoSize>
<SplitLocation>-1</SplitLocation>
<column index="0" visible="true" width="20"/>
<column index="1" visible="true" width="20"/>
<column index="2" visible="true" width="150"/>
<column index="3" visible="true" width="120"/>
<column index="4" visible="true" width="60"/>
<column index="5" visible="false" width="120"/>
<column index="6" visible="false" width="120"/>
<column index="7" visible="false" width="60"/>
<column index="8" visible="true" width="60"/>
<column index="9" visible="true" width="60"/>
<column index="10" visible="false" width="20"/>
<column index="11" visible="true" width="90"/>
<column index="12" visible="false" width="130"/>
<column index="13" visible="true" width="200"/>
<column index="14" visible="false" width="240"/>
<column index="15" visible="false" width="280"/>
</penPanelLayout>
<timeRange type="timeRangeLast" count="1">
<type type="timeUnit" value="TimeUnitHour"/>
</timeRange>
<updateInterval>30</updateInterval>
<fillHistory>true</fillHistory>
<updating>false</updating>
</chartPanel>
</config>
<x>472.0</x>
<y>588.0</y>
<top>172.0</top>
<bottom>172.0</bottom>
<left>344.0</left>
<right>344.0</right>
<rotation>0.0</rotation>
<shear>0.0</shear>
<data type="data">
<action type="actionInternalServiced"/>
<action type="actionConnectTo">
<property type="property" name="chart.attribute[00]"/>
<filter type="filter">
<value>0.0</value>
</filter>
<connection type="connection">
<itemName>CI-Eng-Sample.TANK1.LEVEL</itemName>
<itemId>1.1.268.0.0.1.1.7</itemId>
<itemAttribute>ItemValue</itemAttribute>
</connection>
</action>
</data>
</chart>
</coreObjectDefinition>
</visualization>

View file

@ -0,0 +1,10 @@
@echo off
rem Deploy the CI-Eng-Sample displays into the operator interface (deployment DEPLOY).
rem CI Server R1.03.00. Load the sample (load.cmd) first; no admin rights needed.
rem Copies the display XML, then creates the HTML (Mobile Operator) version with jwuiutl;
rem without -o the HTML goes to %TLS_WAP_PATH%\mobileoperator\operatorInterfaces\DEPLOY.
cd /d "%~dp0"
set WAP=%TLS_WAP_PATH%
if not defined TLS_WAP_PATH set WAP=C:\Users\Public\Yokogawa\tls\wap
copy /y CIENG_Tank.xml "%WAP%\cfg\operatorInterfaces\DEPLOY\displays\"
call jwuiutl.cmd -e HTML -i -f DEPLOY CIENG_Tank

View file

@ -0,0 +1,7 @@
@echo off
rem Remove the CI-Eng-Sample displays (operator interface and HTML version). CI Server R1.03.00.
rem Close CIENG_Tank in the Edit Module first.
set WAP=%TLS_WAP_PATH%
if not defined TLS_WAP_PATH set WAP=C:\Users\Public\Yokogawa\tls\wap
del /q "%WAP%\cfg\operatorInterfaces\DEPLOY\displays\CIENG_Tank.xml"
del /q "%WAP%\mobileoperator\operatorInterfaces\DEPLOY\displays\CIENG_Tank.html"