External Sensors
Current Source 1 and 2
Two 12V switched current sources, which can source a maximum of 200mA each are supplied on pins 3 and 5. The 12V supply is internally generated and is battery backed and so can still be used when running of solar or battery power. Current supplied by each of the switched current sources is measured to a resolution of 0.1mA and so is able to be used to supply and measure the output of 4-20mA and other current-output sensors. Internal resettable fuses protect the outputs against over-current events.
The switched current sources are expected to be used to power external sensors such as hall-effect sensors, 4-20mA sensors and serial devices. It can be configured to turn on prior to measurement to allow sensors time to boot or for measurements to stabilise. After measurements are complete, the output can be switched off to preserve power; this is especially important when running off solar or batteries. The current sources can be used to power a sensor that is measured using one of the inputs, since the inputs are measured just before the current sources are turned off.
Note
When a current source is used to power a sensor that is read by an input, the intervals specified for the current source and input must be the same.
Many 4-20mA sensors are powered by the current flowing through the loop to which they are connected and are called loop powered devices. Loop powered sensors can be connected using switched source 1 as the current source (pin 3) and GND (pin 2 or 4) or alternatively using switched source 2 as the current source (pin 5 as shown below) and GND.
Some sensors and systems that use current as an output require an external power supply. In an implementation where system power is available, the sensor can be connected as shown below.
In solar or battery operated systems where permanent power is not available, externally powered current-output sensors can utilise the ORB switched power source as shown below. Switched source 1 and 2 should be configured to switch on for the minimum amount of time before a measurement is made in order to minimise power consumption.
Two loop powered 4-20mA sensors can be connected to the ORB by utilising both of the switched current sources.
Both inputs will report the voltage that is connected to them and so can be used as general purpose analog or digital inputs.
Note
When a voltage is connected to the current source pins, current may flow backwards into the ORB and the resulting current measurement may be negative.
Warning
Connecting a power source greater than 12V to pins 3 or 5 may result in permanent damage to the functions of those pins or to the ORB.
Specification
Parameter |
Specification |
---|---|
Maximum source current |
100mA per pin |
Maximum measurable current |
40mA |
Current measurement accuracy |
+-0.1mA |
Current measurement precision |
20uA (11 bits over 40mA) |
Maximum voltage on pins |
12V |
Voltage measurement accuracy |
+-300mV |
Settings
Measurements can be scheduled as a multiple of the base-interval. At the interval, the current sources will turn on and a measurement will be made. The fastest possible measurement rate is achieved by setting the interval to 1 in which case measurements will occur on every base interval. To reduce power consumption, the measurement rate can be turned down by increasing the measurement-interval.
If a connected device needs some time to stabilise before measurements can be taken, the current sources can be set to turn on a short time before a measurement is to be made using the start time option. Keep the start time value to a minimum to reduce overall power consumption when running on batteries or solar.
Note
If more than one external device is being powered by the switched power, please ensure that the stabilisation time is set to the maximum for all devices powered.
If the current sources are being used to power an external sensor device that needs to be constantly powered, the always on option can be used to prevent the current source from being turned off.
The ORB measures current, in mA, sourced by the two outputs. If however the attached sensor is calibrated in a unit other than mA, then that calibration can be applied to the measurement. If for instance, a 4-20mA level sensor is attached to output 1 and 4mA represents 0m of water and 20mA represents 100m of water, then the calibration values are set as follows:
current1.calibration.low_x = 4 |
4mA is the low value at which the sensor is specified |
current1.calibration.low_y = 0 |
0m is the value represented by 4mA |
current1.calibration.high_x = 20 |
20mA is the high value at which the sensor is specified |
current1.calibration.high_y = 100 |
100m is the value represented by 20mA |
current1.calibration.unit = m |
m is the unit as measured by the sensor |
The mA values measured by the ORB will be converted into the user specified units before being transmitted or being compared with the warning and alarm values. If the user wants to leave the units in mA, then use the defaults as specified in the table below.
The input measurement range and accuracy can be optimised specifically for 4-20mA devices. Select the optimise option to optimise accuracy for 4-20mA sensors.
Warning and alarm thresholds can be enabled. Once enabled, each time a measurement is completed, the returned value will be compared with minimum and maximum warning and alarm thresholds. If a warning or alarm level is breached, a message will immediately be transmitted. As long as the warning or alarm condition persists, messages will be transmitted at the exception-interval rather than the transmit-interval. Hysteresis can be specified in increments of the specified unit, to prevent multiple alarms in the presence of electrical noise.
A full list of current source settings is given in the table at the end of this chapter.
Serial Interface
The serial port can be used to capture data that is sent from an external system or to interface to a MODBUS sensor.
The serial port occupies pins 6 and 7 on the interface header. The pins have functions that depend on the chosen interface as shown in the table below. When RS485 mode is chosen, an optional 120Ω termination resistor can be selected.
Interface type |
Pin 6 function |
Pin 7 function |
---|---|---|
RS232 |
Receive (Rx) |
Transmit (Tx) |
RS485 |
RS485-B |
RS485-A |
Note
RS485-B is sometimes referred to as D+ or TX+/RX+ and RS485-A as D- or TX-/RX-.
The RS485 receiver supports up to 256 nodes per bus, and features full failsafe operation for floating, shorted or terminated inputs. Interface pins are protected against electrostatic discharge up to 26kV, whether the ORB is powered or unpowered.
Specification
Parameter |
Specification |
---|---|
RS232 transmitter output low voltage (typical) |
-5.5V |
RS232 transmitter output high voltage (typical) |
+5.9V |
RS232 Input threshold voltage |
+1.5V |
RS485 differential output voltage (minimum with load resistance 120Ω) |
+2V |
RS485 differential input signal threshold |
+-220mV |
Maximum nodes in RS485 mode |
256 |
RS485 termination resistor |
120Ω |
Settings
Measurements can be scheduled as a multiple of the base-interval. The fastest possible measurement rate is achieved by setting the interval to 1 in which case measurements will occur on every base interval. To reduce power consumption, the measurement rate can be turned down by increasing the interval.
In serial capture mode the measurement interval can be used to reduce the number of readings being provided by a connected sensor or system that may be permanently powered. If for instance, a connected system is sending a message every second but it is only required to be read and transmitted every minute, the measurement interval can be set to 1 minute in which case the ORB will wake on the minute interval, receive a message and return to sleep thereby missing the other 59 messages sent by the attached system. Since serial packets cannot be interrogated by the ORB without a customised script, it makes sense to set the measurement interval to the same as the transmit interval in most cases.
The serial port on the ORB can be configured as an RS232 or RS485 hardware interface using the type option.
If RS485 mode is selected, an optional 120Ω termination resistor can be selected by selecting the Termination resistor option. The purpose of the termination resistor is to match the impedance of a transmission line to the hardware impedance of the interface to which it is connected. Termination is generally not required in lower speed networks (9600 baud or less) and networks shorter than 500m in length. No more than 2 termination resistors should be used, one at each end of the RS485 transmission line.
A baud rate of 4800, 9600, 19200, 38400, 56800 or 115200 needs to be selected using the baud rate option. Other settings, including the number of bits, odd or even parity and 1 or 2 stop bits are added in the settings field. The most common setup is 8 bits, no parity and 1 stop bit or “8N1”.
The serial interface can be configured in serial capture mode or MODBUS mode using the mode option. Capture mode is typically used where an external sensor sends serial data and a portion of that serial data is to be captured. MODBUS mode is used to connect to external sensors that are compatible with the MODBUS standard.
In serial capture mode The ORB listens for periodic data and when received, transmits this data at the next send interval. The maximum length of a message that can be captured is 512 characters. Once 512 characters have been received, the ORB will terminate the capture and will transmit it on the next transmit interval.
In capture mode, the max-time setting can be used to set a timeout after which the serial port will return to sleep. Max-time can be used as a way to end serial measurement in the event that no serial data is received, or as a mechanism to allow the ORB to sample the serial port for a defined time-period.
Note
If the serial port needs to be kept on all the time, set the max-time to longer than the measurement interval. The contents of the serial buffer is retained as long as the ORB does not return to sleep.
The operation of the max chars option is similar to the max time setting except that the serial port stops sampling after a certain number of characters has been received. In most cases where the max-chars setting is used to terminate serial capture, the max-time setting is also used to end the serial measurement in the event that data does not arrive.
In Serial capture mode, in systems where many messages are sent and only a few are of interest, a start string of up to 10 characters can be enabled. For instance, in a typical GPS serial NMEA feed, the following are a subset of available messages:
DTM - Datum being used.
GGA - Fix information
GLL - Lat/Lon data
GSA - Overall Satellite data
GSV - Detailed Satellite data
RMC - Recommended minimum data for GPS
RTE - Route message
VTG - Vector track an Speed over the Ground
If in the application, the user is only interested in receiving the GGA message, then a start string can be set to GGA. In that way, any messages starting with DTM, GLL, GSA or other unwanted messages will be discarded.
Note
If a start string is enabled, the ORB will stay awake until the string is received or until the max-time is reached.
In firmware revisions less than 2, serial start strings are specified as text, with special characters such as carriage return and line feed being specified by their respective escape sequences. A list of allowable escape sequences is given below:
\f Form-feed
\n Newline (Line Feed)
\r Carriage Return
\t Horizontal Tab
\v Vertical Tab
\\ Backslash
Note
Because escape sequences start with a backslash (\), if a capture string contains a backslash, it needs to be escaped and so is represented as a double backslash (\\).
In firmware release 2 and above, serial start strings are specified as text, with special characters such as carriage return and line feed being specified by their respective ASCII codes in hexadecimal. A list of example hexadecimal sequences is given below:
\x0C Form-feed
\x0A Newline (Line Feed)
\x0D Carriage Return
\x09 Horizontal Tab
\x0B Vertical Tab
\x08 Backslash
The change to the method used to represent special characters has been made to allow for all ASCII characters to be used, and to allow for hexadecimal data to be captured.
Note
In firmware revisions 2 and lower, special characters are specified as escape characters. In revisions 2 and above, special characters are represented by their ASCII representations in hexadecimal.
In some serial protocols, the start of a packet is specified by a preceding period of inactivity on the serial bus. The Idle Time Before Start parameter can be used to specify an idle time, which is exceeded will trigger the serial port to start capturing serial data.
Note
If the serial port is capturing data and a subsequent idle time occurs, the capture process will restart and captured data will be discarded.
A serial capture stop string of up to 10 characters can also be provided. Again using the NMEA example, all NMEA messages end with a carriage return and line feed and so the serial capture stop strings in each case will be the same and will be “\r\n” or \x0D\x0A in revision 2 and above firmware. In most instances, the serial stop strings will be the same for all messages.
Note
If a start string is specified without a stop string, or the stop string is never encountered, the serial port will capture characters until the max-time or max-chars is reached, the next measurement interval occurs or 256 characters are received.
An optional serial request string can be sent, on each measurement interval, to an external device. The purpose of the request sting is to request data from an external sensor or system. The request string can be a maximum of 10 characters and can be entered as text. Special characters like carriage return and line feed can be inserted using escape sequences or their ASCII representations as described earlier in the chapter.
The ORB implements the MODBUS communications protocol standard as a master, which enables communication with many slave devices connected to the network. The ORB can be configured to periodically request specific data from slave MODBUS devices on the network and transmit that data at specified intervals.
Up to twenty MODBUS data requests can be configured on the ORB; these data requests can either be from twenty individual slave devices or multiple requests from the same device. For each of the twenty data reads, the slave address, function and register address need to be specified. The slave address will be specified by the manufacturer of the device that is attached to the ORB; in some cases, slave devices allow their addresses to be configured. The function specifies the type of data to be read from the slave device. The ORB supports the following types of data reads:
Disabled - the particular MODBUS channel is not used
Read Coil - a 1 bit data value
Read Discrete - a 1 bit data value
Read Holding - a single 16 bit holding register
Read Input - a 16 bit input register
Read Holding (32 bits, Little Endian register order) - a 32 bit holding register
Read Holding (32 bits, Big Endian register order) - a 32 bit holding register
Read Input (32 bits, Little Endian register order) - a 32 bit input register
Read Input (32 bits, Little Endian register order) - a 32 bit input register
Endianness is the order or sequence of bytes of digital data in computer storage and will be specified by the sensor that is being connected to the ORB.
A single MODBUS device may have multiple data values that can be read. The register address specifies which data the slave device needs to deliver.
In MODBUS mode, calibration can be applied so that the registers read by the ORB can be scaled to be in the units of what is being measured. For instance, a register that returns 0 to 255 may represent 0% humidity to 100% humidity. The ORB can be calibrated to take a number and to convert it to humidity in % and return that as the measured value.
In any system, the sensor and possibly the measured value will be subject to errors that may accumulate to reduce accuracy. In a system that uses the ORB to measure fluid volume in a 100 litre tank using a MODBUS sensor, the sensor may have offset errors such that with zero liquid in the tank, the ORB is showing a small volume. The ORB and sensor may also not be perfectly linear in that they may not measure 1 litre in exactly the same way when the tank is empty versus when it is full. The tank itself may also not be perfectly manufactured and may, for instance have walls that are not perfectly straight. All of these errors could add together such that the final system is less accurate than expected. To achieve a more accurate system, a calibration can be performed. In this example, the tank could be calibrated by adding a small amount of liquid, say 10 litres (low Y) and noting the value reported by the ORB (low X). Now fill the tank by adding another 99 litres (high y) and note the value being reported by the ORB (high X). By filling the high and low X and Y values into the calibration constants associated with analog mode, offset and non-linearity errors can be eradicated, resulting in a much more accurate system.
In MODBUS mode, warning and alarm thresholds for can be set for each MODBUS channel. Once enabled, each time a measurement is completed, the returned value will be compared with minimum and maximum warning and alarm thresholds. If a warning or alarm level is breached, a message will immediately be transmitted. As long as the warning or alarm condition persists, messages will be transmitted at the exception-interval rather than the transmit-interval.
Note
If calibration has been applied, then the warning and enable thresholds are in the calibrated units.
A full list of serial interface settings is given in the table at the end of the chapter.
Inputs
Pins 8 and 9 on the 12 way header are multi-purpose inputs. The inputs can be configured to measure analog voltages, where the value on the pin is measured; digital states that represent ON or OFF; frequency; duty cycle and count pulses. In analog and digital mode, pin 8 represents input 1 and pin 9 represents input 2.
Pin |
Channel |
---|---|
8 |
Input 1 |
9 |
Input 2 |
The voltage present on the inputs should not exceed 72V. The inputs are protected against over-voltage events to 100V and against static discharge.
The equivalent input impedance of pins 8 and 9 is the same and is shown below. As far as DC circuits are concerned, any input connected to pin 8 or 9 will experience a 310kΩ resistance to ground. For analog measurements, a low-pass filter reduces high frequency noise, improving measurement accuracy.
Note
The low pass filter is not applied when the input module is used to measure frequency and duty cycle.
Specification
Parameter for Analog and Digital measurements |
Specification |
---|---|
Maximum input voltage |
72V |
Analog measurement accuracy |
+-50mV |
Input resistance (Input1) |
182kΩ |
Input resistance (Input2) |
310kΩ |
Input filter cutoff frequency |
53Hz |
Parameter for Frequency and Duty Cycle Measurement |
Specification |
---|---|
Maximum input voltage |
72V |
Input resistance (Input1) |
182kΩ |
Minimum amplitude |
3V (measured down to 1.7V but not guaranteed) |
Minimum measureable frequency |
1Hz (square wave, 3V minimum amplitude) |
Maximum measureable frequency |
10kHz (square wave, 3V minimum amplitude) |
Frequency measurement resolution |
1Hz |
Frequency measurement accuracy |
+-1Hz to 100Hz, +-10Hz to 10kHz |
Maximum measurable duty cycle |
100% |
Minimum measureable duty cycle |
1% |
Duty cycle measurement resolution |
1% |
Duty cycle accuracy |
+-1% |
Minimum pulse duration for duty cycle measurement |
10msec (1% of 1Hz) |
Parameter for Pulse Counting |
Specification |
---|---|
Maximum input voltage |
72V |
Input resistance (Input1) |
182kΩ |
Minimum amplitude |
3V (tested down to 1.7V but not guaranteed) |
Minimum frequency |
0.01Hz (not tested lower) |
Maximum measureable frequency |
5kHz (square wave, 3V amplitude) |
Minimum pulse duration for pulse counting |
+100usec (tested to 20usec but not guaranteed) |
Settings
Measurements can be scheduled as a multiple of the base-interval. The fastest possible measurement rate is achieved by setting the interval to 1 in which case measurements will occur on every base interval. To reduce power consumption, the measurement rate can be turned down by increasing the interval.
The mode selects the function of the input pin. Input 1 can be operated in Digital, Analog, Frequency and Duty Cycle modes; input 2 only has Digital and Analog modes.
Analog mode
Select analog mode if the input is a voltage that needs to be measured. Analog measurement should be used when interfacing with voltage-output sensors or when measuring a voltage, for instance when reporting on solar capacity. The maximum voltage that can be measured is 72V and the resolution is 50mV.
For maximum accuracy, and to allow for scaling of sensors, calibration can be applied in analog mode.
Digital mode
Select digital mode if the input typically has two levels and can be considered as ON or OFF. Digital mode is typically used when interfacing to a switch or a system that has two discrete voltages representing ON and OFF. An example of a signal with 2 discrete on and off voltage levels would be an ignition signal on a vehicle. In digital mode, the threshold at which an input is considered ON or OFF can be set between 0 and 72V in 100mV increments. For example, if the ORB is being used to detect an ignition signal in a 12V vehicle, the threshold could be set to 6 volts. In a system where the output is either 0 or 5 volts, the threshold could be set at 2.5 volts. Hysteresis can be applied to prevent false changes in state if the input voltage crosses the threshold slowly or in the presence of noisy inputs. In the example below, adding hysteresis prevents the output falsely showing as on as the noisy signal crosses the threshold. In digital mode, the hours that the input is above the threshold can be counted and used as an hour meter.
Since the inputs on the ORB have a 310kΩ resistance to ground, if an external switch is placed between supply and the input, no additional circuitry is required. When the external switch is open, the 310k resistance will pull the input low. When the external switch is closed, the input will be driven high. Where there is no permanent power source, switches can be powered using one of the current loops. Connection to an external switch that is connected to system power is shown below.
If an external switch is to be connected to ground, an external pullup resistor of less than 10kΩ is required between the pin to which the switch is connected and system power. Power to the pullup can also be provided using the internally generated switched power on either of the current source pins. When the switch is open , the external pullup drives the pin high. When the switch is closed, the pin is grounded. Connection to an external switch that is connected to ground is shown below.
Note
Connecting an external pullup resistor will increase current consumption when running of batteries and using the switched power output.
In digital mode, an alert can be generated when the input changes state. This may be useful, for instance where monitoring an alarm system to see if it is activated or not. Each time the system is activated or de-activated, an alert can be generated and transmitted
Input 1 has additional functionality that allows switch change of state detection whilst the ORB is in sleep state. This allows the ORB to remain in a very low power sleep state, to wake on switch level change and transmit the change of state. This functionality is not available on input 2.
Frequency mode
Input 1 has an additional mode that allows for the measurement of frequency. In frequency mode, on each measurement interval, the frequency of a signal on the pin is measured. Primary applications are speed, rpm and flow rate measurement.
In the diagram below, the ORB is configured to measure engine speed using an output from the P (pulse) terminal on an alternator.
Duty-Cycle mode
Input 1 has an additional mode that allows for the measurement of duty-cycle. In duty-cycle mode, on each measurement interval, the duty-cycle of a signal on the pin is measured. Sensors regularly use duty cycle to communicate percentage of full-scale; for instance, 0% duty cycle may represent 0% humidity and 100% duty-cycle may represent 100% humidity. In some sensors, 0% and 100% duty cycle represent error conditions.
Calibration
In analog mode, frequency mode and duty-cycle mode, calibration can be applied so that the measurement returned by the ORB is in the units of what is being measured. For instance, in analog mode, a voltage of 0 to 5V may represent 0% humidity to 100% humidity. The ORB can be calibrated to take a voltage measurement and to convert the measurement to humidity in % and return that as the measured value.
In any system, the measurement instrument (the ORB), the sensor and possibly the measured value will be subject to errors that may accumulate to reduce accuracy. In a system that uses the ORB to measure fluid volume in a 100 litre tank using a 4-20mA sensor, the ORB and sensor may have offset errors such that with zero liquid in the tank, the ORB is showing a small volume. The ORB and sensor may also not be perfectly linear in that they may not measure 1 litre in exactly the same way when the tank is empty versus when it is full. The tank itself may also not be perfectly manufactured and may, for instance have walls that are not perfectly straight. All of these errors could add together such that the final system is less accurate than expected. To achieve a more accurate system, a calibration can be performed. In this example, the tank could be calibrated by adding a small amount of liquid, say 10 litres (low Y) and noting the value reported by the ORB (low X). Now fill the tank by adding another 99 litres (high y) and note the value being reported by the ORB (high X). By filling the high and low X and Y values into the calibration constants associated with analog mode, offset and non-linearity errors can be eradicated, resulting in a much more accurate system.
Warnings and Alarms In analog mode, frequency mode and duty-cycle mode, warning and alarm thresholds for can be set. Once enabled, each time a measurement is completed, the returned value will be compared with minimum and maximum warning and alarm thresholds. If a warning or alarm level is breached, a message will immediately be transmitted. As long as the warning or alarm condition persists, messages will be transmitted at the exception-interval rather than the transmit-interval.
Note
If calibration has been applied, then the warning and enable thresholds are in the calibrated units.
Pulse counting
In all modes, the number of pulses that have occurred since the ORB was last reset can be measured and reported. To enable the counting of pulses, enable the pulse option. If for instance, a flow-sensor is being used to deliver fuel to a vehicle, the instantaneous frequency would represent flow rate (possibly in litres per minute) and the number of pulses would represent the total amount of fuel delivered (possibly in litres). When pulse counting is enabled, the ORB remains awake, continuously monitoring the input in order to capture all the pulses that occur.
Note
In firmware releases from SFW002-3.0.0, the pulse count is stored to non-volatile memory and so will be retained during a device reset.
The count can be set to reset after a number of pulses have been counted. This may be useful, for instance if a sensor is measuring water in litres, and only kilolitre indications are required. In this case, a pulse warning level can be set at 1000 pulses at which time a transmission will be made and at the same time, the counter will be reset. One transmission will be made for each 1000 litres of water measured.
Note
Because pulse counting keeps the input active, there will be an increase in power consumption.
In the diagram below, a flow sensor with integrated reed-switch is connected to input 1 to allow the number of pulses occurring to be measured.
A full list of settings for the inputs is given in the table at the end of this chapter.
CAN Bus Interface
The ORB-C1 has a CAN bus interface that can be used to read data from all kinds of vehicles and sensors that use CAN as their communications medium. Hundreds of sensors can be connected to a single CAN network.
In many cases, the protocol that is being used on the CAN bus is known, and so large volumes of understandable data can be extracted from all kinds of vehicles. Common CAN protocols include:
J1939, the dominating CAN-based protocol for trucks and busses.
ISO 11783, a J1939 flavor for agricultural tractors.
ISO 11992, an interface between trucks and trailers.
NMEA 2000, a protocol based on J1939 for marine use.
CANopen, provides a standard for industrial machinery commonly used in industrial automation.
The ORB is compatible with the latest CAN Flexible-Data-rate (FD) specification.
Pins 11 and 12 on the ORB header provide the interface to a CAN network with pin 11 being CAN High (dominant high) and pin 12 being CAN Low (dominant low).
In CAN networks, 120Ω terminating resistors are found at each end of the network. In most systems, the terminating resistors will already be in place and will not be needed. In cases where a sensor network is being formed between an ORB and external sensor, a 120Ω resistor should be placed between the pins 11 and 12 on the ORB.
Warning
In CAN bus systems, the ground supplied to the ORB must be the same ground as used by the CAN network. High differential voltages between the CAN lines and ground can damage the CAN interface.
Specification
Parameter |
Specification |
---|---|
CAN High driver voltage (typical) |
2.9V |
CAN Low driver voltage (typical) |
0.9V |
Common mode voltage for reception (maximum) |
+-25V |
Absolute maximum voltage on CAN High and CAN Low |
+-60V |
Termination resistor |
120Ω |
Settings
Measurements can be scheduled as a multiple of the base-interval. The fastest possible measurement rate is achieved by setting the interval to 1 in which case the CAN network will be sampled on every base interval. To reduce power consumption, the measurement rate can be turned down by increasing the interval.
The CAN bus peripheral on Senquip devices supports can bit rates of 125, 250, 500 and 1000 bits per second as specified in the Nominal Baud Rate field.
To ensure minimum intrusion on CAN systems, the CAN peripheral can be set to listen only. In this mode the Senquip device will only receive messages that are acknowledged on the bus by a listening node. Where required, the Senquip device can be made to acknowledge messages by selecting the TX Enable option.
A typical automotive CAN network will contain hundreds of messages, all with their own identifiers. The CAN peripheral can filter only the required messages by filling in the ID Capture List. Required identifiers should be entered in hexadecimal and should be separated by commas, for example “18FF20F2, 18FF36F0, 18FF1BF2”. When the Senquip device wakes for the next measurement interval, the CAN network will be sampled until all the messages listed have been found or the Capture Time has been reached. If multiple messages with the same identifier are required in a single measurement interval, place a * followed by the number of messages of that identifier to be returned. For example, populating the ID Capture List with “18FF20F2*4, 18FF36F0, 18FF1BF2*10, 18FF1F12*” will return four 18FF20F2 messages, one 18FF36F0 message, ten 18FF1BF2 messages, and one 18FF1F12 message. Leave the ID Capture List blank to receive one of every message that arrives. Place a * in the ID Capture List to receive all messages in the order that they arrive. Keep in mind that receiving every message on the bus could overwhelm the Senquip device in systems with lots of high repetition rate messages.
The Capture Time setting can be used to set a timeout after which the CAN bus peripheral will stop listening, allowing the Senquip device to transmit received messages and return to sleep. Capture-time can also be used as a mechanism to allow the CAN peripheral to sample the CAN bus for a defined time-period.
CAN messages can be sent to connected device from within a script. The messages can be sent once, or can be set to repeat at a given time interval. If the device enters sleep or hibernate, repeating messages will be stopped. If the Senquip device is reset, the sending of repeating CAN messages is unaffected. The messages will continue to be sent until a change is applied. For example, if new script is loaded, forcing a reset, the CAN messages will continue to be sent until the new script applies a change. In the case of a malfunction that lasts for more than 30 second, repeating CAN messages will be stopped.
A full list of CAN bus settings is given in the table at the end of this chapter.
Output
An open-collector output that can be made to switch to ground is provided on pin 10 of the header. The output is capable of sinking 450mA to ground and has an internal resettable fuse in place to prevent over-current events. The output is capable of switching coils and is therefore able to drive external relays and low power solenoids. The open circuit voltage applied to the output should not exceed system voltage or 72V.
As an alternate function, where additional inputs are required, the output can be configured as an analog or digital input.
Note
There is a limit to the amount of energy that the protection circuit can absorb. For instance, shorting the output to power at 72V when the output is on will likely destroy the output.
The output is typically used to indicate warning and alarm conditions currently active and can be set to active in the event of a measurement returning an exception. When configured to do so, the buzzer or indicator lamp shown in the diagram below will turn on when a warning or alarm condition exists as pin 10 is switched to ground.
In solar or battery operated systems where permanent power is not available, externally powered current output sensors can utilise the ORB switched power source on pin 3 as shown below.
Specification
Parameter |
Specification |
---|---|
Maximum open circuit voltage |
72V |
Maximum hold current |
450mA min |
Minimum fuse current |
550mA max |
Digital input threshold |
6V |
Hysteresis |
1V |
Settings
The output can be scheduled to be configured at a multiple of the base-interval. In the event that the Interval is set to a number higher than 1, the output state will only checked and configured on the next output interval. This can be used to create a pulsed output that may be useful in driving alert indicators or in allowing attached devices to time to cool down.
The Mode setting can be used to configure the output with alternate functions as an analog or digital input. In input mode, the same settings as are associated with Input 2 apply except that the digital threshold and hysteresis are fixed.
The output can be configured to activate when any of the peripherals report an exception (warning, alarm or alert) as a result of a measurement and can be set to remain on only as long as the warning or alarm is active or to hold on for a time after the warning or alarm has gone away.
Note
The output state will be configured at each output interval. The hold-time is how long the output is kept enabled after the exceptions are cleared.
A full list of settings for the output is given in the table at the end of this chapter.
External Sensor Settings
A full list of settings for external sensors is given in the table below.
Name |
Item |
Function |
Range |
Unit |
Internal Reference |
---|---|---|---|---|---|
Input 1 |
|||||
Name |
text |
A name for the input that is meaningful to the user. |
25 chars |
input1.name |
|
Interval |
integer |
The number of base intervals after which the input is sampled. A value of 1 means that the input is collected every base interval. Set to 0 to disable. |
0 to 10000 |
input1.interval |
|
Mode |
preset |
Specifies the function of the IN1 terminal. The calibration, warnings and alarms are applied to this mode. |
input1.mode |
||
Digital 1 |
|||||
Digital Threshold |
decimal |
A threshold against which the input is compared to determine if the input state is ON or OFF. |
0 to 30 |
Volts |
input1.digital.threshold |
Digital Hysteresis |
decimal |
Once the input is in a certain state, hysteresis is the amount by which the input has to change before moving to the other state. |
0 to 20 |
Volts |
input1.digital.hysteresis |
Count Hours |
boolean |
Counts the number of hours the digtial input is ON (above threshold). |
input1.digital.count_hours |
||
Digital Change Alert |
boolean |
Sets whether a change in digital state generates an alert. |
input1.digital.alert.enable |
||
Analog 1 Calibration |
text |
Calibration parameters for Analog 1. Refer to user guide. |
30 chars |
input1.cal |
|
Unit |
text |
The unit of measure associated with the calibration. Examples: Litres/min, RPM, Volts |
input1.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
input1.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
input1.alarm |
||
Alarm/Warning Hysteresis |
decimal |
Once the input is in a certain state, hysteresis is the amount by which the input has to change before moving to the other state. |
input1.hysteresis |
||
Pulse Input |
|||||
Pulse Counting |
boolean |
Enables counting of pulses in addition to frequency measurement. |
input1.pulse.enable |
||
Reset Value |
integer |
The value at which the number of pulses counted on the input is reset to zero. |
1 to 2000000000 |
Counts |
input1.pulse.reset_value |
Pulse Scaling |
decimal |
Multiplier to convert the pulse count to a useful unit. |
input1.pulse.scaling |
||
Pulse Unit |
text |
The unit of measure associated with the scaled pulse count. Eg: Litres |
input1.pulse.unit |
||
Pulse Warning |
text |
Warning thresholds. Refer to user guide. |
input1.pulse.warning |
||
Pulse Alarm |
text |
Alarm thresholds. Refer to user guide. |
input1.pulse.alarm |
||
Input 2 |
|||||
Name |
text |
A name for the input that is meaningful to the user. |
25 chars |
input2.name |
|
Interval |
integer |
The number of base intervals after which the input is sampled. A value of 1 means that the input is collected every base interval. Set to 0 to disable. |
0 to 10000 |
input2.interval |
|
Mode |
preset |
Specifies the function of the IN2 terminal. The calibration, warnings and alarms are applied to this mode. |
input2.mode |
||
Digital 2 |
|||||
Digital Threshold |
decimal |
A threshold against which the input is compared to determine if the input state is ON or OFF. |
0 to 30 |
Volts |
input2.digital.threshold |
Digital Hysteresis |
decimal |
Once the input is in a certain state, hysteresis is the amount by which the input has to change before moving to the other state. |
0 to 20 |
Volts |
input2.digital.hysteresis |
Count Hours |
boolean |
Counts the number of hours the digtial input is ON (above threshold). |
input2.digital.count_hours |
||
Digital Change Alert |
boolean |
Sets whether a change in digital state generates an alert. |
input2.digital.alert.enable |
||
Analog 2 Calibration |
text |
Calibration parameters for Analog 2. Refer to user guide. |
30 chars |
input2.cal |
|
Unit |
text |
The unit of measure associated with the calibration. Examples: Litres/min, RPM, Volts |
input2.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
input2.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
input2.alarm |
||
Alarm/Warning Hysteresis |
decimal |
Once the input is in a certain state, hysteresis is the amount by which the input has to change before moving to the other state. |
input2.hysteresis |
||
Output 1 |
|||||
Name |
text |
A name for the input that is meaningful to the user. |
25 chars |
output1.name |
|
Interval |
integer |
Does not affect output mode. The number of base intervals at which the input is sampled. Set to 0 to disable. Set to 1 for every base interval. |
0 to 10000 |
output1.interval |
|
Mode |
preset |
Specifies the function of the OUT1 terminal. |
output1.mode |
||
Warnings |
boolean |
Determines if the output is turned on when a warning is active. |
output1.warnings |
||
Alarms |
boolean |
Determines if the output is turned on when an alarm is active. |
output1.alarms |
||
Alerts |
boolean |
Determines if the output is turned on when an alert is active. |
output1.alerts |
||
Hold Time |
integer |
Sets the time in seconds for which the output is held on after it is triggered. If set to zero, the output remains on while any exceptions are active. |
Seconds |
output1.hold_time |
|
Digital Change Alert |
boolean |
If enabled, a change in digital state will generate an alert. |
output1.digital.alert.enable |
||
Analog 3 Calibration |
text |
Calibration parameters for Analog 3. Refer to user guide. |
30 chars |
output1.cal |
|
Unit |
text |
The unit of measure associated with the calibration. Examples: Litres/min, RPM, Volts |
output1.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
output1.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
output1.alarm |
||
Alarm/Warning Hysteresis |
decimal |
Once the input is in a certain state, hysteresis is the amount by which the input has to change before moving to the other state. |
output1.hysteresis |
||
Thermocouple 1 |
|||||
Name |
text |
A name for the input that is meaningful to the user. |
25 chars |
tc1.name |
|
Interval |
integer |
The number of base intervals after which the thermocouple is measured and events are checked. A value of 1 means that the input is collected every base interval. Set to 0 to disable. |
0 to 10000 |
tc1.interval |
|
Hysteresis |
decimal |
The amount by which the measured value has to drop below the threshold to re-enable the event. |
-1000 to 1000 |
°C |
tc1.hysteresis |
Type |
text |
Determines the type of thermocouple connected. Valid values are: K, J, T, N, S, E, B and R |
1 chars |
tc1.type |
|
Warning |
text |
Warning thresholds. Refer to user guide. |
-1000 to 1000 |
°C |
tc1.warning |
Alarm |
text |
Alarm thresholds. Refer to user guide. |
-1000 to 1000 |
°C |
tc1.alarm |
CAN 1 |
|||||
Name |
text |
A name that is meaningful to the user. |
25 chars |
can1.name |
|
Interval |
integer |
The number of base intervals after which the CAN module is turned on. Set to 0 to disable. |
0 to 10000 |
can1.interval |
|
Nominal Baud Rate |
integer |
Baud rate for CAN communication. Supported values are: 125, 250, 500, 1000 |
kbit/s |
can1.nominal_baud |
|
Capture Time |
integer |
The device will capture matching messages for this length of time. |
Seconds |
can1.capture_time |
|
TX Enable |
boolean |
Allows the device to transmit and acknowledge messages on the CAN bus. |
can1.tx_enable |
||
ID Capture List |
text |
List of IDs to be captured in HEX format, separated by a comma eg: 18FEE60A. Leave blank to capture all. |
200 chars |
can1.id_list |
|
Send Raw Data |
boolean |
If ticked, all captured messages will be added to the data message. |
|||
Current Loop 1 |
|||||
Name |
text |
A name for the input that is meaningful to the user. |
25 chars |
current1.name |
|
Interval |
integer |
The number of base intervals after which the input is sampled. A value of 1 means that the input is collected every base interval. Set to 0 to disable. |
0 to 10000 |
current1.interval |
|
Mode |
preset |
Specifies the function of the SRC1 terminal. |
current1.mode |
||
Always On |
boolean |
Determines if Switched Power is to be enabled permanently. |
current1.always_on |
||
Start Time |
decimal |
Time in seconds that the output is turned on before measurements are taken. Allows an external device to stabilise. |
0 to 3600 |
Seconds |
current1.start_time |
Digital Change Alert |
boolean |
Sets whether a change in digital state generates an alert. (Digital Mode Only) |
current1.digital.alert.enable |
||
Current 1 Calibration |
text |
Calibration parameters for Current 1. Refer to user guide. |
30 chars |
current1.cal |
|
Unit |
text |
The unit of measure associated with the calibration. Examples: Percent, Pascals, Meters |
current1.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
current1.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
current1.alarm |
||
Alarm/Warning Hysteresis |
decimal |
The amount by which the calibrated current value has to drop below the threshold to re-enable the event. |
current1.hysteresis |
||
Current Loop 2 |
|||||
Name |
text |
A name for the input that is meaningful to the user. |
25 chars |
current2.name |
|
Interval |
integer |
The number of base intervals after which the input is sampled. A value of 1 means that the input is collected every base interval. Set to 0 to disable. |
0 to 10000 |
current2.interval |
|
Mode |
preset |
Specifies the function of the SRC2 terminal. |
current2.mode |
||
Always On |
boolean |
Determines if Switched Power is to be enabled permanently. |
current2.always_on |
||
Start Time |
decimal |
Time in seconds that the output is turned on before measurements are taken. Allows an external device to stabilise. |
0 to 3600 |
Seconds |
current2.start_time |
Digital Change Alert |
boolean |
Sets whether a change in digital state generates an alert. (Digital Mode Only) |
current2.digital.alert.enable |
||
Current 2 Calibration |
text |
Calibration parameters for Current 2. Refer to user guide. |
30 chars |
current2.cal |
|
Unit |
text |
The unit of measure associated with the calibration. Examples: Percent, Pascals, Meters |
current2.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
current2.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
current2.alarm |
||
Alarm/Warning Hysteresis |
decimal |
The amount by which the calibrated current value has to drop below the threshold to re-enable the event. |
current2.hysteresis |
||
Serial 1 |
|||||
Name |
text |
A name for the input that is meaningful to the user. |
25 chars |
serial1.name |
|
Interval |
integer |
The number of base intervals after which the serial port is turned on. Set to 0 to disable. |
0 to 10000 |
serial1.interval |
|
Type |
preset |
The electrical interface type. |
serial1.type |
||
Termination Resistor |
boolean |
This parameter enables the integrated termination resistor. |
serial1.termination |
||
Mode |
preset |
Describes how the serial port is to be handled. CAPTURE: serial data is captured between start and end characters. MODBUS: serial data is treated according to MODBUS RTU standard |
serial1.mode |
||
Baud Rate |
integer |
Baud rate for serial communication. Common values are: 4800, 9600, 19200, 38400, 57600, 115200 |
serial1.baud |
||
Settings |
text |
A string describing the number of bytes: 7,8,9. Parity type: N(none), E(even), O(odd). Number of stop bits: 1 or 2. Typically: 8N1 |
serial1.settings |
||
Capture |
|||||
Start String |
text |
The serial port starts reading data when it detects these characters. Example: $GPGGA, serial data will be ignored until $GPGGA is received after which data will be captured. If nothing is specified, the serial port will capture all data until the timeout period is reached. |
32 chars |
serial1.capture.start |
|
Idle Time Before Start |
integer |
For a valid start condition, there must be this amount of idle time before receiving serial data. Additionally, the captured data will restarted if the serial port is idle for this time. Set to 0 to disable. |
0 to 60000 |
Milliseconds |
serial1.capture.start_idle_time |
End String |
text |
Once capturing, if these characters are received, the serial port will stop capturing and will return to sleep. For binary data or escape sequences refer to the User Guide. |
32 chars |
serial1.capture.end |
|
Request String |
text |
This string will be sent when the serial port is first turned on. Use this function to request data from a remote module. |
32 chars |
serial1.capture.request |
|
Max Time |
integer |
The device will wait this length of time for a valid capture. |
Seconds |
serial1.capture.maxtime |
|
Max Chars |
integer |
Maximum number of characters to be captured before the serial port goes back to sleep. |
serial1.capture.maxchars |
||
Alert on Capture |
boolean |
If checked an alert will be raised on any successful serial capture. |
serial1.capture.alert |
||
MODBUS RTU |
|||||
Slave Timeout |
decimal |
How long to wait for a response from each slave device. |
0 to 10 |
Seconds |
serial1.modbus.timeout |
MODBUS 1 |
|||||
Modbus 1 Name |
text |
A meaningful name for Modbus Channel 1. |
25 chars |
mod1.name |
|
Modbus 1 Settings |
text |
Settings for Modbus Channel 1. Refer to user guide. |
18 chars |
mod1.settings |
|
Modbus 1 Calibration |
text |
Calibration paramters for Modbus Channel 1. Refer to user guide. |
30 chars |
mod1.cal |
|
Modbus 1 Unit |
text |
The unit of measure associated with the calibration. Examples: Percent, L/hr, Meters |
mod1.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
mod1.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
mod1.alarm |
||
MODBUS 2 |
|||||
Modbus 2 Name |
text |
A meaningful name for Modbus Channel 2. |
25 chars |
mod2.name |
|
Modbus 2 Settings |
text |
Settings for Modbus Channel 2. Refer to user guide. |
18 chars |
mod2.settings |
|
Modbus 2 Calibration |
text |
Calibration paramters for Modbus Channel 2. Refer to user guide. |
30 chars |
mod2.cal |
|
Modbus 2 Unit |
text |
The unit of measure associated with the calibration. Examples: Percent, L/hr, Meters |
mod2.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
mod2.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
mod2.alarm |
||
MODBUS 3 |
|||||
Modbus 3 Name |
text |
A meaningful name for Modbus Channel 3. |
25 chars |
mod3.name |
|
Modbus 3 Settings |
text |
Settings for Modbus Channel 3. Refer to user guide. |
18 chars |
mod3.settings |
|
Modbus 3 Calibration |
text |
Calibration paramters for Modbus Channel 3. Refer to user guide. |
30 chars |
mod3.cal |
|
Modbus 3 Unit |
text |
The unit of measure associated with the calibration. Examples: Percent, L/hr, Meters |
mod3.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
mod3.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
mod3.alarm |
||
MODBUS 4 |
|||||
Modbus 4 Name |
text |
A meaningful name for Modbus Channel 4. |
25 chars |
mod4.name |
|
Modbus 4 Settings |
text |
Settings for Modbus Channel 4. Refer to user guide. |
18 chars |
mod4.settings |
|
Modbus 4 Calibration |
text |
Calibration paramters for Modbus Channel 4. Refer to user guide. |
30 chars |
mod4.cal |
|
Modbus 4 Unit |
text |
The unit of measure associated with the calibration. Examples: Percent, L/hr, Meters |
mod4.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
mod4.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
mod4.alarm |
||
MODBUS 5 |
|||||
Modbus 5 Name |
text |
A meaningful name for Modbus Channel 5. |
25 chars |
mod5.name |
|
Modbus 5 Settings |
text |
Settings for Modbus Channel 5. Refer to user guide. |
18 chars |
mod5.settings |
|
Modbus 5 Calibration |
text |
Calibration paramters for Modbus Channel 5. Refer to user guide. |
30 chars |
mod5.cal |
|
Modbus 5 Unit |
text |
The unit of measure associated with the calibration. Examples: Percent, L/hr, Meters |
mod5.unit |
||
Warning |
text |
Warning thresholds. Refer to user guide. |
mod5.warning |
||
Alarm |
text |
Alarm thresholds. Refer to user guide. |
mod5.alarm |
||
MODBUS 6 |
|||||
Modbus 6 Settings |
text |
Settings for Modbus Channel 6. Refer to user guide. |
18 chars |
mod6.settings |
|
Modbus 6 Calibration |
text |
Calibration paramters for Modbus Channel 6. Refer to user guide. |
30 chars |
mod6.cal |
|
MODBUS 7 |
|||||
Modbus 7 Settings |
text |
Settings for Modbus Channel 7. Refer to user guide. |
18 chars |
mod7.settings |
|
Modbus 7 Calibration |
text |
Calibration paramters for Modbus Channel 7. Refer to user guide. |
30 chars |
mod7.cal |
|
MODBUS 8 |
|||||
Modbus 8 Settings |
text |
Settings for Modbus Channel 8. Refer to user guide. |
18 chars |
mod8.settings |
|
Modbus 8 Calibration |
text |
Calibration paramters for Modbus Channel 8. Refer to user guide. |
30 chars |
mod8.cal |
|
MODBUS 9 |
|||||
Modbus 9 Settings |
text |
Settings for Modbus Channel 9. Refer to user guide. |
18 chars |
mod9.settings |
|
Modbus 9 Calibration |
text |
Calibration paramters for Modbus Channel 9. Refer to user guide. |
30 chars |
mod9.cal |
|
MODBUS 10 |
|||||
Modbus 10 Settings |
text |
Settings for Modbus Channel 10. Refer to user guide. |
18 chars |
mod10.settings |
|
Modbus 10 Calibration |
text |
Calibration paramters for Modbus Channel 10. Refer to user guide. |
30 chars |
mod10.cal |