Select Page

Custom sensors with Sensoft Multiline: First steps

 

What are custom sensors?

Sensoft Multiline manages our lump sensors, generating alarms, storing and displaying their data. If you have additional sensors from other vendors on the line, e.g. diameter sensors or a spark tester, you can send their data via OPC UA to Sensoft Multiline and generate alarms, store their data in the same spool file and display it all together. We call every non-Sensoptic sensor attached to Sensoft Multiline a Custom sensor.

Configuration

  • Enable OPC UA
    In Sensoft, go to Settings|Configure… and select OPC UA in the Start/Stop, velocity field (Figure 1)

    Enabling OPC UA

    Figure 1: Enabling OPC UA

    Hardware configuration OPC UA with Custom sensors

    Figure 2: OPC UA settings

  • OPC UA settings
    This makes the OPC UA tab page appears (Figure 2), which contains the OPC UA settings. In the field Max custom sensors per line specify how many custom sensors you will attach to the wire that has most of them. On the left side there is a list of all available OPC UA variables (their meaning is described in the Specifications page). We will use those contained in the node Custom sensors. Control that there is a check-mark near to these custom sensor variables, because only those with check-mark will be accessible. Note: The reason you can limit the number of custom sensors and disable OPC UA variables is that it allows to enhance performance in case you have many lines (e.g. 32 or more).
    Press OK to leave the dialog page. You may want to save the settings and return to the Main page
  • Custom sensor settings
    The custom sensors are configured via an OPC UA client. See OPC UA with Sensoft Multiline: First steps for a gentle introduction on using an OPC UA client with Sensoft Multiline. The custom sensors are configured by setting OPC UA variables in the node To Sensoft.<Line>.Custom sensors.<Index>.Settings .
    In the following let's assume an example system with 4 wires (lines) and Line names as in Figure 1 (i.e. each measure by a PSM sensor) and we want to attach a diameter sensor to the first line as a custom sensor.
    The only required setting is:
    • Name: The name given to the custom sensor.
      In our example <Line> is "PSM_6_161" and <Index> is "0" (the first custom sensor of line PSM_6_161). We set the name to "Diam" by the OPC UA command (in pseudo language):
      Device.To Sensoft.PSM_6_161.Custom sensors.0.Settings.Name = "Diam"

    See the Specifications for a detailed explanation of all variables. Highly recommended settings are:

    • Unit: The unit of the value of the custom sensor.
      In our example, assuming we will pass the values of the diameter in micrometers:
      Device.To Sensoft.PSM_6_161.Custom sensors.0.Settings.Unit = "µm"
      This allows in Sensoft Multiline to write a criterion like e.g.  Alarm if Diam > 5010 µm . This records all faults where the diameter is over 5010 µm and emits an alarm at the first fault. Note: in the criteria one can also type um instead of µm.
    • Hysteresis: At the end of a fault the signal may cross the threshold multiple times due to noise. Therefore, in Sensoft to end a fault, the signal must to go below the value threshold minus Hysteresis, where Hysteresis should be larger than the noise. The noise can be determined from the fault profile in the Faults graph. Hysteresis should as small as possible, since it affects fault detection. Hysteresis is given in the unit specified in Settings.Unit . With the noise in Figure 3 we could set:
      Device.To Sensoft.PSM_6_161.Custom sensors.0.Settings.Hysteresis = 10.

      Enabling OPC UA

      Figure 3: Effect of too small Hysteresis.

      Figure 4: Three diameter faults each ca. 1 m long, with different values of Fault display.

    Other settings:

    • Mean data: How Mean data is calculated, i.e. whether the points in the mean data interval are reduced to a point by averaging, by taking the maximum value, or else.
      Which algorithm is desirable depends on the signal. For a diameter signal we probably want the average, for a lump signal the maximum, for a neck-down the minimum. The Mean data variable can take the following values:
      0: No Mean data is saved, 1: Arithmetic average (the default), 11: Max, 21: Min, 31: Standard deviation.
    • Fault display: How the fault profile is displayed in Faults graph, see Figure 4. Default is profile.
    • Max fault length [m]: A fault normally ends when the signal returns below threshold. If the signal does not return below threshold it will end after Max fault length [m]. If its stays above threshold indefinitely, every Max fault length [m] a fault is returned. Default: 100 m.
    • Nominal value: A nominal value, i.e. the desired value, of the custom sensor signal, in units of Unit. The nominal value allows to write criteria relative to it, such as "Alarm if Diam - nom. > 2 μm" or "Alarm if Diam - nom. > 2%". The latter gives an alarm if Values - Nominal value > 2% of Nominal Value. This variable is only used if you use the string "- nom" in Criteria. Faults of relative criteria are plotted on page Faults relative to Nominal Value. This means e.g. that diameter faults caught with "Alarm if Diam - nom. > 10 μm" are visible together with lump faults, but those caught with "Alarm if Diam > 1510 μm" are not. Nominal value is accessed at measurement start and successive changes are ignored. Default: Infinity (i.e. relative criteria are ignored).

