The DrvFidelix driver is used to communicate with Fidelix type control systems.
This document is used in conjunction with Chapter "IO-Devices" in the Web Port manual.
To use DrvFidelix, an IO device is first created and then used to communicate with the desired DUC. Tags are then configured to read/write the desired values from Fidelix to the Web Port.
NOTE!
WebVision password needs to be removed from the Fidelix web interface before Web Port can connect!
Installation
The installation of DrvFidelix is done by selecting DrvFidelix when installing the Web Port. See "Installation" for more information on the installation process.
IO-Device
To use DrvFidelix, an IO device is created according to chapter "IO-devices" of the manual.
In addition to general settings (see "general settings" in IO-devices), the following settings are available for an IO device of type DrvFidelix:
| Setting: | Description: |
| IP-address or Hostname | The IP or DNS address of the Fidelix-DUC |
| IP Port |
The port number of the Fidelix-DUC, 1..65535 Standard is 1235. Valid range 1..65535 |
| Request timeout |
Timeout for request to DUC. The time is reset every time something comes in from the DUC, i.e. parts of a complete response, so even with slow connections the default time should be sufficient. Default is 5000 ms. Valid range 1..60000 |
| Update interval |
The update interval. The driver queries the DUC for changing signal values with this interval. It should not be longer than 1500 ms because the DUC will close the connection if the driver does not communicate with it within a certain time. Default is 5000 ms. Valid range 1..60000 |
| Reconnection time |
The time within which the driver attempts to reconnect a DUC when the contact has been broken. If the connection is broken, the driver will immediately try to reconnect to the DUC. The driver will try for the entire reconnection time before reporting that the DUC is offline. When the DUC goes offline, the next attempt will be made after about one minute. The default is 30000 ms. Valid range 1..300000 |
| Protect incompatible timechannels |
If this option is enabled, Web Port will ignore time schedules that are not fully compatible with its expected format. This prevents accidental changes or data loss in unsupported schedules. Some time schedules may only contain a start time without a corresponding stop time. Web Port requires both a start and a stop time for each active period. Because of this, such schedules are considered incompatible. When compatibility protection is enabled:
When compatibility protection is disabled:
Default is checked. |
Tags
To read and write values from a Fidelix, tags must be created in the Web Port and addressed to the desired Fidelix tags. For more information on how to create tag lists and tags, see chapter "Tags" of the manual.
The tags can be imported from the DUC if you have contact with it. There is a script that filters and creates for example Schedule data types of the time channels.
Tip!
Create a tag list for each IO device. This is to get a good structure and to easily find tags in the lists.
Feel free to import via the script. Otherwise, a Fidelix will have many tags due to its many parameters and side values.
Tags associated with a Fidelix type IO device can have the following data types: INT, STRING, ULONG, REAL or SCHEDULE
Information
The address field contains the point identifier as found in the Fidelix with a prefix indicating the point type. The suffix indicates the parameter referred to, for example:
AI.LB03_GT41.Value
The point types that can be used are:
IN - Indicators
DO - Controls
AI - Measurements
AO - Controller signals
CT - Conversion tables
TT - Time Channels
AL - Alarm
ST - StatusText
CO - Regulator
The CALENDAR item type does not currently exist.
The following values and side values can be addressed:
| Value: | Type: |
| IN.pointname.value | INT |
| IN.pointname.ValueAuto | INT |
| IN.pointname.LockState | INT |
| IN.pointname.Text | STRING |
| IN.pointname.Page | STRING |
| IN.pointname.StatusText | STRING |
| DO.pointname.value | INT |
| DO.pointname.ValueAuto | INT |
| DO.pointname.LockState | INT |
| DO.pointname.text | STRING |
| DO.pointname.Page | STRING |
| DO.pointname.StatusText | STRING |
| AI.pointname.value | REAL |
| AI.pointname.ValueAuto | REAL |
| AI.pointname.LockState | INT |
| AI.pointname.Text | STRING |
| AI.pointname.Page | STRING |
| AI.pointname.Unit | STRING |
| AI.pointname.Limit0.Value | STRING |
| AI.pointname.Limit0.Manual | STRING |
| AI.pointname.Limit0.Text | STRING |
| AI.pointname.Limit1.Value | STRING |
| AI.pointname.Limit1.Manual | STRING |
| AI.pointname.Limit1.Text | STRING |
| AI.pointname.Limit2.Value | STRING |
| AI.pointname.Limit2.Manual | STRING |
| AI.pointname.Limit2.Text | STRING |
| AI.pointname.Limit3.Value | STRING |
| AI.pointname.Limit3.Manual | STRING |
| AI.pointname.Limit3.Text | STRING |
| AI.pointname.Limit4.Value | STRING |
| AI.pointname.Limit4.Manual | STRING |
| AI.pointname.Limit4.Text | STRING |
| AI.pointname.Limit5.Value | STRING |
| AI.pointname.Limit5.Manual | STRING |
| AI.pointname.Limit5.Text | STRING |
| AI.pointname.Limit6.Value | STRING |
| AI.pointname.Limit6.Manual | STRING |
| AI.pointname.Limit6.Text | STRING |
| AI.pointname.Limit7.Value | STRING |
| AI.pointname.Limit7.Manual | STRING |
| AI.pointname.Limit7.Text | STRING |
| AO.pointname.value | REAL |
| AO.pointname.ValueAuto | REAL |
| AO.pointname.LockState | INT |
| AO.pointname.text | STRING |
| AO.pointname.Page | STRING |
| AO.pointname.Unit | STRING |
| CT.pointname.Offset | REAL |
| CT.pointname.Text | STRING |
| CT.pointname.lookup1din | REAL |
| CT.pointname.lookup1dout | REAL |
| CT.pointname.lookup2din | REAL |
| CT.pointname.lookup2dout | REAL |
| CT.pointname.lookup3din | REAL |
| CT.pointname.lookup3dout | REAL |
| CT.pointname.lookup4din | REAL |
| CT.pointname.lookup4dout | REAL |
| CT.pointname.lookup5din | REAL |
| CT.pointname.lookup5dout | REAL |
| CT.pointname.lookup6din | REAL |
| CT.pointname.lookup6dout | REAL |
| CT.pointname.lookup7din | REAL |
| CT.pointname.lookup7dout | REAL |
| CT.pointname.lookup8din | REAL |
| CT.pointname.lookup8dout | REAL |
| CT.pointname.lookup9din | REAL |
| CT.pointname.lookup9dout | REAL |
| CT.pointname.lookup10din | REAL |
| CT.pointname.Lookup10dout | REAL |
| CT.pointname.lookup11din | REAL |
| CT.pointname.Lookup11dout | REAL |
| CT.pointname.lookup12din | REAL |
| CT.pointname.Lookup12dout | REAL |
| CT.pointname.lookup13din | REAL |
| CT.pointname.Lookup13dout | REAL |
| CT.pointname.lookup14din | REAL |
| CT.pointname.Lookup14dout | REAL |
| CT.pointname.lookup15din | REAL |
| CT.pointname.lookup15dout | REAL |
| TT.pointname | SCHEDULE |
| TT.pointname.value | INT |
| TT.pointname.LockState | INT |
| TT.pointname.text | STRING |
| TT.pointname.Mon | STRING |
| TT.pointname.Tue | STRING |
| TT.pointname.Wed | STRING |
| TT.pointname.Thu | STRING |
| TT.pointname.Fri | STRING |
| TT.pointname.Sat | STRING |
| TT.pointname.Sun | STRING |
| TT.pointname.E1 | STRING |
| TT.pointname.E2 | STRING |
| TT.pointname.E3 | STRING |
| TT.pointname.HD | STRING |
| TT.pointname.HA | STRING |
| TT.pointname | SCHEDULE |
| AL.pointname.Value | INT |
| AL.pointname.ValueAuto | INT |
| AL.pointname.LockState | INT |
| AL.pointname.Acknowledged | INT |
| AL.pointname.Priority | INT |
| AL.pointname.status | STRING |
| AL.pointname.StatusText | STRING |
| AL.pointname.AlarmGroup | STRING |
| AL.pointname.AlarmNumber | ULONG |
| AL.pointname.AlarmStatus | INT |
| AL.pointname.Text | STRING |
| ST.pointname.Value0 | LONG |
| ST.pointname.Text0 | STRING |
| ST.pointname.Value1 | LONG |
| ST.pointname.Text1 | STRING |
| ST.pointname.Value2 | LONG |
| ST.pointname.Text2 | STRING |
| ST.pointname.Value3 | LONG |
| ST.pointname.Text3 | STRING |
| ST.pointname.Value4 | LONG |
| ST.pointname.Text4 | STRING |
| ST.pointname.Value5 | LONG |
| ST.pointname.Text5 | STRING |
| ST.pointname.Value6 | LONG |
| ST.pointname.Text6 | STRING |
| ST.pointname.Value7 | LONG |
| ST.pointname.Text7 | STRING |
| ST.pointname.Value8 | LONG |
| ST.pointname.Text8 | STRING |
| ST.pointname.Value9 | LONG |
| ST.pointname.text9 | STRING |
| ST.pointname.Value10 | LONG |
| ST.pointname.Text10 | STRING |
| ST.pointname.Value11 | LONG |
| ST.pointname.Text11 | STRING |
| ST.pointname.Value12 | LONG |
| ST.pointname.Text12 | STRING |
| ST.pointname.Value13 | LONG |
| ST.pointname.Text13 | STRING |
| ST.pointname.Value14 | LONG |
| ST.pointname.Text14 | STRING |
| ST.pointname.Value15 | LONG |
| ST.pointname.text15 | STRING |
| ST.pointname.Value16 | LONG |
| ST.pointname.Text16 | STRING |
| ST.pointname.value17 | LONG |
| ST.pointname.Text17 | STRING |
| ST.pointname.Value18 | LONG |
| ST.pointname.Text18 | STRING |
| ST.pointname.Value19 | LONG |
| ST.pointname.Text19 | STRING |
| ST.pointname.Value20 | LONG |
| ST.pointname.Text20 | STRING |
| CO.pointname.Text | STRING |
| CO.pointname.Page | STRING |
| CO.pointname.DaySetLockState | INT |
| CO.pointname.RunState | INT |
| CO.pointname.RunLockState | INT |
| CO.pointname.NightSetValue | REAL |
| CO.pointname.NightPBand | REAL |
| CO.pointname.ReturnLimitStart | REAL |
| CO.pointname.ReturnLimitPBand | REAL |
| CO.pointname.StatusText | STRING |
| CO.pointname.DaySetValue | REAL |
| CO.pointname.StagesUsed | INT |
| CO.pointname.Stage1Name | STRING |
| CO.pointname.Stage1Value | REAL |
| CO.pointname.Stage2Name | STRING |
| CO.pointname.Stage2Value | REAL |
| CO.pointname.Stage3Name | STRING |
| CO.pointname.Stage3Value | REAL |
| CO.pointname.Stage4Name | STRING |
| CO.pointname.Stage4Value | REAL |
| CO.pointname.Stage5Name | STRING |
| CO.pointname.Stage5Value | REAL |
| CO.pointname.Stage6Name | STRING |
| CO.pointname.Stage6Value | REAL |
| CO.pointname.Stage1PBand | REAL |
| CO.pointname.Stage1LimitStart | REAL |
| CO.pointname.Stage1LimitPBand | REAL |
| CO.pointname.Stage1OutMin | REAL |
| CO.pointname.Stage1OutMax | REAL |
| CO.pointname.Stage1OffValue | REAL |
| CO.pointname.Stage2PBand | REAL |
| CO.pointname.Stage2LimitStart | REAL |
| CO.pointname.Stage2LimitPBand | REAL |
| CO.pointname.Stage2OutMin | REAL |
| CO.pointname.Stage2OutMax | REAL |
| CO.pointname.Stage2OffValue | REAL |
| CO.pointname.Stage3PBand | REAL |
| CO.pointname.Stage3LimitStart | REAL |
| CO.pointname.Stage3LimitPBand | REAL |
| CO.pointname.Stage3OutMin | REAL |
| CO.pointname.Stage3OutMax | REAL |
| CO.pointname.Stage3OffValue | REAL |
| CO.pointname.Stage4PBand | REAL |
| CO.pointname.Stage4LimitStart | REAL |
| CO.pointname.Stage4LimitPBand | REAL |
| CO.pointname.Stage4OutMin | REAL |
| CO.pointname.Stage4OutMax | REAL |
| CO.pointname.Stage4OffValue | REAL |
| CO.pointname.Stage5PBand | REAL |
| CO.pointname.Stage5LimitStart | REAL |
| CO.pointname.Stage5LimitPBand | REAL |
| CO.pointname.Stage5OutMin | REAL |
| CO.pointname.Stage5OutMax | REAL |
| CO.pointname.Stage5OffValue | REAL |
| CO.pointname.Stage6PBand | REAL |
| CO.pointname.Stage6LimitStart | REAL |
| CO.pointname.Stage6LimitPBand | REAL |
| CO.pointname.Stage6OutMin | REAL |
| CO.pointname.Stage6OutMax | REAL |
| CO.pointname.Stage6OffValue | REAL |
| CO.pointname.PBand | REAL |
| CO.pointname.ITime | REAL |
| CO.pointname.DeadZone | REAL |
| CO.pointname.SampleTime | INT |
| CO.pointname.SlowSpeedFactor | REAL |