TS-1700

From embeddedTS Manuals
Revision as of 16:39, 17 January 2022 by Lionel (talk | contribs) (Links auto-updated for 2022 re-branding ( https://files.embeddedarm.com/ →‎ https://files.embeddedTS.com/))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
TS-1700
TS-1700-2.jpg
Released Feb. 2013
Product Page Deactivated
Documentation
Schematic Unavailable
Mechanical Drawing Unavailable
FTP Path
DIO
8
External Interfaces
2x RJ45 Modbus
Power Requirements
12-24V
Operates around 3 mA idle
Operating Temperature
Cold -40C
Hot 85C
Mechanical
140mm x 102mm
Height 35mm (approx without baseboard)
Weight 167

Overview

The TS-1700 is a Modbus peripheral device that provides a combination of up to 8 connections, consisting of a mix of DIO and 1-wire temperature sensors.

Getting Started

Power Requirements

The TS-1700 will operate within a range of 10-28 VDC on either Modbus port. Power supplied on the Modbus port is passed along the bus as an active power rail on the other Modbus port. Do not apply power to both Modbus ports.

Features

TS Modbus Support

When using all Technologic Systems Modbus devices we include functionality to create an arbitrary chain of stock peripherals to automatically enumerate all connected devices, configure them, and generate an I/O map of all connected devices.

TS Modbus Autoconfiguration

The autoconfiguration works by using the optional mode pin on the RJ45 connector as designated in the MODBUS-2W standard. Technologic Systems uses this to indicate if it is a TS device. If it is asserted (low) to a TS device, then it will allow access to the #Holding Registers at address 0xf7.

This will identify the TS Modbus device model, set the first device in the chain to the user specified slave address (default is 0x10), and assert the mode line to the next port to enumerate the next device. The next device address is incremented by 1, and the process is repeated until no slave responds to a read query (timeout)indicats that no additional devices are connected to the bus chain. At this point the last device in the chain is configured to enable bus termination on the RS485 link, and all devices have their bit rates set to the user selected bit rate (default is 9600).

This will identify the TS Modbus device model and revision, set the first device in the chain to 0x80, and then asserts the mode line to the next port to enumerate the next device. The next device address is set to 0x81, and they continue to increment 1 until no slave responds to the mode line indicating that all salve devices have been discovered. At this point the last device in the chain is configured to enable termination on the RS485 link, and all devices have their speed bumped up to 1M baud.

One-Wire Temperature Sensors

The TS-1700 supports any temperature sensor using the Maxim DS18B20 IC.

Maxim DS18B20 Specifications
Temperature Range -55C to 125C
Resolution 0.0625 degrees
Update Rate 750ms
Accuracy Maximum error 0.5 degree from -10C to 85C. The maximum is 2 degrees for the full -55C to 125C.
Maximum Sensor Cable Length Greater than 350 feet

Register Interface

Holding Registers

The interface to all Modbus peripheral devices consists of a set of 127 holding registers. These registers are used to configure the device operation, read and write input output parameters, as well as various settings used to configurable Modbus Address, Termination enable, Data Format, and Bit Rate. These settings are common to all of our Modbus peripherals and can be persisted in on-board flash memory.

NOTE: The device operates ONLY in Modbus RTU communications mode. Modbus ASCII is not presently supported.

Address (hex) Address (dec) Access Description Example Values
0x70 112 Read/Write Modbus Mode 0 = ASCII (unimplemented), 1 = RTU
0x71 113 Read/Write RS485 Bus Termination Enable 0 = Termination disabled, 1 = Termination enabled
0x72 114 Read/Write Modbus Device Address 0-247 (0x00-0xf7) 0 = Broadcast
0x73 115 Read/Write Modbus bit rate Bit Rate
0x74 116 Read Only Unit Model e.g., 0x1400, 0x1700, 0x1800, etc
0x75 117 Read Only Verilog Version e.g., 1
0x76 118 Read Only ZPU Version e.g., 1
0x77 119 Read Only Bus power Supply in millivolts e.g., 23600
0x78 120 Read Only Internal Temperature in 1/100th degree Celsius e.g., 290
0x79 121 Read/Write Reserved or model specific Not applicable or model specific
0x7a 122 Read/Write Reserved or model specific Not applicable or model specific
0x7b 123 Read/Write Reserved or model specific Not applicable or model specific
0x7c 124 Read/Write Reserved or model specific Not applicable or model specific
0x7d 125 Read/Write Write listed value to persist communications (Bit rate, Data format, Address, and Termination) parameters to internal nonvolatile storage: 0xFEED = Persist configuration, 0xDEAD = Erase configuration, 0xC0DE apply configuration without persistence. In all cases the value is set to zero when completed or 0xFA17 (FAIL) if error.
0x7e 126 Read/Write Reserved or model specific Not applicable or model specific

NOTE: All Read Only registers may be written; however, writing to certain registers (e.g., Unit Model) will overwrite the information that will not be refreshed until the unit is reset.


Operating (holding) Registers

Address (hex) Address (dec) Access Description
0x0 0 Read Only Port 0 1-wire temperature data [1]
0x1 1 Read Only Port 1 1-wire temperature data [1]
0x2 2 Read Only Port 2 1-wire temperature data [1]
0x3 3 Read Only Port 3 1-wire temperature data [1]
0x4 4 Read Only Port 4 1-wire temperature data [1]
0x5 5 Read Only Port 5 1-wire temperature data [1]
0x6 6 Read Only Port 6 1-wire temperature data [1]
0x7 7 Read Only Port 7 1-wire temperature data [1]
0x8 8 Read Only DIO Input data [2]
0x9 9 Write Only DIO Output pins [3]
0x0a 10 Read Only 4 button inputs (unimplemented) [4]
0x77 119 Read Only Bus supply voltage in millivolts
0x78 120 Read Only Device temperature in 1/100th degrees Celsius
0x79 121 Read/Write Each bit (bits 0-7) configures one of the 8 DIO bits as Input (1) or Output (0). Bits 8-15 are reserved/unused This data is utilized when setting DIO configuration
0x7a 122 Read/Write Each bit (bits 0-7) when set to 1 defines this DIO bit/pin as a 1-wire temperature sensor. Bits 8 and 9 are used for configuration. Setting bit 8 when writing this word informs the device to configure DIO. When successful, bit 8 is cleared and bit 9 is set. This data is utilized when setting the persistent Legacy mode and bit 8 has not been set.
0x7b 123 Read/Write Reserved
  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 The temperature is read in 1/100th degrees Celsius. The temperature is only readable when the sensor is connected and the DIO port is configured to read from the sensor (0x7a).
  2. The input values are reflected in each bit for the DIO that are configured as inputs. DIO not configured as an input will be 0
  3. This register sets the value of the output pin (vin/gnd).
  4. Bits 0-3 of the return value correspond with the 4x optional membrane buttons on the outside of the case. The return value is already debounced, and will indicate with a 1 if the button is pressed.

Communications Bit Rate

The TS-1700 supports 15 speeds:

Value Communication Bit Rate Maximum CAT5 Cable Length
0 300 1200 meters
1 600 1200 meters
2 1200 1200 meters
3 2400 1200 meters
4 4800 1200 meters
5 9600 1200 meters
6 19.2K 1200 meters
7 38.4K 1200 meters
8 57.6K 1200 meters
9 115.2K 800 meters
10 230.4K [1] 400 meters
11 460.8K [1] 200 meters
12 1040K [1] 100 meters
13 2080K [1] 40 meters
14 4160K [1] 20 meters
  1. 1.0 1.1 1.2 1.3 1.4 On Linux systems, stting these bit rates requires code using ioctl() with the TCGETS2 and TCSETS2 parameters.

Configuring TS-1700 Operation

Configuring Operation

The TS-1700 exposes 8 DIO connections, each exclusively settable to Input, Output, or 1-wire temperature sensor. Configuration requires setting Modbus Holding Register 0x79 bits 0:7 (for ports 1-8) as 0 for output or 1 for input. This register setting is overridden by Modbus Holding Register 122/0x7A (bits 0:7), which defines a port as either I/O (bit value 0), or Dallas 1-Wire Temperature Sensor (bit value 1).

Accessing operational values

In addition, setting bit 8 of this register causes the internal software to configure the unit. This configuration may be performs only once after power up or reset. Once the unit has been configured, bit 8 is cleared and bit 9 is set in response. AT this point DIO values may be accessed in the following register(s).

Holding Registers 0-7 contains the temperature as a 16-bit signed value in 1/100th degrees Celsius from the sensor connected to the connection, iF configured as a temperature sensor; otherwise unused.

Holding Register 8 bits 0-7 bits will reflect the state of the corresponding pin (0 or 1) for those pins configured as either input or output. Bits configured as temperature sensors are set to zero.

Holding Register 9 bits 0-7 will be reflected to the corresponding output pins for those bits that are configured as outputs. Bits not configured as outputs are unused (don’t cares). A bit set to logic 1 will set the associated DIO pin, which is asserted as active low with a 500 mA sink capacity.

Connectors

2x RJ45

Both RJ45 ports, and all o/f our Modbus based devices are designed to be compatible with 2W-MODBUS RJ45 following this pinout:

ModbusRJ45.png

16 Pin Terminal Block

The terminal block is a removable connector that includes 5V digital I/O. Every '+' pin is configurable using the Modbus registers, and each pin labelled '-' is connected to ground.

TS-1700-IO.jpg

Product Notes

Modbus Linux Utility Programs

Modbus Linux register access program: mbpeekpoke

root@ts4700:/home/zpu# ./mbpeekpoke -?

Usage: mbpeekpoke -switch parameter [OPTIOSN] ...
Download and start a ZPU program.  Optionally persist the code
Default parameter values in [brackets]
  -?                     This help screen
  -b  bit_rate           Bit rate [9600]
                         300, 600, 1200, 2400, 4800, 9600, 19200
                         38400, 57600, 115200, 1000000, 4000000
  -c  connection         IP:Port IP address:port [127.0.0.1:7350]
                         Serial port [/dev/ttySP2]
  -D                     Device to access: [C]oil, [R]egister, [I]nput, [P]acket
  -d                     Display packet debugging information [Off]
  -f                     Register display output format:
                         'X' hex, 'S' signed decimal 'U' unsigned decimal [Hex]
  -h                     This help screen
  -n  number_of_items    number of items to read [1]
  -m  Board model #      7670 with serial [any other using TCP socket connection]
  -r  address            Read: Device @ specified address
  -s  slave_address      hexadecimal 00-f8; 00 is broadcast [0xf7]
  -v  data               value to write
  -V                     Verbose mode - display additional debug information
  -w  address            Write: Device @ specified address
 The (-w) write option requires a single (-v) variable
 The (-r) read option can read a number of items with the (-n) switch
 Both the -w & -r options may be used on the same or different addresses
 however, they must both use the same device (-D) and the write is performed first

Modbus Linux register access program for TS-7670: mbpeekpoke7670

root@ts4700:/home/zpu# ./mbpeekpoke7670 -?

Usage: mbpeekpoke7670 -switch parameter [OPTIOSN] ...
Default parameter values in [brackets]
  -?                     This help screen
  -b  bit_rate           Bit rate [9600]
                         300, 600, 1200, 2400, 4800, 9600, 19200
                         38400, 57600, 115200, 1000000, 4000000
  -h                     This help screen
  -n  number_of_items    number of items to read [1]
  -r  address            Read: Register @ specified hex address
  -s  slave_address      hexadecimal 00-f7; 00 is broadcast [0xf7]
  -u                     Use USB connection
  -v  data               value to write
  -w  address            Write: Register @ specified address
 The (-w) write option requires a single (-v) variable
 The (-r) read option can read a number of items with the (-n) switch


These programs are used to perform accesses to the Modbus devices register set. It allows the writing of arbitrary hex data to any hex register address one at a time and the reading of blocks of arbitrary data from any hex register addres displayed in hex, signed, or unsigned decimal.


Modbus Linux device configuration program: mb_config

root@ts4700:/home/zpu# ./mb_config -?

Usage: mb_config -switch paramater [OPTIOSN] ...
Configure a Modbus device for legacy mode by setting operational parameters
Default parameter values in [brackets]
  -?                     This help screen
  -b  bit_rate           Bit rate [9600]
                         300, 600, 1200, 2400, 4800, 9600, 19200
                         38400, 57600, 115200, 230400, 460800
                         1040000, 2080000, 4160000
  -C  Configuration      Model 1700: 8 character field starting @ DIO bit 7 thru 0
                         Use single letters 'T' Temperature; 'I' Input: 'O' Output
                         All Other model: Not required
  -c  connection IP:Port IP address:port [127.0.0.1:7350]
  -d                     Display packet debugging information [Off]
  -f  format (data)      Data format: 8N1, 8N2, 8E1, 8O1, [8N1]
  -h                     This help screen
  -i                     Display I/O accesses
  -I                     Inhibit actual writing
  -m  Board model #      7670 with serial [any other using TCP socket connection]
  -n                     Noninteractive mode [off]
  -p                     Display progress messages [Off]
  -s  slave_address      hexadecimal 00-f6; 00 is broadcast [0x10]
  -t  termination        Terminstion on / off [off]
  -v                     verboce output mode
  DIO Configration for Model TS-1700
root@ts4700:/home/zpu#

This program is used to perform configuration of a Modbus device. On older modbuc devices these settings (Slave address, Communications bit rate and data format, termination) would have been performed via DIP switches. This configuration information is stored in non-volatile memory on the device.


The primary difference in usage of these utilities depends on the hosting platform.

On SBC products using the XUART communications devices, the -c switch and parameter does not need to be specified, since the default communications port is correct.

On the TS-7670 with a standard UART communications device, the '-m 7670' switch should be specified. This allows the proper hardware setting for the RS-485 port to be utilized.

On SBC products with a host USB port for communications, the -c switch should be specified and paramater should be the USB to Serial communication device, which is generally '/dev/ttyACM0'. The '-s f6' switch and parameter is required since the unit operates at a different slave address when operating via USB. The bit rate does not need to be specified, since the USB port will operate at the fastest rate possible (up to approximately 1000000 bps).

Modbus Windows Utility Programs

Modbus Windows register access program: ModbusDeviceAccess


TsModbusAccess.PNG


These programs are used to perform accesses to the Modbus devices register set. It allows the writing of arbitrary hex data to any hex register address one at a time and the reading of blocks of arbitrary data from any hex register addres displayed in hex, signed, or unsigned decimal.

  • Use of this utility requires the following steps:
    • 1. Select the COM port from the drop down box
    • 2. Select the bit rate from the drop down box
    • 3. Select the correct data format (8N1 is default)
    • 4. Enter the connected device slave address after selecting the format (Hex or Decimal)
    • NOTICE:The coil functionality is currently not functional in Windows
    • 5. Select the resource type (Regoster, Input, or Coil)
    • 6a. Set the resoucw index (e.g., Register number) and count for reading
    • 6b. Set the resoucw index (e.g., Register number) and value for writing
    • 7. Click the appropriate button to read or write the device


Modbus Windows device configuration program: ModbusDeviceConfigure

TsModbusConfigure.PNG

This program is used to perform configuration of a Technologic Systems Modbus device. On older Modbuc devices these settings (Slave address, Communications bit rate and data format, termination) would have been performed via DIP switches. This configuration information is stored in non-volatile memory on the device. This utility is designed to operate on devices confired as factory degault, 9600, N81, address 0cf7. Windows USB connections are not currently supported, so the devie should be connected via a TS-142 ISB to Serial Modbus adapter is required.

  • Use of this utility requires the following steps:
    • 1. Select the COM port from the drop down box
    • NOTICE:The USB functionality is currently not operational on Windows
    • 2. Select the COM port type (USB or Serial)
    • 3. Click Identify
    • The model willl appear at the top of the page
    • 4. Select the Data Format, Slave Address, Bit Rate, and Termination
    • 5. Click Configure

FCC Advisory

This equipment generates, uses, and can radiate radio frequency energy and if not installed and used properly (that is, in strict accordance with the manufacturer's instructions), may cause interference to radio and television reception. It has been type tested and found to comply with the limits for a Class A digital device in accordance with the specifications in Part 15 of FCC Rules, which are designed to provide reasonable protection against such interference when operated in a commercial environment. Operation of this equipment in a residential area is likely to cause interference, in which case the owner will be required to correct the interference at his own expense.

If this equipment does cause interference, which can be determined by turning the unit on and off, the user is encouraged to try the following measures to correct the interference:

Reorient the receiving antenna. Relocate the unit with respect to the receiver. Plug the unit into a different outlet so that the unit and receiver are on different branch circuits. Ensure that mounting screws and connector attachment screws are tightly secured. Ensure that good quality, shielded, and grounded cables are used for all data communications. If necessary, the user should consult the dealer or an experienced radio/television technician for additional suggestions. The following booklets prepared by the Federal Communications Commission (FCC) may also prove helpful:

How to Identify and Resolve Radio-TV Interference Problems (Stock No. 004-000-000345-4) Interface Handbook (Stock No. 004-000-004505-7) These booklets may be purchased from the Superintendent of Documents, U.S. Government Printing Office, Washington, DC 20402.

Limited Warranty

See our Terms and Conditions for more details.