MaxSSD Configuration & Diagnostics Utility Overview
The Sealevel Systems configuration utility, MaxSSD, is designed to simplify the installation, configuration, and diagnostics of Sealevel I/O modules. MaxSSD is a Microsoft Windows application and has been tested with Windows 7, 8.1, and 10.
MaxSSD is included in the SeaMAX for Windows and the SeaMAX for Linux software suites.
Host PC Configuration Tab
When you run the MaxSSD utility (Start > All Programs > Sealevel Systems > SeaMAX > MaxSSD Configuration Utility) it will default to the “Host PC Configuration” tab. This tab allows the user to choose the initial communication settings for the connected I/O device. The “COM Port” dropdown box allows the selection of a serial COM port (from COM1 to COM256), and Ethernet (for Ethernet and Wireless SeaI/O modules).
USB connected SeaI/O modules are installed as virtual COM ports.
Once a COM port is selected, the baud rate and parity can be selected.
The baud rate and parity of the PC must match the settings of the Sealevel I/O module to be configured. The factory default settings for all Seallevel I/O modules are 9600 baud and no parity.
To communicate with a SeaI/O Ethernet or Wireless module, select “ETHERNET” from the “COM Port” dropdown box. When Ethernet is selected, MaxSSD searches for any SeaI/O Ethernet or Wireless modules on the network and displays their IP addresses in the “Available Ethernet Devices” list box (not shown). When an IP address is selected from the list box, a socket is opened to the SeaI/O module, and it is ready for communication.
If your module is set to a different subnet, you will need to type in the IP address into the IP Address field displayed in MaxSSD and press Enter. MaxSSD will try to open port 502 on that address. When the connection succeeds, it will display the “SeaIO Configuration” tab.
SeaI/O Configuration Tab
Once the host computer is configured correctly, the “SeaI/O Configuration” tab becomes available. Before communicating with a SeaI/O module, the configuration utility must determine if there is an I/O module at that slave ID address, and if so, what type of module it is. This is the purpose of the Get
operation.
To perform a Get
operation, first select the slave ID to which the module is configured. SeaI/O modules are shipped at hardware setting 0 (labeled “ADDR” on the left side of the module) and slave ID 247 by default. All other slave ID addresses (from 1 to 246) are available. However, each daisy chained SeaI/O module must have a unique slave ID address – no duplicates are allowed.
Once a slave ID is selected, click the “Get SeaI/O Module Settings” button. After a short delay, the information for that I/O module should be displayed. If no information appears, verify the slave ID, host settings, and baud rates are correct and make changes, if necessary. Check the hardware settings (on the left side of the module) and try again.
After the Get
command is executed, the “Module Description” frame will display the model type, description, firmware version number, interface, and I/O type. In the example shown, the module found at slave ID 247 is a SeaI/O-410 module with a USB (Modbus RTU) interface. The “Set Settings” and “Change Slave ID” buttons will also be enabled for this module.
After a successful Get
operation, additional tabs may be displayed in MaxSSD, depending on the found device model. These tabs display device I/O and allow easy configurations for all SeaMAX supported devices.
The “Broadcast to Multiple Modules” checkbox, along with the “Set Settings” button can be used to change the baud rate and parity on multiple SeaI/O modules at once. This function only works with SeaI/O modules connected together via the pass-through connectors.
MaxSSD broadcasts a set data rate and set parity command to all devices on the RS-485 bus, but only those modules listening at the current baud rate will be able to receive and respond. For example, if you have five SeaI/O modules chained together and two are set to 9600 bps and no parity and three are set to 115.2k bps and the PC is set to 9600 bps, only the two modules set to 9600 bps will receive the broadcast set data rate and parity message.
“Broadcast to Multiple Modules” is also used to change the baud rate and/or parity when only a single module is connected (I.E, nothing connected to pass-through connectors).
Ethernet (E-series) and Wireless (W-series) modules
The broadcast feature sets the Ethernet SeaI/O (E-series) module’s TCP/IP to RS-485 translation data rate independently of the SeaI/O module itself. If you set the data rate to 115.2K bps via a MaxSSD broadcast command, both the RS-485 port and the Ethernet port will respond thereafter to 115.2K bps, as expected. However, if you reset the SeaI/O module, by rotating the rotary switch clockwise one complete revolution, the RS-485 port will reset to 9600 bps and no parity, but the Ethernet port will remain unaffected. To restore communications, broadcast another set data rate and parity command (9600 and no parity) via MaxSSD.Digital I/O Tab
Digital I/O Tab
The “Digital IO” tab of MaxSSD is displayed when using Sealevel I/O devices featuring discrete inputs and outputs. It displays the device’s current input and/or output status in an intuitive and usable manner.
When displaying SeaI/O, the “Digital IO” tab displays inputs and outputs in groupings (or banks) of eight. Therefore, a Sealevel I/O device with 16 inputs and 8 outputs would show two banks of inputs and one bank of outputs.
When banks of inputs are displayed, the status LEDs update on each of the banks automatically. This allows you to actively monitor external signals.
With a bank of outputs, the output coils can be set using the buttons below each output LED. As each coil is set, the I/O module is read. The corresponding status LED in the “Digital IO” tab indicates the state of the coil. In the example below, a SeaI/O module with 16 Reed relays is shown.
Analog Inputs
The “A/D Inputs” tab displays the current state of the analog-to-digital channels for Sealevel I/O devices that feature A/D inputs. Settings are provided for both device-wide and per-channel configuration.
The “Device Configuration” selection drop-box adjusts the arrangement and function of the A/D input channels. Input channels are displayed as banks (groups of eight). Each channel is range configurable via the voltage range dropdown list. Both the channel voltage range and device-wide configuration are set on a dropdown list. There is no need to save your settings – they are automatically saved to the device as you select the various configuration options.
“10x Hardware Gain Enabled” checkbox – Indicates whether or not the onboard hardware gain jumper is currently set. This option is not user configurable – it only reflects the status of the onboard hardware jumper settings. Set the hardware jumper to enable this functionality, which allows smaller voltages to be measured more accurately (e.g., a 0-1V input signal can be measured more accurately by enabling the 10x hardware gain jumper and setting the SeaI/O-470 A/D input channel for 0-10V range).
“Show Hexadecimal Values” checkbox – Displays the values returned by the A/D converter as a hexadecimal value without converting the values to engineering units (i.e., Amps or Volts).
Analog Outputs
The “D/A Outputs” tab is useful for manually setting the digital to analog output voltages on applicable Sealevel I/O devices with D/A channels. A preliminary diagnostics utility (see following page) has been provided to verify proper hardware functionality.
The D/A outputs of the SeaI/O-470 are factory set for 0-10V. To configure the D/A outputs for 0-5V, you will need to open the enclosure and set the correct jumpers. Refer to the Hardware Configuration section of this manual for instructions on opening the enclosure and accessing the correct jumpers.
To adjust a particular channel’s output voltage, drag the slider until the desired voltage is displayed in the window on the right side. Also, you may type the desired voltage directly into the voltage display and then confirm your entry by pressing the ‘Enter’ key on your keyboard.
The output voltage will not change until the ‘Enter’ key is pressed or you have clicked on the window anywhere outside of the text entry field.
A/D & D/A Diagnostics
To check basic functionality of both the A/D and D/A converters, press the “Diagnostics Utility” button on the “D/A Outputs” tab (shown on the previous page) and then press the “Start” button, as shown below. Any errors will be shown in the “Results” pane. If any errors occur, please contact technical support for further help.
Converting A/D & D/A Values
To properly use the values returned from the SeaI/O module’s A/D channels, the application program must convert the returned values to engineering units (voltage). Likewise, the application program must output the correct value to the I/O module’s D/A outputs to generate the desired voltage.
The conversion formulas will vary depending on how the I/O module is configured. The formulas and their uses are covered in detail in the interactive documentation located on the Sealevel website at https://www.sealevel.com/seamax-api-documentation/. For ease of use, SeaMAX functions to convert A/D and D/A values have been provided. Use of these functions is also detailed in the SeaMAX API Documentation.
Programmable I/O
Additionally, programmable I/O modules (Such as the 462, 463, 8126, and 160e) modules have their own tab specific to them. Below is an example using a 463U unit.
Advanced Feature Capability
The initial version of the firmware does not support theses Advanced Features. These units will report their version number as “1”. Starting with version “2” support for these Advanced Features was implemented. You may determine the version of your SeaI/O device using the MODBUS command FUNC_SEAMAX_GET_EXTENDED_INFO (0x66), or by viewing the device info in MaxSSD, shown below.
Module Firmware Upgrading
This section describes the process for upgrading the firmware of the expansion SeaI/O modules. The Wireless modules contain an additional wireless networking engine that may be updated as well. See Configuring a Wireless Module | Device section above for directions on upgrading the Wireless engine subsystem of Wireless modules.
If a newer version of expansion module firmware is available, it is possible to upgrade the firmware in the unit. This can be done through the same port that is used to do normal communications with the unit. The exception is when the unit is used with a wireless connection. In this case, the unit must be directly connected to the programming computer.
Since there is required interaction between the programming PC and the SeaI/O module being programmed, this must be done in a situation where only one SeaI/O module is connected to the programming computer.
Once you have the new programming file – this will be a file with a name similar to your SeaI/O model number with an extension of “.hex.” As an example, it you have a SeaI/O 420 style module, the programming file name would be “420E.hex”.
When you are provided the file to be programmed, you will also receive the programming program. The name of this program is SeaIOCU.exe.
Procedure
Since SeaI/OCU.exe must be executed from a command prompt, the easiest way to use it is to copy SeaI/OCU.exe and the hex file (in this example it is 420E.hex) to a subdirectory you create. For this example, we will create a subdirectory called c:\SeaIOcu.
Click on Start, then click Run and type “cmd” (without the quotation marks and hit enter. You will then see a command prompt (c:\documents and settings\name>).
Type
Cd \SeaIOcu and then press Enter
At this point, we assume the SeaI/O 420 unit is set for 9600 baud and address 247 (the default if the rotary switch is in position 0).
If you are connected either through a RS-232, RS-485, or USB connection then when the command calls for nnn, you substitute your com port number. Note that it MUST be 3 digits. Therefore, if your com port is com5, you will enter 005. The command for this is therefore:
SeaIOcu /c=005 /b=9600 /a=247 420e.hex
If you are connected through an Ethernet connection then when the command calls for iii.iii.iii.iii you substitute the unit’s IP address. Note that each group of numbers MUST be 3 digits. Therefore, if your IP address is 192.168.42.11, you will enter 192.168.042.011. The command for this is therefore:
SeaIOcu /i=192.168.042.011 /a=247 420e.hex
The first thing the SeaI/O unit will do is to erase all of its flash memory (with the exception of a small loader for the firmware). It will then start flashing all three lights rapidly indicating it requires downloading. Once the download starts, one light will flash as data is downloaded. Once the download is complete, the green light will remain on. At this point, simply unplug power to the unit and when power is re-applied, you should be operational with the new software.
In the event something about the download failed, the red light should stay on. In this case, simply power down the unit and power it back up. It should now be flashing all three lights rapidly. Simply perform the SeaIOcu command as described above.
The above should only be performed if you (1) really feel the update is required and (2) you feel confident in your ability to perform the update. Once the firmware has been erased, you must either be able to re-program it locally or send it back to Sealevel Systems, Inc. for reprogramming.
Disabling the Rotary Address Switch & Limit Software Address Range Selection
Disabling the Rotary Address Switch and Limiting Software Address Range Selection is not available on older SeaI/O units (Before Firmware Version 2). In addition, the following modules do not support it: 462, 463, 470.
As noted earlier, rotating the rotary switch from a non-zero address to the address zero position will reset the unit to the default state of address 247 and 9600 baud. There are many situations where this is not desirable. In the event you wish to disable the rotary switch or simply limit the range of software selectable addresses that may be set, you can do so by sending the “WriteMultipleRegisters (function 0x16)” MODBUS command to the unit. Address 300 (decimal) should contain the low order byte of the lowest address the unit will accept. Address 301 will contain the high order byte. Once this command has been issued, the rotary switch will be completely ignored by the firmware.
To reset the unit to “normal” operation, you can issue the MODBUS “Broadcast Reset Message (function 0x19).
This setting can also be configured through MaxSSD under the “Range Configuration” tab, shown below on the next page.
Limiting Expansion Port Communications Data Rate Selection
Limiting Expansion Port Communications Data Rate Selection is not available on older SeaI/O units (Before Firmware Version 2). In addition, the following modules do not support it: 462, 463, 470.
There are situations where it is desirable to limit the range of allowable data rates or lock down the unit to one specific data rate. This can be performed by sending the “WriteMultipleRegisters (function 0x16)” MODBUS command to the unit. Address 302 (decimal) should contain the low order byte of the lower data rate the unit will accept. Address 303 will contain the high order byte. Note that this command does not cause the rotary switch to be ignored. Therefore, the rotary switch can be used to reset the defaults range and set the data rate back to 9600. If this is not desirable, then you can either set the data rate limitation and then set the address range to prevent the rotary switch from resetting to defaults or you can write to locations 300 through 303 in one “WriteMultipleRegisters” command.
To reset the unit to “normal” operation, you can issue the MODBUS “Reset Range Settings” (function 0x19).
This setting can also be configured through MaxSSD under the “Advanced” tab, shown below.