Serial Communication Library and components for rs-232, tcp/ip communication. Data transfer and file transfer protocols ZMODEM 8k, zmodem 32k, YMODEM, XMODEM-1K, XMODEM, XMODEM/CRC, KERMIT, MODBUS, 3964, RK512, LSV2. Supporting Visual Studio NET, C#, VB Net, class library, Delphi, C++ Builder, Visual Basic. Serial Port Communication Library and components, .NET component.

Data transfer and file transfer protocols ZMODEM, YMODEM, YMODEM-G, XMODEM-1K, XMODEM, XMODEM/CRC, Extended XMODEM, KERMIT, MODBUS, 3964, RK512, LSV2. Supporting Visual Studio NET, C#, VB Net, class library, Delphi, C++ Builder, Visual Basic. Serial Communication Library and components for rs-232, tcp/ip communication. Serial port communication library .NET component for Visual Studio 2003, Visual Studio 2005, Visual Studio 2008

SuperCom™
Serial Communications - RS-232 - Toolkit for
Windows 7, Windows Vista, Windows Server 2008, Windows XP, Windows Server 2003, Windows 2000, Windows NT, Windows ME/98/95

Communication Solutions by ADONTEC
SuperCom - Features List
serial communication library, class library, communication libraries, Protocol file transfer protocol zmodem xmodem ymodem kermit ascii, 3964 rk512 lsv/2 serial dataSuperCom DLL API - Functions
 
 
Software development for rs-232, tcp/ip, isdn,capi file transfer protocols, custom protocols. Many ready to run programs, Client, Server.DEMO SuperCom Suite (Serial RS-232/422/485, ISDN, TCP/IP)


     64 Bit Ready      Abstract about the Communication LibraryAbstract

Version 7

ADONTEC offers the MSComm compatible SuperCom Serial Communication ActiveX Library with many more features like high speed data and file transfer using ZMODEM etc. ADONTEC is the developer or SuperCom the tapi modem RS-232, RS-485 (RS232, RS485 Multidrop) serial communication library which includes many standard file transfer protocols like ZMODEM, ZMODEM 8k, ZMODEM 32k, YMODEM, YMODEM-G, XMODEM-1K, XMODEM, XMODEM/CRC, Extended XMODEM, KERMIT,MODBUS, SuperCom ActiveX comm.sys.3964,rk512,lsv2,serial communication,tcp/ip,capi,isdn,gateway,comm protocol,file transfer zmodem ymodem ascii also supporting net framework C#, Visual C++, C++ Builder, Delphi, Visual Basic

The data communication toolkit, SuperCom, supports data transmission through serial RS-232/422/485 ports, TCP/IP and ISDN communication layers. Though different the communication ways are, the developer use one easy to use, flexible and powerful API!

The complete integration of different communication ways offered through the SuperCom Suite enables one single application to handle simultaneously connections through RS-232, TCP/IP and ISDN. More...

SuperCom also provides intelligent functions that considerably speed-up the development process and produce fast, reliable solutions avoiding delaying or blocking of your application.


Serial Communication Library, RS-232, RS-485 Toolkit. ZMODEM, Kermit, 3964, 3964R, RK512, LSV2, MODBUS, protocol

SuperCom for RS-232

Is a programer's toolkit for programming serial data communication programs.

SuperCom contains functions for all aspects of modern data transmission. Transmitting and receiving takes place in the background. The application can easily perform other tasks while data transmission takes place. The hardware or software flow control (RTS/CTS, DTR/DSR, XON/XOFF) can be taken over fully transparent by SuperCom.

Every interface runs with it's own transmit and receive buffer to prevent data loss and give the application the time to perform other tasks too.

Hardware errors are detected and if required reported.

Establishing dial-up connections is easy and it's featured directly through a Modem or using TAPI (Windows Telephony API).

::: SuperCom breaks the limits in fast and reliable file transfer. It includes nearly all known standard file transfer protocols (e.g. ZMODEM, YMODEM, XMODEM, KERMIT, ASCII). Special protocol modules (e.g. MODBUS, AS511, 3964R, RK512, LSV/2) are available to support industrial data communications.

Below a more detail description of the SuperCom API. Near all features are true for communications over serial lines, ISDN and TCP/IP. Please also consult the common feature list common feature list, the product content description and the chart of Software and Features to make sure the feature you want is supported by the selected SuperCom software.

SuperCom API