Write some criteria

In the previous chapter we have created a custom sensor named "Diam" with unit "μm". We can thus write criteria like

Alarm if Diam > 5010 um
Alarm if 10 times 4990 > Diam > 4970 um in 1000 m

Of course we could also have written μm instead of um in the criteria, but this is usually more complicated to type. For a detailed explanation of criteria see syntax of criteria.

Send data

To send data to our custom sensor, write it to its OPC UA variable Values:

Device.To Sensoft.PSM_6_161.Custom sensors.0.Values = [5001.2, 5000.3, 4999.6, 5000.9]

Values is an array of data type double, and the units are those defined for the custom sensor, in our case μm. The measurement time of the values is assumed as follows: the last element (i.e. 5000.9) has the time at which Values are written, the other values are spaced equidistantly from the time of the last writing. See the specifications for details. If you measure the custom sensor at a high rate, it is good practice to send a Values array about every second and to reduce the array size to about 1000 elements. If measurement restart after a period without measurements, it is advised to send the first data point alone.

Special custom sensors for flat wires and fault profiles

For wires running at less than ca. 60 m/min it is worth to use "LU x", "LU y", "Lump" or "Neck-down". These signals are useful for:

  • Flat wires: With bi-axial sensors it is the only way to access LU x and LU y independently
  • Fault length: The length of the fault can be measured and you can write criteria based on the fault length
  • Fault profiles: Faults have a profile shown in Faults graph (see Figure 4). While other faults are just displayed with a dot, here a profile of the fault (i.e. the signal, when it is above threshold) is also displayed

To use these signals one has to set Settings|Configure...|SenSystem type to K12 and Settings|Data rate [Hz] to 25000. They behave like custom sensors, and if you do not use any (other) custom sensor (either no OPC UA or OPC UA|Max custom sensors per line = 0), they are automatically configured. If you use custom sensors, you can use them but you have to configure them manually. We at Sensoptic are happy to help you and send you a configuration file that does it. Best email Daniel Haertle, possibly providing him your current configuration file (normally located at Documents\LabVIEW Data\Sensoft\Config Data\Configurations Multiline\Default config.ini).

For info: Custom sensors named "LU x", "LU y", "Lump" or "Neck-down" behave specially: they get automatically filled with data. That means, if you name a custom sensor "LU x", it will be filled by Sensoft with lump data from the sensor along the x-axis. Specifically, it is filled with the AC_X signal, which is the measured DC_X signal after application of a digital high-pass filter and, if there are enough date points, an averaging. Positive values are lumps, negative values are neck-downs. For efficiency reasons there is no separate "NE x" signal, therefore for detecting neck-downs, e.g. larger than 10 μm, write Alarm if LU x < -10 μm . "Lump" and "Neck-down" are the combined signals and are similar to the standard lump and neck-down signals, but they provide fault profiles and are present also when the standard lump/neck-down signals are deactivated for getting the maximal data rate.