09-02-2024 08:13 AM
Hi,
I'm developing a test system which includes 50 serial channels. My question is, should I use a separate data acquisition module for each serial channel? If yes, this will result in 50 data acquisition modules. Thus increasing project size.
09-02-2024 11:50 AM
If all 50 channels are on the same device, I think one serial module that handles all 50 channels is the more typical approach.
If the 50 channels are spread across multiple devices, then the successful approach I've seen is to have a clonable module that handles the communication with a single device, and then a singleton "manager" module that manages the cloneable instances for each device.
09-02-2024 01:29 PM
The device is one but each channel (serial port) has a different baud rate and a different number of read/write bytes.
(If all 50 channels are on the same device, I think one serial module that handles all 50 channels is the more typical approach.)
09-02-2024 01:35 PM
Gotcha. Then in that case, I think my second suggestion makes sense. A top-level Serial Manager module that spawns instances of a Serial Channel cloneable module. The Manager module manages all the devices and starts/stops clone instances as appropriate. You'll likely want some sort of configuration management whereby your Manager module can load a configuration file that defines each Serial Channel.
I've seen applications that spawn hundreds/thousands of DQMH clone instances, so 50 shouldn't be an issue.