SuperCom offers an easy to use, flexible and portable API. The same API is used among different operating systems and hardware (RS-232, RS-485, ISDN, TCP/IP). Under Windows it's also referred as the SuperCom DLL API.

The software developer uses one single API.

Transmitting and receiving takes place in the background. The application can easily perform other tasks while data transmission takes place.

SuperCom is fast, even in a multitasking operating system. SuperCom integrates the most modern communication technology like: event reporting, thread driven data transmission, high speed byte and paket functions. Furthermore it offers the highest security and speed with little burden on the computer, particularly important in a multitasking operating system.

Every connection runs with it's own transmit and receive buffer to prevent data loss and give the application the time to perform other tasks too.

Modularity in Data Communications

SuperCom consists of several modules which can be used according to your needs.

The core module contains the "low level functions" operating on top of the hardware and the "high level functions" offering a portable layer. This portable layer provides most wanted functions like: transmit and receive data (even time dependent), determine the status of a link, funtions that transmit and receive data packets (even time dependent), functions for calculating check sums and CRC, functions for setting up connections etc.

::: The standard protocol module contain the so called Standard File Transfer Protocols. These protocols enable fast and secure file transmission with ease. Special protocol modules contain protocols mainly used in industrial applications. Protocols like MODBUS, AS511, 3964R, RK512, LSV/2 are available  (see also Software and Features).

Another module groups together the terminal emulations ANSI, TTY and VT52.

Portable

The part of your application which takes care the data communication with SuperCom can already be considered as completed if moving from Serial to TCP/IP or ISDN and especially if moving from DOS or OS/2 to Windows.

Easy Handling

Despite the large number of functions, programming with SuperCom is very easy. The following short program should clearly show this:

C/C++ Sample

  char *Msg = "Hello World";

  ComInit(COM_2);

  ComSetState(COM_2, 19200, 8, 1, 'N', SIGNAL_CTS);

  RS_TXPacket(COM_2, Msg, strlen(Msg), &Result);

  ComReset(COM_2);

  C/C++    C#    Delphi    Visual Basic

The function ComInit configures the interface. ComSetState initializes the serial interface "COM2" with the new transmission parameters and flow control. The function RS_TXPacket transmits the data packet Msg through the serial interface and ComReset closes all action on the serial interface and restores the previous state of the interface.

The next small sample shows an elegant solution to a common problem: What ports are available in the system (installed and not used).

Available Ports

    WORD wPortCount=0;
    WORD wPortReady=0;
    BYTE i;

    printf("scaning hardware...");

    for (i=COM_1; i<MAX_COM; i++)
    {
        switch (ComPortPresent(i))
        {
        case PORT_AVAILABLE_READY: wPortReady++;
             // port is not used by any application

        case PORT_AVAILABLE_BUSY: wPortCount++;
             // port is used by any application
            break;

        case PORT_UNAVAILABLE:
             // hardware is not installed
             break;
        }
    }
     
Hint: see also ComPortPresentEx

Event Driven

An application using SuperCom can be event driven. Events are reported for: received or transmitted data, modem status, line errors, modem dialup status, file transmit status, when plugging in or unplugging serial PnP devices, TCP/IP network failures.

The enhanced event reporting mechanism in SuperCom also enables you to receive events on any defined character (e.g. STX, ACK, NAK, EOF).

Type and amount of the events is also related to the used SuperCom software e.g. a SuperCom supporting only serial communications will not report TCP/IP network events.

Event function receiving communications events
C/C++ Sample

   DWORD COMMAPI UserEventProc (BYTE Com, DWORD SComEvent)
   {
       if (SComEvent & EV_TXCACHE_EMPTY)
          // ...

       if (SComEvent & EV_RXCHAR)
          // ...

       if (SComEvent & EV_RI)
          // ...

       if (SComEvent & EV_TRIGGER)
          // ...

         :
         :
      return 0;
   }
      :
      :
     // init  ...
   ComInit(Com);

     // activate event reporting ...
   ComGetSetEventProc(Com, UserEventProc);
  C/C++    C#    Delphi    Visual Basic

Connecting

Setting up connections through a Modem, TAPI, TCP/IP or ISDN is taken care by the common connect functions. The SuperCom functions can establish a connection (dialup) or waiting on an incoming call (server).

The SuperCom functions can trigger events during a connection attempt and provide the application with status information.

DLL API
In order to receive events the application must provide an InfoProc*. The InfoProc is optional but very handy in many situations. Using the InfoProc the application can receive progress information, get informed about the time left to complete a call or even cancel the connection attempt.

