Jump to content

Component: Temperature (DS18B20) (Environmental): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(9 intermediate revisions by 2 users not shown)
Line 78: Line 78:


{{fcfile|Example_DS18B20.fcfx|Example DS18B20}}
{{fcfile|Example_DS18B20.fcfx|Example DS18B20}}




Line 83: Line 91:
==Macro reference==
==Macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===AddressNextDevice===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleAllDevices'''
| width="90%" class="mtx-class-macrohead" | '''AddressNextDevice'''
|-
|-
| colspan="2" | Performs a temperature conversion on all compatible devices. The temperature can be read using the ReadTemperature macro. Brefore calling ReadTemperature you need to use one of the Address macros. 
| colspan="2" | Scans for the next connected device with a matching family code. Goes through the device list generated by the ScanBus macro. 
|-
|-
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | WaitForCompletion
|-
|-
| colspan="2" | 0=Dont Wait, 1=Block and Wait To Complete 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 101: Line 105:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===AddressSpecificDevice===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AddressSpecificDevice'''
| width="90%" class="mtx-class-macrohead" | '''AddressSpecificDevice'''
|-
|-
| colspan="2" | Starts a temperature conversion on a specific device using a hex string identifier. SerialNumber parameter should be 12 characters and contain the 48-bit Serial. 
| colspan="2" | Starts a temperature conversion on a specific device using a hex string identifier. SerialNumber parameter should be 12 characters and contain the 48-bit Serial. 
Line 119: Line 124:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetSerialString===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetSerialString'''
| width="90%" class="mtx-class-macrohead" | '''GetSerialString'''
|-
|-
| colspan="2" | Gets the Serial String for the current addressed device. 
| colspan="2" | Gets the Serial String for the current addressed device. 
Line 132: Line 138:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetTemperature===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AddressNextDevice'''
| width="90%" class="mtx-class-macrohead" | '''GetTemperature'''
|-
|-
| colspan="2" | Scans for the next connected device with a matching family code. Goes through the device list generated by the ScanBus macro. 
| colspan="2" | Reads the temperature from the last sample on the selected device. The selected device is set using the AddressNext or AddressSpecific macros. 
|-
|-
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Initialise===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetTemperature'''
| width="90%" class="mtx-class-macrohead" | '''Initialise'''
|-
|-
| colspan="2" | Reads the temperature from the last sample on the selected device. The selected device is set using the AddressNext or AddressSpecific macros. 
| colspan="2" | Configures each matching sensor on the bus with the specified conversion bits. 
|-
|-
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SampleAddressedDevice===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleAddressedDevice'''
| width="90%" class="mtx-class-macrohead" | '''SampleAddressedDevice'''
|-
|-
| colspan="2" | Performs a temperature conversion on the current addressed device. Requires one of the Address component macros to be called. The temperature can be read using the ReadTemperature macro. 
| colspan="2" | Performs a temperature conversion on the current addressed device. Requires one of the Address component macros to be called. The temperature can be read using the ReadTemperature macro. 
Line 176: Line 185:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SampleAllDevices===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SampleAllDevices'''
|-
| colspan="2" | Performs a temperature conversion on all compatible devices. The temperature can be read using the ReadTemperature macro. Brefore calling ReadTemperature you need to use one of the Address macros. 
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
|-
| colspan="2" | Configures each matching sensor on the bus with the specified conversion bits. 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | WaitForCompletion
|-
|-
| colspan="2" | 0=Dont Wait, 1=Block and Wait To Complete 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
Line 204: Line 217:
| colspan="2" | Link to the one wire component to host the bus. 
| colspan="2" | Link to the one wire component to host the bus. 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Sensor Settings
| width="90%" class="mtx-class-propfolder" | Sensor Settings
|-
|-
|-
|-
Line 238: Line 251:
| colspan="2" | The maximum resolution steps that the temperature can be read in. 
| colspan="2" | The maximum resolution steps that the temperature can be read in. 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| width="90%" class="mtx-class-propfolder" | Simulation
|-
|-
|-
|-
Line 247: Line 260:
| colspan="2" | No - We use the panel GUI to perform the simulation. Yes - We use OneWire comms via an API to communicate with real hardware. 
| colspan="2" | No - We use the panel GUI to perform the simulation. Yes - We use OneWire comms via an API to communicate with real hardware. 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Panel Simulation
| width="90%" class="mtx-class-propfolder" | Panel Simulation
|-
|-
|-
|-

Latest revision as of 14:37, 13 July 2026

Author MatrixTSL
Version 1.0
Category Environmental


Temperature (DS18B20) component

A rugged temperature sensor allowing one or more sensors to be addressed and read. Capable of reading temperatures from -55 to +125 degrees C. Requires a One Wire component to perform the bus operations.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_Temperature_DS18B20.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_Temperature_DS18B20.fcfx

Detailed description

No detailed description exists yet for this component

Examples

This example shows how to connect the DS18B20 component to the OneWire component and either select a specific device on the bus or scan through the devices on the bus collecting the temperature readings.

The temperature and serial number is output using a UART connection as is onboard a Arduino or ESP32 device.

Example DS18B20






Macro reference

AddressNextDevice

AddressNextDevice
Scans for the next connected device with a matching family code. Goes through the device list generated by the ScanBus macro. 
- VOID Return


AddressSpecificDevice

AddressSpecificDevice
Starts a temperature conversion on a specific device using a hex string identifier. SerialNumber parameter should be 12 characters and contain the 48-bit Serial. 
- STRING SerialNumber
48-bit Serial Number e.g. "32DF4A3C1901" 
- VOID Return


GetSerialString

GetSerialString
Gets the Serial String for the current addressed device. 
- STRING Return


GetTemperature

GetTemperature
Reads the temperature from the last sample on the selected device. The selected device is set using the AddressNext or AddressSpecific macros. 
- FLOAT Return


Initialise

Initialise
Configures each matching sensor on the bus with the specified conversion bits. 
- VOID Return


SampleAddressedDevice

SampleAddressedDevice
Performs a temperature conversion on the current addressed device. Requires one of the Address component macros to be called. The temperature can be read using the ReadTemperature macro. 
- BOOL WaitForCompletion
0=Dont Wait, 1=Block and Wait To Complete 
- VOID Return


SampleAllDevices

SampleAllDevices
Performs a temperature conversion on all compatible devices. The temperature can be read using the ReadTemperature macro. Brefore calling ReadTemperature you need to use one of the Address macros. 
- BOOL WaitForCompletion
0=Dont Wait, 1=Block and Wait To Complete 
- VOID Return


Property reference

Properties
One Wire Component
Link to the one wire component to host the bus. 
Sensor Settings
CRC Checking
Allows the data to be checked before being returned. Useful if the comunication with the sensor cannot be guarenteed. GetTemperature will return 999.9 if the CRC is not a match. 
Alarm High
The high byte of the alarm range 
Alarm Low
The Low byte of the Alarm range 
Conversion Bits
The number of bits used to perform a temperature sample. Controls the conversion time and the resolution. 
Max Conversion Time
The maximum amount of time in milliseconds it will take for a sample to complete. 
Temperature Resolution
The maximum resolution steps that the temperature can be read in. 
Simulation
Simulate Comms
No - We use the panel GUI to perform the simulation. Yes - We use OneWire comms via an API to communicate with real hardware. 
Panel Simulation
Number Sensors
Sens the number of sensors we can communicate with during simulation 
Serial 0
Serial number for simulated one wire device