Owner's manual
Table Of Contents
- Table of Contents
- Introduction
- SeaI/O Hardware Description
- SeaI/O Base and Expansion Modules
- SeaI/O Module Common Features
- SeaI/O Configurations & Specifications
- 410 Series – 16 Optically Isolated Inputs/16 Reed Relay Outputs
- 420 Series – 16 Optically Isolated Inputs/8 Form C Outputs
- 430 Series – 32 Optically Isolated Inputs
- 440 Series – 32 Reed Relay Outputs
- 450 Series – 16 Form C Relay Outputs
- 462 Series – 96 Channel TTL DB-78
- 463 Series – 96 Channel TTL 50-Pin
- 470 Series – 16 A/D, 2 D/A, 8 24V Outputs, 8 Isolated Inputs
- 520 Series – 8 Optically Isolated Inputs/8 High-Current Form C Outputs
- Power Options
- Hardware Configuration
- Wiring Options
- Mounting Options
- Accessories
- SeaMAX Application Suite
- SeaI/O Architecture
- Device Address Configuration
- Configuring the “Base” SeaI/O Module
- Configuring N-Series Expansion Modules
- Configuring an Ethernet Module (E-Series)
- MaxSSD Configuration & Diagnostics Utility
- Communicating Via Modbus
- Extended Modbus Command Set
- Developing Custom Applications Using SeaMAX API
- SeaMAX API
- Non Object-Oriented SeaMAX API
- IOCTL Calls and Functionality
- Using SeaMAX with Visual C++ 6.0
- Using SeaMAX with Visual Basic 6.0
- Example SeaMAX Programming Tasks
- CEthernet API
- Appendix A – Data Encoding Tables
- Appendix B – CRC Calculation
- Appendix C – SeaIO Model 462/463 Holding Register Set
- Appendix D – SeaMAX Data Types and Structures
- Appendix E – Troubleshooting
- Appendix F – How To Get Assistance
- Appendix G – Compliance Notices
- Warranty

© Sealevel Systems, Inc.
- 86 -
SeaI/O User Manual
Configuring A/D or D/A Channels
In order to read the A/D channels properly, it is often necessary to first configure
them to be within the proper voltage ranges. The following VC++ example shows
how to get the current device configuration via an Ioctl call, adjust the channel and
device settings, and then commit those changes back to the SeaIO module.
adda_ext_config extended_configuration;
result = cw32.Ioctl(slaveId, IOCTL_GET_ADDA_EXT_CONFIG,
&extended_configuration);
configuration.device.reference_offset = ANALOG_OFFSET;
configuration.device.channel_mode = SINGLE_ENDED;
configuration.channels.ch_1 = PLS_MIN_TEN;
result = cw32.Ioctl(slaveId, IOCTL_SET_ADDA_CONFIG, &configuration);
In the example above, the device was set to measure the analog inputs as 16 single-
ended inputs and the first channel was configured to be within the plus or minus 10
Volt range. In the Visual Basic example below, however, the device has been
configured to read the analog inputs in current loop mode and channel 1 has been
configured to the zero to five Volt range.
Dim configuration As adda_config
returnValue = SeaMaxW32Ioctl(seaMaxPointer, slaveId,
IOCTL_GET_ADDA_CONFIG, configuration)
configuration.device.reference_offset = ANALOG_OFFSET
configuration.device.channel_mode = SINGLE_ENDED
configuration.channels.ch_1 = PLS_MIN_TEN
returnValue = SeaMaxW32Ioctl(seaMaxPointer, slaveId,
IOCTL_SET_ADDA_CONFIG, configuration)
NOTE:
Please note that when setting the configuration, all channel ranges
are set concurrently on an Ioctl set configuration call. In order to
change a single channel’s configuration, the current configuration
must be requested, altered, and then reset.










