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.
- 94 -
SeaI/O User Manual
Finding All Devices
This simple code segment issues a find on all devices and then prints out each device
using the print_info function code segment from the previous page.
This code segment allocates space for ten devices and then performs a find for
devices. If the return code is greater than zero, then the function successfully found
the number of devices returned.
Notice that we have to explicitly Free() the allocated buffers, and then delete the class
for proper memory management.
int main(int argc, char* argv[])
{
CCEthernet *a;
ceth_device_p b;
ceth_device_p d;
int c;
int i;
a = new CCEthernet();
b = a->Alloc(10);
c=a->find_devices(Sealevel_All_Devices,10,b);
if(c<0)
{
printf("Error %d\n",c);
goto end;
}
printf("Found %d\n",c);
d=b;
for(i=0;i<c;i++)
{
dump_out(d);
d++;
}
end:
a->Free(b);
delete(a);
return 0;
}










