TS-1700
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 | |||
| |||
| |||
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.
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.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).
- ↑ 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
- ↑ This register sets the value of the output pin (vin/gnd).
- ↑ 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 |
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:
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.
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
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
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.