TS-1700: Difference between revisions
No edit summary |
No edit summary |
||
Line 167: | Line 167: | ||
{{:Modbus Peripheral Baud}} | {{:Modbus Peripheral Baud}} | ||
== 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 requirea setting specific bit in two of the TS-1700 Modbus Holding Regosters as follows: | |||
Holding Register 121/0x79 Each bit (bits 0-7) configures one of the 8 DIO connections as input or output. | |||
0: Output | |||
1: Input | |||
Bits 8-15 are reserved/unused | |||
===Accessing operational values=== | |||
Holding Register 122/0x7A Each bit (bits 0-7) when set to 1 defines this DIO connection as a 1-wire temperature sensor, regardless of the settings in register 121/0x79. | |||
In addition, setting bit 8 of this regoster 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 confirured, bit 8 is cleared and bit 9 is set in response. AT this point DIO values may be accessed in the following regoster(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 = | = Connectors = |
Revision as of 09:29, 25 July 2014
Released Feb. 2013 | |||
Product Page | |||
Documentation | |||
---|---|---|---|
Schematic | |||
Mechanical Drawing | |||
FTP Path | |||
DIO | |||
8 | |||
External Interfaces | |||
2x RJ45 Modbus | |||
Power Requirements | |||
12-24V | |||
Operates around ?? | |||
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 | Read 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
- ↑ The bits in the return value will correspond with the pin configuration at 0x121 to show which pins are configured as outputs
- ↑ 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 requirea setting specific bit in two of the TS-1700 Modbus Holding Regosters as follows:
Holding Register 121/0x79 Each bit (bits 0-7) configures one of the 8 DIO connections as input or output. 0: Output 1: Input Bits 8-15 are reserved/unused
Accessing operational values
Holding Register 122/0x7A Each bit (bits 0-7) when set to 1 defines this DIO connection as a 1-wire temperature sensor, regardless of the settings in register 121/0x79.
In addition, setting bit 8 of this regoster 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 confirured, bit 8 is cleared and bit 9 is set in response. AT this point DIO values may be accessed in the following regoster(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).
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.