Modem Connection - InfoProc
C/C++ Sample

   int InfoProc(BYTE Com, WORD Action, DWORD TimeLeft, PVOID Data)
   {
      if (Action==acCONNECT_INFO)
      {
         // Received periodically, while in progress
      }
      if (Action==acCONNECT_OK)
      {
         // Connected !
      }
      if (Action==acCONNECT_FAILED)
      {
         // A connection attempt failed
      }

      return infContinue;

   }
      :
      :
     // init  ...
   ComInit(Com);

     // now connect ...
   Res = RS_ConnectEx(Com, SEC_60, , DialStr, InfoProc);
  C/C++    C#    Delphi    Visual Basic

Seting up a connection can run completely in background. The application receives events about the progress.

Comparing this sample made for a serial Modem with the one for TCP/IP or ISDN shows how effectiv it is to have a portable API!

 

File Transfer Protocols

SuperCom provides reliable and high speed file transfer protocols. These protocols are widely used and supported by many third party applications. SuperCom supports the ZMODEM, KERMIT, YMODEM/BATCH, YMODEM, YMODEM-G, XMODEM-1K, XMODEM, XMODEM/CRC, Extended XMODEM and ASCII protocol. The most powerful among these protocols is ZMODEM. The ZMODEM protocol includes important features like "crash recovery", 32bit CRC, "batch file transfer", File Options, ZMODEM/8k block option and the powerfull ADONTEC extension ZMODEM/32k (ZMODEM/64k shipped on request) . The SuperCom ZMODEM implementation also includes support for slow communication channels and high latency connections.

The KERMIT protocol is also a versatily protocol offering a lot of options.

A file transfer is very easy started by one function. The protocol then triggers events to inform about status and other usefull protocol information. Events are received by a so called InfoProc*. The InfoProc is optional but very handy in many situation e.g. to receive progress information, to cancel a file transfer. A protocol like ZMODEM or YMODEM/BATCH can receive many files within on session. The InfoProc will provide such information.

File Transfer - InfoProc
C/C++ Sample

   int COMMAPI InfoProc(BYTE Com, WORD Action, DWORD TimeLeft, PFDATA Data)
   {
      int Res=infCONTINUE;

      if (Action==acSYN)
      {
        // Synchronization
      }
      if (Action==acRXING)
      {
        // A block of data received
      }
      if (Action==acTXING)
      {
       // A block of data transmitted
      }
      if (Action==acTXFIN)
      {
       // File successfully transmitted
      }
      :
      return Res;
   }
      :
    // Transmit a file ...
   RS_TXFile_ZMODEM(Com, FName, , InfoProc);
   C/C++    C#    Delphi    Visual Basic

A file transfer is very easy started by one function. The protocol triggers events to inform about status and other usefull protocol information. Events are received by a so called InfoProc*. In order to receive events the application must provide an InfoProc*. The InfoProc is optional but enables to receive status information, if required and a better control over the happening (e.g. break a file transfer untimely).

*The InfoProc enables a continuous exchange of information between the protocol and the application.

Industrial Protocols

Additional modules supporting the industry protocols 3964, 3964R, RK512, AS511, LSV/2 and MODBUS are also available (see also Software and Features).

3964 Protocol, RK512 Protocol, AS511 Protoocl, LSV2 Protocol, MODBUS Protocol

Custom Protocol Development

SuperCom provides a big pool of functions to easy develop custom protocols. Functions to transmit data packages event driven, time driven, functions to calculate checksums, CRC and many more.

MS Office

SuperCom supports MS-Office applications through direct function calls to the SuperCom DLL API or using the VBA (Visual Basic for Applications) calling interface.

Office applications like Access, Excel, Word may also prefer to use the ActiveX API . Another way is to call functions from the SuperCom DLL API using the available VBA (Visual Basic for Applications) calling interface.

Samples for Word and Excel are available.

 

The SuperCom ActiveX

The Serial Hardware

    

SuperCom's serial library supports a multitude of different serial hardware used for serial communications.

The variety of serial interfaces is diverse and SuperCom is flexible enough to control the different variations in a transparent way hidding the details. In fact it's under continous tests with serial devices from major manufacturer (e.g. Axxon, Decision, Digi, Moxa, Quatech, etc.).

In the following we functionally group the serial hardware actually on market as follows:

  • Standard COMM Ports
  • Multiserial boards
  • Virtual COMM Ports
  • Intelligent multiserial boards

Standard Comm Ports

