There are devices and programs which work only with COM ports. If a computer does not have COM ports, or they are already occupied by other applications, you need to create virtual serial ports. In Serial Splitter we use Virtual Serial Port Driver technology, which creates any number of pure virtual serial ports in your system. They appear to system or any Windows application as “standard” serial ports.
Now you have advanced possibilities to manage real and virtual ports up to your demands. Here are some examples of how you can create port bundles.
In this example, COM1 (real port, set as main one) is split into several virtual ones: COM2 (main) and COM3. Real port (COM1) parameters are dynamic and depend on the parameters of the main port of the opposite side (COM2). Now data coming into the split real port (COM1) will be sent to each out-side virtual port (COM2 and COM3), and vice versa.
For example, you have a GPS sensor, connected to COM1. It delivers GPS data to COM 2 and COM3, connected correspondingly to two navigational programs which need GPS data (e.g., Coastal Explorer and Electronic logbook).
- Join several real ports into one virtual
Here, several real ports COM1 and COM2 (main) are joined into one virtual port (COM3). Everything sent to joining port (COM3) will be duplicated to all joined ones: COM1 and COM2.
For example, two serial ports (COM1 and COM2), connected to the stenograph writers machines, are joined to the single port on your PC (COM3). The application, connected to COM3, can work with only one port. So, joining two ports into one, you make it possible for the application to work with two devices simultaneously.
- Create ports switcher
Here, several real ports – COM1, COM2 – are joined into one virtual port (COM3).
Several applications work with virtual COM3. Each time any application needs to work with a serial device, data from COM3 will be sent to either COM1 or COM2. The port choice will depend on whether it is free at the moment; this choice will be done automatically.
Several applications can open virtual COM3 at a time and connect to the device which is free at the moment among several identical devices, connected to real COM1, COM2. The number of applications which can connect to COM3, cannot exceed the number of real ports in a bundle.
- Share one real serial port among several applications
In this example, real port (COM1) is shared with two applications, which can control signal lines and manage real port settings.
Imagine, that now your meteorological station, connected to COM port (COM1), can send to and receive data from two programs simultaneously (e.g., software that allows you to connect your PC to weather station to display data for analysis) (Weather Display and Virtual Weather Station, for example).Note: you can share real port with any number of applications you wish, not only two, like in this example.
- Redirect all serial traffic from any real port to another port (real or virtual)
In this example, all serial traffic from real port (COM2) is redirected to another port (COM3) which is virtual. Real port parameters are dynamic and depend on the parameters of the main port of the opposite side (COM3).
It is an ideal solution to ease your work with any serial port device or an application, which requires specific configuration settings, e.g., it can work only with COM3, like in our example.
In another example of ports traffic redirection we have two devices which have to exchange data. That’s why we create a ports bundle with real COM1 on in-side and real COM2 on out-side. Then we connect our two devices to COM 1 and COM2 correspondingly:
Now these two devices can exchange the data. Besides, you can collect the data from COM ports for further analysis using some monitoring software, e. g. Serial Port Monitor.
- Complex ports bundles
Data comes to in-side of the bundle from virtual port COM1 and then is split into several flows and directed into COM3 (virtual, main) and COM4 (virtual). And, vice versa, data comes to in-side from COM3 and COM4 and is joined into a single flow into COM1.
Such complex port bundle is ideal for connecting, for example, GPS Emulator application (virtual COM1), and two programs (some navigational ones) (COM3 and COM4). Thus, data coming into the virtual port (COM1) will be sent to each out-side virtual port (COM2 and COM3), and vice versa.
Now let’s study another example of complex bundle creation, where COM1 is a shared port:
We can connect, for example, GPS Emulator application to virtual COM2, and share COM1 with several applications, which now can receive data from COM2.