Serial communication Library and serial component Windows, Serial I/O library, Serial Port I/O component,RS232 comm port,rs485 Multidrop,asynchronous,autodownload with Zmodem file transfer Protocol Kermit,xmodem, xmodem/crc,xmodem-1k RK512 Simatic 3964 Protocol LSV2 LSV/2, Serial Protocol Ymodem, Modbus, Delphi Pascal Communication Library builder Visual Basic vba C++,GSM / GPRS Modem and TAPI, Visual Studio net, serial communication component, 64 bit Serial Communication Library, Vista, usb to serial port library toolkit, data available event, lookup strings,modem Sharing,Crossbridge Tunel Serial Communication. Wireless serial data communication. C++ Builder, Delphi incl. Embarcadero RAD XE2 XE3.
Limit usb to serial latency.
SuperCom Serial Library and RS-232 / RS-485 Library.
Version 10 new !
The SuperCom Serial Port Communication Library is a programmer's library used to develop serial communication applications.
Easily read and write data to the serial port. Send data through the serial port without delay.
Using SuperCom you easily write serial communication applications and control serial ports, Modem, Barcode Scanner, Scales, PLC, GPS receiver, POS, serial medical devices, serial printer etc. Develop easily applications to accomplish serial data and file transfer incl. file server applications.
With the SuperCom Serial Communication Library transmitting and receiving serial data takes place in the background enabling the application to perform other tasks while serial data transmission takes place.
An optimized, fast, versatile and non blocking low level data communication engine generates short reaction times, creates and reports events, handles data triggers, data monitoring and many other intelligent data preprocessing functions (see DataPackets collector, Trigger and DataFilter below).
Setup and handle concurrently multiple connections, execute fast with low latency and consume less, run lengthly jobs in background (for example: connect, file transfer, collect data packets (DataPackets collector), trigger events) and other functions assist in order to create flexible solutions.
The SuperCom Serial Communication Library transfers data in background and offers fully transparent handshaking flow control (e.g. RTS/CTS, DTR/DSR, XON/XOFF) and combinations. Possible errors on the data line (UART/Hardware Errors) are detected and, if required, reported.
You freely use any onboard serial ports, multi serial ports cards, wireless serial adapter (e.g. Bluetooth), USB or Ethernet based serial adapter / converter etc. SuperCom delivers data accurate and fast.
Control serial port interfaces easily using compiler languages as C, C++, C#, Delphi, Pascal, Visual Basic, Java and other Compiler.
Establish reliable connections in background for fast, accurate data communications and file transfers. 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 data communication and file transfer. It includes nearly all known standard file transfer protocols used in serial communications. Special Industrial Protocols modules are available to support industrial serial data communications with PLC and automation controllers.
With SuperCom the protocols mentioned above are not restricted to serial communication only but can be used with any connection type supported by the used SuperCom library e.g. ISDN, TCP/IP.
With SuperCom the application can execute faster and smoother.
No matter how the application is transmitting data, SuperCom will always perform data communication on multiple connections concurrently and in background.
No matter if data monitoring, receiving complex data packets, running complex data transmission protocols, establishing connections or doing file transfer. It can run complex tasks optimized and transparently in background enabling the application to execute fast and smooth and perform other tasks too.
SuperCom is a universal data communication library. Using only a few functions you already get a complete serial communication program within a few lines. The following short program clearly shows this for serial communications:
Let's explain the above lines a bit:
The function ComInit instructs SuperCom to assign the second data link (e.g. the second serial port on Windows "COM2", on Linux "ttyS1"). ComSetState applies the communication parameters and flow control. Now the connection is ready to transfer data. The function RS_TXPacket transmits the data packet Msg through the data link (e.g. serial interface) and ComReset finaly closes all actions on the data link and releases the used data link and any used hardware and software resources used.
The next small sample shows an elegant solution to a common problem: What serial ports are available in the system (installed and not used).
Available Serial Ports
SuperCom's serial communication 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 Serial Ports
Serial comm ports which do not support interrupt sharing are called Standard Comm Ports (e.g. COM1, COM2).
Multiserial boards are add-on boards for ISA, PCI, PCI-X or PCIe Bus. These boards used in serial communications and offer one or more serial ports. By design some boards allow two or more boards to run in a single PC.
Controlling more than one serial communication link simultaneously is SuperCom's playground and it does it completely in background.
These are PCMCIA to RS-232 adapters, PCMCIA to RS-422 adapters or PCMCIA to RS-485 adapters used in serial communications.
Intelligent Multiserial 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.
Virtual Serial Ports
With serial communication the serial port is often not physically present on the local computer but simulated by a driver. The real hardware (if any) is connected externaly e.g. on an Ethernet Network (e.g. PortServer, Comm-Server, Terminal Server or Serial Server), serial ports redirected through the Windows Remote Desktop Protocol (RDP), PCMCIA-to-Serial, USB-to-Serial, Ethernet-to-Serial, Bluetooth-to-Serial, Infrared-to-Serial or any other type of physically not present serial port. SuperCom locates these COMM ports even if non-standard names used (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.
These are USB Serial Adapters (RS-232, RS-422, RS-485) attached to an USB port. SuperCom for Windows can report event with the port name on serial port insertion/removal.
These are Ethernet to Serial Adapters (RS-232, RS-422, RS-485) connected to a TCP switch/hub.
Wireless Serial Adapter (RS-232, RS-422, RS-485)
Are used to connect serial devices that are not linked by a physical cable connection. These can be Wireless USB-to-Serial adapters, Wireless Bluetooth to-Serial adapters, Wireless LAN-to-Serial adapter, etc. SuperCom for Windows can report event with the port name on serial port insertion/removal.
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 FIFO UART. SuperCom also runs serial data communication in low level buffered mode to avoid buffer overrun and to allow the applcation to perform other tasks as well.
Besides supporting RS-232 and RS-422 serial communication, SuperCom also support the RS-485 data communication.
RS-485 connects two or more stations on a two wire half-duplex bus system (network). That is bi-directional, half-duplex, multi-drop serial data communication over a single pair of cable. Each station can only transmit or receive data at a time (half-duplex). The so called "direction" is used to switch from transmit to receiving mode and vice versa. A timed switch of the "direction" is essential to avoid loss in data.
9-Bit serial data
9-Bit serial communication (9-Bit framing) is mainly used to identify address byte within messages running on a RS-485 multidrop network but also on standard RS-232 connections. 9-bit data frames are usually not supported by the standard PC UART but simulated by the SuperCom software. Very fast response timing (low latency) by the software is essential to accomplish reliable 9-bit data communication. SuperCom does provide a very realiable solution here to be used with high level languages.
For example, transmitting a data packet using 9-bit addressing e.g.:
9-Bit Samples, client and server, are available (C, C++, C#, Delphi, VB net). Mehr
Q: Serial data, transmitted asynchronous, are made up (among others) of data bits and start/stop bits. Does SuperCom ensure that all bits are received as expected?
A: SuperCom receives and transmits all bits of the serial data according to the rules and does it completely transparently in backround without blocking the application. SuperCom achieves by that very high data throughput and avoids loss of data. The same goes for the other possible data links i.e. TCP/IP, ISDN, Modem etc.
Below a more detail description of the portable 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 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 secured through buffered data communication with adjustable buffers for both directions. The application can safely perform other tasks while data transmission takes place.
SuperCom is fast, even in a multitasking operating system - it often solves issues where others are using system drivers.
SuperCom integrates the most modern communication technology like: event reporting, thread driven data transmission, high speed byte and paket functions, intelligent data filter, data trigger and data packet collectors. Furthermore it offers the highest security and speed with little burden on the computer, particularly important in a multitasking operating system.
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, that are widely known and used. These protocols enable fast and secure file transmission. Special Industrial Protocols mainly used in industrial data communication applications are also available (see also Software and Features).|
The Terminal emulations module offers ANSI, VT100, VT52, TTY.
The part of your application which takes care the data communication with SuperCom can already be considered as completed when moving from Serial Communication to TCP/IP or ISDN and especially when moving between DOS, Linux, OS/2, Windows.
An application using SuperCom can be event driven. Events are reported for: received or transmitted data, modem status, line errors, modem dialup status, file transmission status, plugging or unplugging serial PnP devices (serial comm port insertion/removal), 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.
Establishing 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) and execute (on request) completely in background.
The SuperCom functions can trigger events during a connection attempt and provide the application with status information. So, even it executes in background the application stays in touch with the happening.
In order to receive events the application has to provide an OnConnect* function. The OnConnect function is optional but very handy in many situations. Using OnConnect the application can receive progress information, information about the time left to complete a call or even cancel the connection attempt before it completes.
Establishing 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 effective it is to have a portable API!
SuperCom provides reliable and high speed file transfer protocols. These protocols are widely used and supported by many third party applications (e.g. ZMODEM, YMODEM/BATCH, YMODEM, YMODEM-G, XMODEM-1K, XMODEM, XMODEM/CRC, KERMIT, Extended XMODEM and ASCII).
With the SuperCom library any of the above protocol can run on any established connection (i.e. serial port, Modem, TCP/IP, ISDN, GSM) concurrently and in background. Queues of files to transfer are also possible to create and monitor (file-server etc.).
One of the most powerful among these protocols is ZMODEM that includes important features like "crash recovery", 32bit CRC, "batch file transfer", File Options, ZMODEM/8k block option and the powerful ADONTEC extension ZMODEM/32k (ZMODEM/64k shipped on request). The SuperCom ZMODEM implementation also includes support for slow communication channels and high latency connections (e.g. Satellite lines).
The KERMIT protocol and the Extended XMODEM are also offering a lot of interesting options.
is a file transfer protocol feature that enables automated receiving of file(s) transmitted from a remote host machine. SuperCom offers Autodownloading with the ZMODEM, KERMIT and Extended XMODEM protocol.
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 OnFile function. The OnFile function is optional but very handy in many situation e.g. to receive progress information, to cancel a file transfer. When SuperCom uses a protocol like ZMODEM or YMODEM/BATCH it can receive many files within on session. The OnFile will provide such information.
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 OnFile*. In order to receive events the application must provide an OnFile*. The OnFile is optional but enables to receive status information, if required and a better control over the happening (e.g. break a file transfer untimely).
Additional modules supporting the industry protocols 3964, 3964R, RK512, AS511, LSV2, Heidenhain TNC Protocol and MODBUS are also available (see also Software and Features).
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.
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.
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 - Price List
Fabulous! And as always, thanks for the prompt and thorough support. You have a fan in California. Thanks!
Bob... from California
Amazing, CPU usage dropped from 100% to 15% and it runs faster! Excelent work guys, thanks!
ZMCS File Server & Client
Are you looking for unattended file transfer with ZMODEM protocol as external client / server solution to be used instantly ? Read more...
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...
Serial Library | Serial Data Communication Library | Serial Library C++ Windows | Delphi serial communication class library | RS-485 multi drop data transfer | 9-Bit | C# serial library | read COM port in C++ | Serial Data Communication example C, C++, C#, Pascal, Delphi, Java, Visual Basic, VBA | TCP Data Communication Library | MSComm compatible ActiveX | Serial Communication NET Class Library | TCP Communication NET Class Library | control many serial ports concurrently | control many connections concurrently | Background data transfer | Background file transfer | Non blocking I/O | Serial port communication using Visual C++