Serial comm ports which do not support interrupt sharing are called Standard Comm Ports (e.g. COM1, COM2).

Serial Communication Library RS-232, RS-485 Toolkit. ZMODEM, Kermit, 3964, 3964R, RK512, LSV2, protocol

Multiserial Boards

Multiserial boards are add-on boards for PCI, PCI-X, PCIe or ISA Bus. These boards include one or more COMM ports. By design some boards allow two or more boards to run in a single PC.

Virtual COMM Ports

Are physically not present COMM ports. The real hardware is not available inside of this PC but is connected externaly e.g. on an Ethernet Network (e.g. PortServer, Comm Server, Terminal Server or Serial Server), redirected ports through the Windows Remote Desktop Protocol (RDP), PCMCIA to Serial, USB to Serial Comm Port, Bluetooth to Serial Comm Port, Infrared to Serial or any other type of non physically present COMM port. SuperCom locates these COMM ports even if it uses non-standard COMM names (e.g. FASTCOM19).

One or more multi serial boards can be installed in a PC (dependent on manufacturer) to support the amount of serial ports needed.

Intelligent boards

The intelligent boards are serial boards equipped with a CPU (mainly 80186 or RISC) and RAM. Intelligent boards can be equipped with 64KByte to 1MByte of dual-ported RAM mainly used for data storage and buffering. This improves the system speed and reduces the overall load of the host CPU due to the missing interrupt requests.

PCMCIA (X=1/2/4)

These are PCMCIA to RS-232 adapters, PCMCIA to RS-422 adapters or PCMCIA to RS-485 adapters. Some samples

USB (X=1/2/4/8/16)

These are USB to RS-232 adapters, USB to RS-422 adapters or USB to RS-485 adapters. Some samples

FIFO Support (UART 16550/16650/16750/16950)

The 16550 UART has the feature to temporarily store up to 16 incoming characters in a FIFO (First In First Out) buffer. This feature increases the performance of the system since the number of interrupts in the system is reduced. Furthermore the security of the data transmission is considerably improved, above all in a multitasking environment and high transmission speeds are possible.

Modern UARTS like the 16950 are equipped with up to 128 bytes of FIFO buffer.

SuperCom supports the enhanced features of the FIFO module.

RS-485

Besides supporting RS-232 and RS-422 communication ports, SuperCom offers support for the RS-485 data communication.

RS-485 connects two or more stations on a two wire simplex bus system. Each station can at a time only transmit or receive data (simplex). The so called "direction" is used to switch from receiving to transmit mode. SuperCom handles the RS-485 port complete transparently if enabled with the function ComRS485. A four wire duplex connection may also be used.

9-Bit Multidrop

9-Bit serial data communication (9-Bit framing) is usually used to identify address messages in multidrop networks. 9-Bit frames are usually not supported by the standard PC UART but simulated by the SuperCom software. Very fast response timing by the software is essential in this case. A small C/C++ library and sample also included that demonstrates this operating mode.
::: The samples showed that SuperCom can switch several times within 1 ms.


SuperCom DLL API - Features List           DLL API

Please note that not all features are supported by every SuperCom software package. Please consult the Content Description and the chart of Software and Features to make sure the feature you want is supported by the selected SuperCom software.

Common Features List  (valid for Serial, TCP/IP and ISDN)
  • Portable functions and API
  • Easy to use and versatile API, not bound to one specific compiler only
  • Fully buffered data transmission and background operation
  • Simultaneously up to 255 connections
  • Support for asynchronous RS-232, RS-422, RS-485, Modem, TAPI, ISDN and TCP/IP is available (see also Software and Features)
  • Standard Protocols: KERMIT, ZMODEM, YMODEM, YMODEM/BATCH, YMODEM-G, XMODEM, XMODEM/CRC, XMODEM-1K, Extended XMODEM, ASCII
  • Industrial Protocols like 3964/3964R, RK512, AS511, LSV/2 and MODBUS are available (see also Software and Features)
  • Terminal emulation: ANSI, TTY, VT52
  • User Event Functions: More than 35 different communications events report when: data received, transmit buffer gets empty, special data received, complete data packets received, connecting progress, status of file transmission and progress, plugging or unplugging of PnP serial devices, TCP/IP network failures, ...
  • Send and receive binary data
  • Send and receive Unicode strings (Windows)
  • Multitasking support
  • Thread support
  • New and exceptional features in SuperCom 7 for Windows*
