Serious Performanc​e hit on RT (cFP 2120) using LV 8.5 compared to LV 8.2

Hello,
We have just finished a large project using LabView 8.2 and Compact FieldPoint (cFP) 2120 on a Windows XP Pro computer.
The system developed controlled equipment that forms critical parts of a Concrete Plant here in Norway.
2 Identical units whre installed controlling two almost (but not entirely) identical pieces of equipment.
The project has been a great success, and used technologies such as: StateDiagrams (StateDiagram Toolkit) to describe the System Processes, Network Shared Variables to transfer approx. 50 different  pieces of non-critical information over WLAN to a LabView based Surveillance Program in a Control Room from both "machines".
The CPU Load on the cFP was approx. 65 % which gives the ETS Realtime OS (RTOS) plenty of "room" to run its "maintenance threads".
After the last installation, we decided to try to migrate the system to LabView 8.5 on another Computer running Windows Vista. The system ported nicely and run on our test cFP 2120 as well.
We had done extensive performance / cPU Load tests on our 8.2 system, and new that in a particular setting the CPU Load was:
  *** 65% *** measured using the System Manager (disabling VI and Memory Monitioring).  (Absolutely max measured is 71 % when the system is running)
When we did the same test on the cFP running the LV 8.5 compiled code and with the LV 8.5 software installed on the cFP, we where in for a chock:
The CPU Load was *** 87% *** in the particular setting, and could run over 90%.
This renders LV 8.5 useless for our controll task. A setback, as we had plan to port our current code using the Statechart Module that we had bought for LV 8.5.
We also installed a VI to "Monitoring the CPU Usage of a LabVIEW Real-Time Target" found at this link:  http://zone.ni.com/devzone/cda/epd/p/id/4713
It turns oot that this VI gave us the same result as using the "System Manager" (if we summed the load for each priority), but also gave more info about the load at each priority.
We of course did not run the System Manager at the same time, as this would cause a conflict: We either run the System Manager or the VI above. When the System Manager was run, the Vi above was
disabled !
We are running updating of the 50 Network Shared Variables in a Normal Priority Thread. The 9 StateDiagrams are each running in a Separate Thread started by including the VI for the StateDiagram in a  Timed Sequence with one frame: This gives all these Processes "Very High" Priorty and you can see that most of the work is done at this priorty level. The Very High Priorty level uses Single Process  Shared Variables with FIFO to send the variables to the Network Shared variables in the "Normal Priorty" Thread.
The Shared Variabel Server is run on the PC in the Control Room and not on the cFP.
Below you can see the Installed Components and the Performance Result for the cFP when Running configured for LV 8.2 and 8.5.
For LV 8.5, the performance of each Priority Level is degraded with the same percentage (approx 30%) which is really serious.
National Instruments Engineers: Please help identify / fix this problem and give us a Time frame for when the problem can be fixed!
LabView 8.2 Installed Components on cFP 2120:
http://objective.no/gostemp/cFP_Components_LV_8-2.​jpg
LabView 8.2 cFP 2120 cPU Load:
http://objective.no/gostemp/cFP_LV_8-2_CPU_Load.jp​g
LabView 8.5 Installed Components on cFP 2120:
http://objective.no/gostemp/cFP_Components_LV_8-5.​jpg
LabView 8.5 cFP 2120 cPU Load:
http://objective.no/gostemp/cFP_LV_8-5_CPU_Load.jp​g
regards
Geir Ove Skjærvik
Objective Technology
Norway
Geir Ove

Hello,
I have reproduced the problem in a minimalistic test application !
Download the test from this link: http://objective.no/gostemp/lv_8_5_probleml.zip
This is how the test looks: http://objective.no/gostemp/LV-8-2_8_5_Test_01_vi.​jpg
The ZIP file contains the following files:
a) LV-8-2_8_5_Test_01.vi    -  The test VI itself
b) SK1_Host_Remote_Panel_Shared_Variables.lvlib   -   The Network Shared Variables that I use only one of in this test (SK1_Error_Code)
c) Interprosess_Data.lvlib  -  The Single Process Shared variables that I use only one of in this test (Reported_Error_Code)
I have not included a Project File and you need a Compact FieldPoint to test this. I have a cFP 2120.
Now to the intersting figures:
Compiled under LabView 8.2 this application runs with 21 % CPU Load as measured by the System Manager on the cFP 2120.
Compiled under LabView 8.5 this application runs with 42 % CPU Load as measured by the System Manager on the cFP 2120.
This is a dramatic degradation of Performance !
I have not yet investigated if removing the Shared Variables will change this.
NI: Please Help locating this problem !
The only thought I have is this: Does LV 8.5 take care of the change of the Shared variables when the two .vlib libraries are moved to a 8,5 project ?
Geir Ove

