06-16-2006 10:10 AM
I have a potential scenario where I would use multiple cfp1808 backplates with various modules installed.
They would all be connected to a decent spec PC running XP on a dedicated network
I wont be using Labview but talking directly to the modules using modbus over TCP/IP. I have a very good understanding of this protcol having written drivers for PLC's for many years and for various complex reasons wont be using Labview.
I have read the indivdidual datasheets and all modules have various updates times. These times are presumerably the conversion times of the various ADC's etc including filtering etc and not the time to access the modules over ethernet.
Q1. Has anybody had experience with the update rate I can expect to achieve by polling the various Modbus addresses from my PC over a quiet ethernet connection? Is the modbus firmware crippled in anyway to force people to buy labview realtime to get decent performance?
Q2. Does the presence of a slower module effect the performance of a faster one?
Q3. Can I poll the channel in groups, if so, across multiple modules in the same rack?
Thanks to anyone if they can help of offer advice.
06-16-2006 10:06 PM
This is the same answer I posted to your similar query in the other thread.
Q1: Can't help you as much with this one. The cFP-1804/8 came out (and started development) well after I left NI. I tend to doubt that they were crippled in performance in anyway when using the modbus interface since they are designed as network IO interfaces and not LabVIEW RT targets.
Q2: A mix of slower and faster IO modules does not have an impact on the performance between modules. The analog IO modules each have their own controller that is controlling the ADC, filters, etc... and placing the results in a shared memory buffer that the network module can access. Each module is asynchronous and independant of each other IO module. The mix of modules does have some effect on the network traffic when using the NI ethernet protocol. The NI protocol "Logos" is based on a publish/subscribe model that transmits data on change. Thus one high speed module with several low speed modules (and rapidly changing signals) will have a different overall performance than multiple high speed modules. Since the modules are asynchronous from the network controller, the network controller may read the same value from a slower module multiple times, while missing values from higher speed modules.
06-17-2006 10:00 AM
06-23-2006 10:51 AM
06-23-2006 11:35 AM
Thanks for your response. There is only one way to find out I guess and that is to try it. Therefore I have ordered a cfp1808 and a bunch of modules. I will post my findings (in about 3 weeks) for the benifit of anyone else who may want to do this.
10-10-2006 04:34 PM
10-11-2006 02:11 AM
Excellent. The performance of the direct modbus over Ethernet connection is very good. In terms of update time over the wire it does not seem to matter what modle I am reading or writing to. I dont have detailed timings but it is brisk, basically the packet comes back within a few ms indicating 100 Hz is possible.
One good feature is that you can still use Measuremetn and Automation explorer to configure the channels (filters etc) and read back the engineering units rather than the 16 bit adc conversions ( you can read both) the EU values come back as 4 byte floating point numbers that requires a tiny bit of unsafe code in C# to force the 32 bit data into a float.
One slight down side is that is is necessary to read each module independantly (1 to 8 channels) as there are massive gaps in the modbus memory map. If you try and read from an unallocated register a modbus error packet is returned. This means that I have to have multiple read - write request repsonse packets but this is OK as it means I only write to relays and outputs when they change in my program and ready things like temperature much slower than analogs I am using in slightly faster processes. I think if you wanted 100Hz from say all 8 modules it would not be possible but from one or two it is OK.
Overall, It is a very good product and will use it again. It was chosen because of the varity of signal conditioning avialable and customer preference for NI, there are cheaper modbus devices on the market I suppose. I have used modules from Acromag but the firmware in those hang for me and I think NI CFP is a far better product.
Dont know how it works in the Labview world as I currently dont use this.
Hope this helps someone.