Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A device that allows a large number of temperature sensors to be daisy-chained along a main branch cable. We are using these sensors throughout the system for temperature measurements that do not require the precision/accuracy/expense of a Lakeshore controller.

...

Relevant Devices

Description

Qty

Source

Part Number

Link

Sensor Controller

1

iButtonLink

LinkHub-E 32K

https://www.ibuttonlink.com/products/linkhube

Power Supplies

1

iButtonLink

HubPwr5-NA

https://www.ibuttonlink.com/products/hubpwr5-na

Sensors

Status
colourRed
titleTBC

(Likely a couple dozen of them)

Maxim Integrated

DALLAS

18B20

1441C4

+800AB

(label on devices used on ICON)

https://www.maximintegrated.com/en/products/sensors/DS18B20.html

Photos of Device

The sensors are semiconductor devices with three pins:

...

Note while we will have separate cables, the python code below does not differentiate by cable when it combines sensor IDs into a list.

...

Software Actions

Action

Notes

1

Read temperature values from all sensors

2

3

...

Required Adjustable Settings

Setting

When Needed

Notes

Build

Observing

Maintenance

Sensor location table(s)

YES

NO

MAYBE

Sensor Read Frequency

YES

NO

MAYBE

...

Device Setup Parameters

The current device settings can be listed through a telnet connection (see instructions below for changing IP address).

...

View file
nameLinkhub setup parameters.txt

...

Required Telemetry

Parameter

Report Frequency

Purpose

Notes

1

Temperature of each thermal sensor

Once per minute

Status
colourRed
titleTBC

(Set by Sensor Read Frequency value)

Monitor temperatures

2

...

Sensor Name Look-up Tables

Each sensor has a unique ID that is used by the LinkHub-E base. The IDs are not easily remembered so we’ll want a look-up table to tie the sensor IDs to a KPF sensor location.

KPF Long Name

KPF Short Name

Sensor ID

Notes

1

e.g. Exposure Meter Enclosure

e.g. 2890F1DD06000089

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

...

Required Alarms

Parameter

Threshold

Notes

1

Temperature too high
(one alarm per sensor)

TBC

2

Temperature too low (TBC)
(one alarm per sensor)

TBC

...

Relevant Datasheets & Manuals

Description

File

Source

1

LinkHubE User Guide

View file
nameLinkHub-E_Users_Guide.pdf

https://www.mfe24.com/download/LinkHub-E_Users_Guide.pdf

2

LINK Family Manual

View file
nameThe_LINK_Family_Manual_1.7.pdf

https://cdn.shopify.com/s/files/1/0164/3524/files/The_LINK_Family_Manual_1.7.pdf?7145028656254187831

3

Command Reference

View file
nameLinkFamily_CommandSheet.pdf

4

Sensor Datasheet

Sensor was originally developed by Dallas Semiconductor but they are now owned by Maxim Integrated

View file
nameDS18B20.pdf

https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

...

Relevant Software

Description

File

Source

LinkHub_E_python.py is the main program.

LinkHub_E_commands.py contains functions called by the main program.

This code finds all of the sensors connected to the LinkHub E, and then reads their values.

Note first reading might report all temperatures as ‘85’; this seems to be a consequence of the first read to find sensor IDs.

The sensor IDs and values are read into a list format.

Note this software does not differentiate between the 4 possible cables connected to the base unit; all sensors from all cables are added together into the same list.

View file
nameLinkHub_E_python.py

View file
nameLinkHub_E_commands.py

Python code originally written by Y. Ishikawa (SSL).

Simplified by S. Gibson to remove sections not relevant to KPF.

...

Installation Instructions

Description

File

Instructions on how to change the device’s IP address over Telnet

View file
nameLinkHub-E Change IP Address details.pptx

...

Dispatcher Implementation

...

There are an arbitrary number of sensors for the unit. The names, denoted as $(NAME), are stored in the configuration file, as are the ID or address values. Readout is done in serial for the device, and done in the order of appearance in the configuration file. The “#” denotes the dispatcher number. Currently that is 4 for the kpfmet service but if dispatcher is moved or the service rearranged, this could change.

Keyword

Value

Type

$(NAME)

Temperature in deg C

Double - read only

$(NAME)_ID

ID value

String - read only

LINKSTA

0 - Done

1 - Reading

When Reading, the temperature values are being retrieved and the values will appear in the keywords

Enumerated - read only

CONN#

0 - Off

1 - On

The connection keyword which turns on or off the connection to the device

Enumerated

MODEL#

Model of the hub, value of the command ' '.

String - read only

LINK_IP

IP Address from configuration file

String - read only

LINK_PORT

Port for device from configuration file

String - read only

String

DISP#CLK

Number of whole seconds dispatcher has been alive

Integer - read only

DISP#ERR

Error value

Integer - read only

DISP#MSG

Message from the dispatcher

String - read only

DISP#REQ

Last keyword requested to be modified, written before modify is sent.

String - read only

DISP#MEM

Memory used by dispatcher in kB

Integer - read only

DISP#STA

Status of the dispatcher

0 - Ready - working

1 - Initializing - only true during start up

2 - Shutting down - A control-C or the stop command has been issued

3 - Connecting - Attempting to connect to the device

4 - Not Connected - No connection to the device

Enumerated - read only

DISP#STOP

Stop command which ends the dispatcher.

0 - Continue

1 - Stop

Enumerated

DISP#VER

A version number

DISP#CONN

IP address and port number separated by a colon.

String - read only

DISP#DEV

Device name

String - read only

...

Configuration File

The required sections are:

  1. device which has the first four configuration keyword value pairs

  2. dispatcher which has the dispnum value

  3. [0], [1], [2], … [number-1] - A section for each sensor, starting from 0, and the total number must match the value of the number configuration. Extra sections are ok, but if any are missing the dispatcher will throw an error message and exit.

Configuration

Value

Explanation

ip_address

192.168.23.184

IP address of device

port

10001

Port for telnet connection to device

number

31

The number of active sensors

poll_time

60

The time between requests for temperature measurements

dispnum

4

Number of the dispatcher in the service

name

temp0

The human readable name requested for a temperature value, will set the keyword name

id

2890F1DD06000089

The ID value for the temperature measuring device on the hub. This is what will be referenced.

Note- This is the reverse of the order that the ID number is returned when querying the device. There is a swap of byte order and this is the ID that must be used for a lookup