Similar Messages

  • Problem with slow execution on a cFP-2120

    I have an application that runs on a cFP-2120, using web interface for the user to interact with the program.
    I have noticed that in order to get the web interface to get updated I have to use property nodes and write to the value property, see this article:
    http://digital.ni.com/public.nsf/allkb/FC5024A5DD6344C886256C8C0054689B?OpenDocument
    However, this seems to give me a serious performance hit, as described here:
    http://forums.ni.com/ni/board/message?board.id=170&thread.id=153531&view=by_date_ascending&page=1
    I have tested with this code, and with my LV 8.2 a loop that uses 277ms to complete when writing directly to a indicator will use 203159ms when using a property node.
    So, I need to update several front panel objects using the value property, but can't afford the cpu time. Does anyone have a suggestion how to do this as efficiently as possible? The problem is apparantly that using the value property requires the front panel to be loaded - can I for instance avoid doing this once for each variable?

    I've changed the vi now so it only writes to value property when a value has changed. This has cut execution time in half, from 500ms to 250ms. I still think this is quite a lot...
    To give you an indication of "size", the executeable is 1210kb with 2 dll's of 872 and 168kb.
    I've not tried deploying a smaller (cut down?) version - what exactly do you mean?
    With regards to writing to value instead of locals or directly - I've had problems with the values not updating - but not always - and the first link does suggest a bugfix. I'd like to know why wiring to value property is sometimes needed and sometimes not.

  • Why will MAX not recognize cFP-2120?

    The status light on mycontroller was flashing 4 times. Following advice from other posts I assumed the flash was probably corrupted. I was able to format it by going to Safe Mode and right clicking on my controller in MAX and selecting format hard disk. After the controller rebooted, reset my network configuration and name of the controller and hit Apply (controller rebooted again to apply these settings). After the controller rebooted (still in Safe-Mode), I tried to add software to the controller (with MAX), but operation kept timing out. Was getting two flashes on status LEDs. Tried getting out of safe mode but kept getting two flashes. Got back in safe mode but kept loosing connection. Then I manually reset the cFP-2120 by flipping the dipswitch (switch 7 to “OFF” and switch 8 to “ON”) on the front of the controller and rebooting the cFP-2120.  Flipped the dipswitch (switch 8 to “OFF”) on the front of the controller and rebooted the cFP-2120.  After the controller rebooted, I was unable to reset my network configuration for the devices listed and I did not get and indication that 0.0.0.0 was connected even though my PC is saying I am connected. Now the LED is flashing only 1 time but I cannot get to the IP config info to change it and MAX is showing the cFP-2120 as disconnected. If I go into Safe Mode using switch 7 I still only get one flash on the status LED. At least the LED isn't staying lit!
    What do I do now?

    Where exactly are you right now?  Does the status LED flash once when the IP reset switch is on and twice if it is off?  Or is it only flashing once now? 
    If its just flashing once now, we may want to stop looking at the FieldPoint and start looking at the host computer.  Is there a firewall or virus scan that might be blocking IP 0.0.0.0 or blocking the UDP port?
    Justin Parker
    National Instruments
    Product Support Engineer

  • MAX error 7411 when downgrading cFP 2120

    Hello,
    I am running LV 8.2 for an old Industrial project that I am doing some changes to. The project is running on a cFP 2120. That cFP is running 24*7 in production.
    The actual cFP 2120 I am trying to test my software on, currently has LV RT 2009 installed.
    But I now need to downgrade it to LV RT 8.2.
    I first tried using the MAX version (4.0.x) installed in LV 8.2, but when trying to do"Add/Remove" software, I get Error7411 as shown in link below:
    http://objective.no/gostemp/max_error_7411.jpg
    I then tried to install MAX from my LV2009 distribution in the LV 8.2 environment. Installed fine, but when trying to run it, it complained that it was not properly installed.
    I restored my PC, and tried to install MAX 4.4.1 from a LV 8.5.1 distribution. This version of MAX works fine, but I get the same Error 7411 when I try to click the "Add/remove"  software button.
    So, the question is:
    a) How do I clean the rt software (RT 2009) from the cFP2120 so that I can do a clean install of LV RT 8.2 onto it?
    Please help, as all my searching has not given me any clue on how to do this !
    Geir Ove

    Hello Muks
    Yes, I have seen that. Upgraded to Max that came with LV 2009, that rendered MAX useless: It complained about a "faulty installation".
    Restored XP computer, and tried with MAX that came with LV 8.5.1. That version of MAX worked, but I get the same problem.
    Funny that National haven't thougt of this. There should be a way of "cleaning" software off a cFP so that one could start with blank sheets and install any LVRT version onto it !
    Any help from National Instrument staff?
    Geir Ove

  • Cannot connect to cFP-2120 via FTP

    I am using several cFP-2120 running LV RT 8.2.1 with the FieldPoint drivers version 5.0.1. for process control and data acquisition. All data are logged to a file and broadcasted via network-shared variables. The data files can be downloaded using an external ftp client. Lately, two of our units have been giving me some trouble as I sometimes can not access the cFP2120s via ftp. I can ping the unit on the network though, all programs are still running and I can still access the network-shared variables. Only a reset of the controller seems to solve the issue.
    Any pointers would be greatly appreciated.
    Volker 

    Kyle,
    Thanks again for contributing.
    > Can you only connect one time after you reset and it stops working if you try to reconnect shortly there after or does it work for awhile and then eventually it stops working?
    After we reset the controller it seems to always work for awhile before it stops working again.
    > Are you using the controller to perform any other tcp communications with an other servers, besides the network shared variables? 
    Our system is configured as a slave on a Modbus TCP network and is queried typically once a minute.
    > Whats your memory usage on the cFP? Do you have the System State Publisher software loaded? Try connecting with DSM and see how much CPU and Memory usage you are using.
    No, I havent done this yet. I think this was instroduced with LV8.6? I just upgraded to the latest LV version and will investigate. This will take a week though.
    > Can you check the timeouts in MAX to make sure they didn't get changed? Right click on the cFP and select Communication Timeout Settings. From stock they should be 15000 ms.
    The timeout in MAX is still 15000ms.
    > Are these cFP dedicated to just this one task or are they reconfigured from time to time?
    We only reconfigure these units when we upgrade the software. This has been less frequent lately and happens maybe once a year.
    All the best,
    Volker

  • Embedded LV 8.0 Real-Time application on cFP-2120

    Hi!
    I'm working on a project which involves programming of a real-time application running on a cFP-2120. The purpose of the application is to control the motion over 7 test-objects with a servomotor.  Test-objects have 3 sensors each. Remote control of the application is necessary. The program should have a GUI which shows graphics of sensordata and buttons to open other VIs like set-up, details, logging etc.
    Could i just build an application like it was meant to run on a pc, deploy it to the cFP-2120 and use Connect to Remote Panel ?
    Or
    Should I build separate VIs;
    -the program which always runs on the cFP-2120 and
    -the User Interface which is runned on a computer now and then which gets value from Network-Published shared Variables
    I need some tips here 

    I would definitely go for the second option, esp. if you want to have this program for a longer time.
    It's much easier to write a good GUI on the PC without the limitations of a real time OS. There you have to keep too many things in mind (esp. no dynamic arrays, performance issues due to GUI programming, not too many sub VIs)... So write a quite minimal control software for FP and do all the interface stuff on the PC. Then you can easily log all the data into a database (if you have the DSC Engine) as well.
    Cheers,
      Carsten

  • MAX doesn't discover cFP-2120 under VISTA

    Hi All!
       In a PC with Windows VISTA, MAX 4.3, with latest fieldPoint drivers (6.0) doesn't see cFP-2120 modules.
       I'm connecting to an unconfigurated module, and it is not seen from MAX. At the beginning of this test, I could connect to an already configured cFP-2120 module, which resides on the same subnet.  Now, I can't do that!
       Note that, in the same PC, I run a Virtual Machine with Windows XP, and older MAX 3.1.1, with this I can see both modules (separately, since I use crossed cable from PC to cFP).
       The Virtual Machine, when launched, run on the VISTA OS.
       I suspect that there's something I'm missing of VISTA network configuration, a packet filtering, or something like that.  I've seen many options in VISTA, for Ethernet adapter advanced properties....
       Of course, I've already turned off all firewall, antivirus, and antivirus' own firewall.
       The strange thing is that with this same PC, I configured a week ago a cFP-2120, but since I'm not the only one working with this laptop, maybe someone changed something.
       Any idea? Thanks!
    graziano

    No problem Graziano,
    feel free to contact us if you have any problem.
    Best regards,
    Fabio
    Fabio M.
    National Instruments
    Embedded & OEM Systems Engineer

  • I need check the range channel in cFp-2120 in file Configuration Programmble

    how check the range channel cFP-2120 Programmble to check if the range change or not

    Hi,
    The range of the channels is not going to change after you configure the task. However, you can programmatically set the range with the Configure Range.VI. This is located in Measurement I/O >> FieldPoint >> Advanced >> Ethernet Advanced. I hope that you find this information helpful.
    Regards,
    Hal L.

  • LV8 upgrade for cFP-2120 with LVRT 7.1

    We need to update the embedded software for cFP-2120 units distributed to customers.  The units are shipped with LVRT 7.1 and the embedded programs are written in LV 7.1.   We have installed LV 8.  Can we update the LV 7.1 programs to LV 8 and then update the embedded programs on the cFP-2120?

    You need to do a couple things first.  You need to perform a Mass Compile on all of your VIs to update them to LabVIEW 8.0.  Also, you need to update your cFP-2120 to RT 8.  Once you have done this, you can update the VIs on the cFP with the 8.0 ones.  Here are a couple of links to help you out.
    Updating controller:
    http://digital.ni.com/public.nsf/websearch/788668A298E28DDD86256B46000BDAE6?OpenDocument
    Mass Compile:
    http://zone.ni.com/reference/en-XX/help/371361A-01/lvhowto/mass_compiling_vis/
    Regards,
    L. Allen

  • Measure data using RS-485 Port on cFP-2120

    I have cFP-2120 with one RS-485 Port, One RS-422 and one RS-232 Port available, i want to measure data using the exisiting RS-485 Port on cFP-2120.
    I have Rx and Tx Signals from my equipment. Two wire
    Also i have RS-485 Enabled device with 4 port availble. I want to use RS-485 connected with RJ-50.
    Also give me pinouts for Rx and Tx.
    Thanks.

    I am a little confused by your statement "I have cFP-2120 with one RS-485 Port, One RS-422 and one RS-232 Port available".  The cFP-2120 has 3 RS-232 ports and only 1 RS-485  (or RS-422).
    Look in the manual for the cFP-2120.  Here is a link. http://www.ni.com/pdf/manuals/371380b.pdf  Pages 3-7 thru 3-10 have information and pinouts for the serial ports.  It also tells how the RS-485 port is a 4-wire port, but it can connect to a 2-wire RS-485 installation with jumpers and special programming to account for the echo back of outgoing commands.  Another alternative to 4-wire to 2-wire conversion is to get an RS-485 isolator that would have switches to set one side to 4-wire and the other side to 2-wire.  I have used this one from B&B electronics successfully.  Though you say you are using 4-wire on your device, so you would not need it unless you have the need for electrical isolation between the device and your cFP.  Perhaps the discussion of 2-wire was a misunderstanding.
    Remember that the transmit lines from your device will go to the receive lines of your cFP and vice versa.  The polarity of + and - should match between the two devices.  TX+ to RX+, TX- to RX-,  RX+ to TX+,  RX- to TX-, and GND to GND)
    As for VISA, you would just configure it like you would any RS-232 device with the baud rate, parity, and stop bits to match your device.
    Centerbolt, thanks for the kind words and posting the link to the other thread.

  • Cfp-2120 serially trasmit IO module data

    We have a  cFP-2120 with AO, DO, DI, and AI modules connected.
    All work fine.  Using Ethernet communications.
    Can apply a voltage on the AI and do a FP Read ala the example Analog Input.vi
    Receive expected measurement.
    Curious if its possible to alternatively do this with a serial connection.
    Can I send an FP Read through serial connection and read back the resulting IO module channel value through the same serial connection?

    Wes_OH - the FP-100x (As well as the cFP-180x) are not "intellegent" controllers, meaning you cannot run LabVIEW RT on the controller.  You read data from the 100x to your PC over a serial connection.  The RT controllers (like your 2120) do not send data over the serial port, they publish their I/O over Ethernet.  The serial port on the 2120s are available so your embedded application can utilize the port for serial communication, it is not intended to be used the same way as a FP-1000 or cFP-180x serial port.
    You may still be able to use the FP-1000 application with your 2120, it depends on how the FP-1000 application was written.  Is it a LabVIEW application?  Is it using the Optomux VIs to communicate with the 1000?  Or is it using the FieldPoint Write and Read VIs?  If you are using the Optomux VIs, then you cannot reuse the application because the 2120 does not have a Optomux server running on it.  If you are using the FieldPoint Read and Write VIs, then there is a good chance you can reuse that application because those VIs support Optomux (over serial) and Ethernet communication (for the 2120) depending on the I/O Point you are trying to communicate with.
    -Tommy

  • Communicating with serial peripherals via cFP 2120

    Hi, I'm using a cFP 2120 for taking measurements from RTD's and I connected the cFP to my PC using an ethernet cable. Since I have to read data also from a temperature controller which communicates using a serial port RS232, I want to know if I can plug it to the cFP, and how can I configure it with MAX or read from LW.
    Thanks
    sandrino82

    I have several applications that do this very thing.
    You can use the RS232 port on the cFP to talk to your instrument.   There are a couple of issues to consider.   The cFP does not have a VISA Server in it.  That means that the cFP can't make the COM port available to the network.  The cFP COM port must be accessed by a vi running on the cFP and the data passed on to the remote PC.  The COM port should always be fully configured by your vi.  There is no need to use MAX.
    Can you describe your existing software?  Does it include a host and target?

  • CFP-2120 & MAX 3.1.1

    Hi all!
       I've tried to install software on cFP-2120 with my old MAX 3.1.1 from my WindowsXP-based PC.  When it comes to software choose, Real-Time is not shown among other options.  So I'm unable to install Real-time software (RT 7.1) on cFP-2120.  If I connect to a cFP-2020, I can correctly install Real-Time on target.
       To fix this, I've installed MAX 4.1, unistalled newer VISA and Serial RT software (RT 7.1 seems not compatible with SERAIL RT 3...), and installed older Serial RT and VISA on new MAX 4.1.
       Is this behaviour expected? Is there a compatibility list of cFP modules, MAX, RT software and drivers?
       Thanks everybody!
    graziano

    Hi Graziano,
    maybe this is the document you need:
    http://digital.ni.com/public.nsf/allkb/B730A501736C999486256E59005A5BD7?OpenDocument
    The problem could be related to Field Point driver version.LabVIEW 7.1 and 7.1.1 RT components for the cFP-21xx were introduced with Field Point driver version 4.1.1.
    Clara
    AE Manager
    NI Italy

  • Maximum useable memory on cFP-2120

    I'm currently running the cRIO-9004 with the cFP-2120.  I am only
    able to take 233mB of data before it stops recording.  It
    currently has a 1Gb CF card installed in it, and I'm wondering if the
    reason has to do with the cFP not recognizing the size of the card
    correctly.  The manual states that it will use cards up to 512mB
    in size...
    I don't have any 512 cards handy, or I'd try it myself.  Any input
    would be appreciated, as I'm supposed to be using this in the field
    first thing Monday morning...
    TIA
    Dan

    Yes, I'm accessing the d:/ drive.  After reading the manual, it
    appears that the cFP-2120 doesn't recognize anything larger than
    512mB.  I'm currently testing with 512 card now, and should know
    whether or not it works properly in about an hour and a half...
    Dan

  • Does the cfp 2120 have a battery backed up clock

    Hi im currently devloping the cfP 2120 with 2 relay cards a AIO card and a thermo couple card, and it will be running for long periods of time logging data and using th clock to time stamp the files, In  a standalone fasion
    In the event of a power out will the cfp2120 keep the time?
    IT will not always be conencted to a ethernet. so i wondered if there is a small litum battery backup for the RTC inside it
    many thanks,
    Chris

    Hi,
      yes there's is a single 3V lithium battery inside the cFP 2120.
    Usually you'd hook up to a time server to handle for any time slipages, or just to make sure that all the units on the network are working from the same timestamp, but if you don't want this, then set the time-server to 0.0.0.0. (You can use this to prove whether the battery is keeping the time by setting it to 0.0.0.0, then run some code to write a file (it will be timestamped, or but the current time into the text of the file) and then switch it off for a couple of minutes. On power up, check the time again.)
    http://digital.ni.com/public.nsf/allkb/9926C6EC966DAC558625704900612D68
    http://digital.ni.com/public.nsf/allkb/C4E56AD6450FC5FD86256DFF0007FF01
    Hope that helps
    Sacha Emery
    National Instruments (UK)
    // it takes almost no time to rate an answer

Maybe you are looking for