SuperCom provides intelligent functions that considerably speed-up the development process in order to deliver fast a reliable solutions. More...
  • DataPacket - Receive data packets based on some definitions. More...
  • Trigger - Trigger events when custom data packets or strings received. More...
  • DataFilter - Low level data filtering functions e.g. activate ready made data filter or inspect and change data while received or transmited. Also supported custom filter functions. More...
  • Data Monitoring - Low level data monitoring functions - Integrated Debugging Library.
  • Event Reporting - Thread-safe event reporting and synchronization with Windows controls or runtime library.
  • Threaded File Queue™ - File transmission using Queue, working in background, no need to develop threads!
  • Connecting in background - This function is working in background, no need to develop threads! In the meantime the application can do other things.
  • Extended XMODEM protocol. XMODEM compatible incl. ZMODEM like features and more. The Extended XMODEM protocol offers buffers up to 64K for high speed file transfers, File Options (transmit file names, request a file from the sender, compare date, size etc.).
  • ZMODEM File Options - Instructions for the file receiver.
  • ZMODEM/8k block option and the powerfull ADONTEC extension ZMODEM/32k (ZMODEM/64k shipped on request). More...
  • KERMIT Protocol
  • Integrated TAPI (Windows Telephony API) support.
  • Dynamic priority for the data communication (very low to ultra high)
  • Sharing Connections (e.g. TCP/IP or Serial) with a third party library is usually possible.
  • ... and many other functions and protocol extensions.

    * Windows (32 and 64Bit)

  • SuperCom++ included (C++ class, Pascal Objects)
  • Many sample programs
  • More than 200 functions
  • Flexible and Cooperative (see sample)
  • Many real world sample programs included with source code to customize or use as is.
  • Detailed documentation incl. description of the hardware registers of V24 and/or RS232C. Many functions are documented including a short sample enabling a quick start and easy integration of SuperCom.
  • No Royalties (License Information)
  • Distribute with ease
  • FREE technical support
Especially for RS-232, RS-422, RS-485
  • Up to 255 serial ports opened simultaneously (e.g. COM1 to COM255) and/or up to 255 connections simultaneously
  • 8250, 16450 UART and 16550,16650,16950-FIFO
  • Any baud rates supported by the hardware e.g. up to 921600 Baud (921,6 Kbps)
  • Interrupt sharing
  • Supports Multiport cards
  • Supports Multiport Intelligent cards
  • Flow control with RTS/CTS, DTR/DSR, XON/XOFF and user defined
  • Line control with RTS, DTR
  • User Event Functions: More than 35 different communications events report when: line signals or modem signals change, data received, transmit buffer empty, special data received, complete data packets received, connecting progress, file transmission status and progress.
  • Dial-up connections using Modem (Hayes compatible)
  • Dial-up connections using TAPI (Windows Telephony API)
  • Direct access to a TAPI Modem also offered .
  • Dial-up connections using USB Modem
  • Dial-up connections using GSM/GPRS Modem
  • Modem Sharing: Sharing a modem connection with other applications is usually possible.
  • Support for Virtual serial ports e.g. COMM ports routed to an Ethernet PortServer, COMM Server, Terminal Server or Serial Server.
  • Support for Bluetooth to serial ports.
  • Support for Infrared to serial ports.
  • Redirected ports through the Windows Remote Desktop Protocol (RDP)
  • Supports USB to RS-232 / RS-485 adapters / converters that apear in Windows control panel as serial devices
  • PnP Serial Port devices. SuperCom reports an event whenever a PnP serial port is attached or removed.
  • Sharing Serial Ports with a third party library is usually possible.
Especially for TCP/IP

Especially for ISDN

Especially for DOS/32, OS/2

A short summary of the ActiveX API can be found here.

A short list of DLL API functions can be found here.

 

A Serial to TCP/IP GateWay application (PortServer, COMM Server, Terminal Server or Serial Server) developed with SuperCom. This bonus software incl. source code for C# and Visual Basic 6 is included in SuperCom Suite.

 

Versatility

SuperCom is still the number one toolkit that supports different development environments providing extensive API support and samples. You're free to switch your compiler anytime and your are not bound to one and only. This saves a huge amount of time and costs of development.Available Product Range - Pricelist

 

Compiler, Operating System More...

 

Fabulous! And as always, thanks for the prompt and thorough support. You have a fan in California. Thanks!
Bob... from California

Are you looking for a complete library to accomplish a Windows Service Application ? Read more...
Are you looking for a way to securely distribute your files and application ? Read more...

Home    Back
Updated on

ADONTEC
It Simply Works!