Error 2147138480 in Set Scan Engine Mode to Actif
Hi all,
I'm fighting in front of this error which occur and does not want to go away (even after trying everything)...
The error (-214713840) is happening when trying to set back the Scan Engine Mode to actif.
It says: "The slave device could not be found. The positional addresses within the LabVIEW project are inconsistent with the actual network topology. [...]"
I was trying to program the detection of the loss of a CompactRIO chassis when this error first occurr.
I have 2 CompactRIO "EtherCAT" connected to a RT computer.
Thanks for all the help or suggestion you can provide me ;-)
Cheers,
Laurent
Hi Laurent,
I don't know if your problem has been solved but I prefer asking.
Are you sure of the error code you encounter ? I don't find it in the manual or other places.
Regards,
Mathieu P. | Certified LabVIEW Associate Developer
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
Journées techniques : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...
Similar Messages
-
Generating executable scan engine mode
I've developed a software using Labview Scan mode engine. There's a main that will run on the PC and no VI embedded. I need to generate an executable and run it on a PC that doesn't have Labview installed. I want to know if I have to deploy something on the cRIO, and if I have to configure the cRIO on MAX on the PC that it will run, or if not, how do I configure it?
Hi Thuany,
Well, the dependencies of the Windows Application will depend on how you programmed your VIs. Can you post your Project so that I can see how you did it and provide you a better answer?
Thanks
Felipe Flores
Engenharia de Aplicações
National Instruments Brasil -
HI
we have a error in the health status of our FPE 2010 console and we have below error
event id 6020
Microsoft Forefront Protection encountered an error while performing a scan engine update.
Scan Engine: Cloudmark
Update Path: http://forefrontdl.microsoft.com/server/scanengineupdate
Error Detail: An error occurred while processing the universal manifest.
Able to telnet the below and even Content Filter is enabled.
telnet cdn-microupdates.cloudmark.com 80
telnet lvc.cloudmark.com 443HI
we have a error in the health status of our FPE 2010 console and we have below error
event id 6020
Microsoft Forefront Protection encountered an error while performing a scan engine update.
Scan Engine: Cloudmark
Update Path: http://forefrontdl.microsoft.com/server/scanengineupdate
Error Detail: An error occurred while processing the universal manifest.
Able to telnet the below and even Content Filter is enabled.
telnet cdn-microupdates.cloudmark.com 80
telnet lvc.cloudmark.com 443
Ours has also started reporting failed updates since about 2AM GMT this morning on both of our Edge servers.
Jeff -
All,
I have a cRIO-9068 that I am trying to use the scan mode for. I have intalled all the latest drivers and software as explained. However, when I set my chassis to scan mode and then select deploy all, I recieve this error on my chassis and all of my modules:
"The current module settigns require NI Scan Engine support on the controller. You can use Measurement & Automation Explorer (MAX) to install a recomended software set of NI-RIO with NI Scan Engine support on the controller. If LabVIEW FPGA is installed, you can use this module with LabVIEW FPGA by adding an FPGA Target Item under the chassis, and drag and drop the module onto the FPGA Target Item."
Has anyone experienced this or know why labVIEW won't recognize that the software is installed on my cRIO or is it not being installed correctly?
Solved!
Go to Solution.So I found that the target's Scan Engine was in Configuration mode. After placing it in Active, I was able to deploy all of the modules on the cRIO target. However, now I cannot deploy any of my modules on my EtherCAT NI 9144 racks regardless of which scan mode I place the Scan Engine. I verified that I have all software on the cRIO target I need. I was also able to find the EtherCAT slaves and their modules on MAX and I was able to add them to the project. The problem I am having is being able to deploy them. I have gone through the procedure outlined in the manual provided with the EtherCAT racks and the following link with no issues: http://www.ni.com/white-paper/10555/en/
The top LEDs on the EtherCAT racks are solid yellow and the bottom are solid green. Does anyone know why I may be having this problem? -
Setting thermocouple type in scan engine
I am using cRIO 9211 to acquire thermocouple data using NI Scan Engine. I don't see any option to specify the type of thermocouple other than by right clicking on the module (in project) and selecting Properties.
Is there a way to programmatically set the type of thermocouple?
If this is not possible, can I can read the cjc and offset channels, so that I can convert the raw voltage to temperature in my RT code?
Will I be able to read the cjc and offset channels if I use NI Scan Engine Advance I/O Access?
"A VI inside a Class is worth hundreds in the bush"
യവന് പുലിയാണു കേട്ടാ!!!Cross posted here.
"A VI inside a Class is worth hundreds in the bush"
യവന് പുലിയാണു കേട്ടാ!!! -
Error message : Nortons Anti Virus could not load the scan engine
Having installed OSX Leopard on my MacBook. Nortons Anti Virus 10.0 displays the ERROR MESSAGE Norton AntiVirus Auto-Protect could not load the scan engine. Please run live update to get the latest version.(Code:6).
Have reinstalled the software and tried updates and i still get the same error message.
Any suggestions on how to remedy this problem ?http://service1.symantec.com/Support/num.nsf/docid/2007102700270911?OpenDocument &seg=hm&lg=en&ct=us
if you followed those steps, my next step would be to contact Norton -
SQL Server: 2008 R2 SP2
Before describing my problem, I have gone via the forum, there is no view or functions inside my stored procedure
When running a particular stored procedure inside crystal report, the error " Could not continue scan with nolock due to data movement" comes once every few weeks. After I clear the query cache plan, it works again for few weeks and the problem
comes again. During these few weeks, there is no restart or query plan clearing.
If I run the stored procedure inside SSMS, where the SQL statement is copied and pasted from SQL profiler during crystal report run, there is no error.
I discovered running in SSMS and crystal report generate 2 different query plans even I copied the SQL from SQL profiler, I have actually saved the query plans. Unfortunately, this forum does not accept attachments, or otherwise I will post my query plans
here.
There is one thing I notice about the query plan is during nested loop operation, there is a warning "no join predicate". I don't use any views or UDF in the statement, nor did I use pre-1992 ANSI join syntax. However, I did use table variables.
My guess is whether this will cause " Could not continue scan with nolock due to data movement", after I clear the cache, I run crystal report again, and I look at the plan again, the "nested loop no join predicate" warning is gone.
Running this stored procedure took 1 second maximum, even when this error is popping up, it pop up within 1 second.
DBCC checkdb has been run
The same stored procedure running by crystal report in a SQL 2008 (non r2) live environment has no problems, so I am thinking this is R2 specific problems.
The "nested loop no join predicate" error SQL statment is below, no views, no udf, but table variables
INSERT @ChequeAccount
SELECT PS.PaySummaryID, PS.EmployeeID, PS.CostCentreID,
(PS.GrossPay + PS.LumpSumA + PS.LumpSumB + PS.LumpSumD+ PS.LumpSumE+ PS.ETP+ PS.PaymentsAfterTax - PS.DeductionsAfterTax
- PS.Tax- PS.ETPTax + PS.TaxRebate) * -1 AS Amount,
CGLM.GLAccountID
FROM Pay_Summary PS JOIN Input_Sheet ISH ON PS.InputSheetID = ISH.InputSheetID AND ISH.PayrollID = @binPayrollID
AND PS.PaySummaryID NOT IN (SELECT PaySummaryID FROM @ChequeAccount)
JOIN Payroll P ON P.PayrollID = ISH.PayrollID AND P.EmployerID = @binEmployerID
JOIN CustomGLFixMapping CGLM ON CGLM.EmployerID = P.EmployerID AND CustomGLFixMappingNameID = 1 AND CGLM.CostCentreID IS NULLThe error Could not continue scan with nolock due to data movement can occur when you use the NOLOCK table hint, or use the command SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED. That is, so-called dirty reads. The error is not related to the
query plan per se, but when scanning a table, the storage engine will use an IAM scan rather than following the clustered index. If there is simultaneous activity, the storage engine may detect this and abort the operation to avoid returning incorrect data.
Or it may not detect it, and return uncommitted data or fail to return committed data.
All of these effects are transitory and they will not show up when you are alone on the system, only when there is concurrent activity in one or more of the tables in the query.
Using dirty reads is a risky business for the reasons explained above, and it takes careful analysis to understand whether you can live with the errors you can get from a particular query. The error about data movement can be handled: trap the error and
resubmit the query. But what about spurious incorrect results?
If you believe locking to be a problem, you should consider setting the database to READ_COMMITTED_SNAPSHOT
and take out all use of READ UNCOMMITTED/NOLOCK. When the database is in READ_COMMITTED_SNAPSHOT, readers read from the snapshot and only see committed data without blocking writers. This has some other effects like requiring a bigger tempdb,
and there is a risk for other types of concurrency errors, but they tend to be smaller risks.
I discovered running in SSMS and crystal report generate 2 different query plans even I copied the SQL from SQL profiler,
This is because SSMS by default runs with SET ARITHABORT ON. I discuss this in more detail in this article on my web site:
http://www.sommarskog.se/query-plan-mysteries.html
However, as I said, this problem is not related to the query plan as such, although some query plans are more susceptible to this error than others. (All plans are suscpeitble to produce incorrect results).
Erland Sommarskog, SQL Server MVP, [email protected] -
9236 enable shunt cal property crashes crio OS with scan engine
I would like to inform users of the 9236 Quarter Bridge Strain Gauge Module of a bug. The Real-Time team is aware of this issue and I have been working with an app engineer on it for about a week and he has confirmed my findings. He says the problem is most likely a driver issue or scan engine issue and they are investigating it.
There is a bug that completely crashes the cRIO operating system with the 9236 module. Currently when a cRIO device is loaded with LV2009 SP1 or LV2010 and using scan engine interface, attempting to write the "shunt cal enable" property of a 9236 module completely crashes the VxWorks OS. If you try to access the property again, the crio crashes and enters an error state where the crio has rebooted twice without being told to. The LED indicator blinks four times to indicate this.
I have tested this with a few different hardware combinations with both the crio-9014 and crio-9012 controllers, combined with either the 8-channel 9104 back plane or the 4-channel 9102 back plane with the same results. The app engineer was able to duplicate this issue as well.
To duplicate the bug:
Load a crio device with 2009 SP1 or LV2010 and configure the device for scan engine. Locate the 9236 module in the project explorer and drag and drop it into a VI to create the IO variable. Right click the output terminal of the IO Variable and go to create > property > enable shunt calibration on a channel. Once the property is dropped, right click on it and do change to write so that you can write a boolean to the variable. It doesn't matter if you write a true or false to the property, the results are the same. Hit run, watch it crash. When it reboots, hit run again. The crio is now in a state that can only be recovered by physically resetting the device.
I love the crio stuff and I use it every day because it is very reliable and robust. This kind of thing is rare, which is why I am reporting it to the community as well as NI as it is a pretty big bug that took me a while to narrow down.
[will work for kudos]rex1030,
Shunt calibration can be accessed using a property node. The operation will be the same, you still need to acquire two sets of data and compute the scalar.
You can obtain the necessary reference by dragging the module to the block diagram from the project. Please see http://zone.ni.com/devzone/cda/tut/p/id/9351 for more information on programmatic configuration.
Let me know if you have any other questions.
Sebastian -
Hello, I am trying to deploy a program on the real time controller of a compactRIO. I decided to use scan mode for now. However, when I try to run my VI I get the following error:
One or more items in this deployment require the NI Scan Engine and corresponding I/O driver(s) to be installed. Go to MAX to install.
If you continue to encounter this conflict, refer to the "Deploying and Running VIs on an RT Target" topic in the LabVIEW Help for information about resolving target deployment conflicts.
I have LabVIEW real time on my machine so I don't know what the reason for this is and I can not find under MAX where to install the scan engine (again I assume it is already installed).
I am using LabVIEW 8.6.1 and the modules I use on my cRIO-9073 are the 9477 DO module and the 9205 AI module. Any help would be appreciated.
Solved!
Go to Solution.if I tried to install the software software at the NI Max
but it give error
"The selected target does not support this function"
how to fix this error,
what problem with it
thank you
Msyafiq
Attachments:
install error.jpg 128 KB -
Shared Variables, Scan Engine & Multiple Targets
I am seeking some general advice about the structure of my LabVIEW project.
The project consists of a laptop with LabVIEW, and a joystick connected, and a CompactRIO connected via ethernet. I had been running the cRIO in FPGA Interface mode, however a change in some things caused the project to have to be shifted to scan mode.
As of now, the code on the laptop updates shared variables on the cRIO, and reads from shared variables on the cRIO for monitoring. I want the shared variables hosted on the cRIO because it will also need to operate without the laptop connected. Before switching the cRIO to scan mode, I found that I had to first run the laptop code, and then run the cRIO code, or the shared variables would not communicate properly. Now that I have switched to scan mode, I have to run the cRIO code first, and even then the shared vars do not communicate properly for more than a few seconds, and are much laggier.
My ideal project solution is a system that can run with or
without the laptop connected, and obviously not having all these shared
variable issues. I would like to autostart the code on the cRIO, and
have the user run the laptop code if necessary, but in the past this did
not seem to work with the shared variables.
I am really confused about why this is happening. Hopefully I have explained my problem well enough. I don't really want to post the entire project on here, but I can email it to people if they are willing to take a look at it. Thank you for taking the time to read this.
I am running LabVIEW 2010 SP1 with the Real-time, FPGA, DSC, and Robotics modules. I have the Feb '11 driver set and NI-RIO 3.6.0 installed and all completed updated on my RT cRIO.
Solved!
Go to Solution.I do this type of stuff all the time...
Move all your NSV libraries to the cRIO. From the project you must deploy to the cRIO and from then on they are persistant until you reformat.
From your windows HMI app, you can place static NSV tags on the block diagram or use the dynamic SV API to R/W. Also you can bind HMI controls and
indicators directly to cRIO NSV's (This is what I do) Also I create a 'mirror' library in the PC HMI that is bound to the cRIO library. This library has DSC Citadel
data logging enable and will automatically save historical traces of all my important data - very nice. PC hosted libraries can be set to autodeploy in the app build.
also the project has a autodeploy option for the Development Environment which I normally turn off. If you have PC to cRIO binding setup then you need to be cautious
about any sort of autodeployment since it will potentially force the cRIO app to stop when you deploy. To get around this, you can use PSP binding (IP address rather than project
process name) and use the DSC deploy library vi's in your HMI app. Once you are using the scan engine you can use the DSM (Distributed System Manager) app to view, proble and
chart all of you IOV and NSV's on your network. -
Scan interface mode erreur -805
Bonjour,
Je suis débutant de système Compact RIO. J'ai quelques questions sur le scan interface mode.
Le matériel que j'utilise est
le contrôleur cRIO-9012 et chassis cRIO-9101 intégré
une carte AI 9205
une carte DIO 9401
Je voudrais utiliser le scan interface mode pour comprendre le fonctionnement des cartes, dans le FPGA interface mode, ça prend du temps pour la compilation.
Le chassis ne supporte pas le scan interface mode, alors je configure les 2 cartes individuellement en utilisant les I/O variables. Ensuite je crée un VI tout simple pour lire la tension de la carte AI. J'obtient une erreur -805 : Timing source ,synchroniser avec le moteur de balayage.
J'ai vérifié aussi dans MAX, le soft NI scan Engine est bien installé.
Quelqu'un pourrait me dire d'où vient ce problème?
Merci d'avance.
Lily
Solved!
Go to Solution.
Attachments:
scan interface mode.zip 22 KBBonjour,
Erreur -805
est relatée à un bug dans la version localisée de LabVIEW.
LabVIEW Stops Execution After Synchronizing With Scan Engine :
http://digital.ni.com/public.nsf/allkb/81977F8BE192C7C48625754C0075D93E?OpenDocument
Erreur
-66205 peut être un résultat de l'erreur précédente, mais aussi parce que les
variables partagées ne sont pas déployées (correctement).
Comme expliquer dans l'article proposer par « speleato »
(http://digital.ni.com/public.nsf/allkb/122E971F52FD081A86257500007A046C), vous
devez compiler et exécuter le « Blanc VI » du FPGA enfin the déployée la
logique nécessaires pour le « scan mode », utilisant la fonction « Open
FPGA VI Reference » dans le « test 9205.vi ».
Le moment
que la logique est déployée, l'erreur doit être disparue.
ENGLISH :
Error -805 is related to a bug in the localized versions of
LabVIEW.
LabVIEW Stops Execution After Synchronizing With Scan Engine :
http://digital.ni.com/public.nsf/allkb/81977F8BE192C7C48625754C0075D93E?OpenDocument
Error -66205 can be a result of the previous error, but more
likely it is because the shared variables are not deployed (correctly).
As explained in the article refered by « speleato » (http://digital.ni.com/public.nsf/allkb/122E971F52FD081A86257500007A046C),
you need to compile and execute the « blanc VI » on the FPGA target
to deploy the needed « scan mode » logic, using the "Open FPGA VI
Refernce" function in the "test 9205.vi".
Once this is done, the error should have been gone.
Best regards,
Joeri
National Instruments
Applications Engineering
http://www.ni.com/ask
Make our forums great:
If you like the answer, don't forget to "Kudos!".
"Accept the Solution" if your question is answered! -
Error initiating process in single instance mode
We have implemented Guided Procedures and have included a visual approval step to review an employee's supporting documentation before an Admin makes changes based on the approval request, and also KM documentation steps and iViews. Lately in the Alerts monitoring area I am seeing multiple errors.
I have checked the callable objects and all pass the check (including input and output parameters, results states, process exceptions and configuration parameters) however the error keeps showing up. Within the process instatiation tab the process is set to 'single running process is permitted for each user'.
Does anyone know what may be causing these alerts, and how do you repair them?
The full alert is below:
Error initiating process in single instance mode
com.sap.caf.eu.gp.model.pfw.core.SingleInstanceProcessException: Error initiating process in single instance mode
at com.sap.caf.eu.gp.model.pfw.core.impl.ProcessRuntime.startProcess(ProcessRuntime.java:1049)
at com.sap.caf.eu.gp.ui.inst.CInstantiation.initiateProcess(CInstantiation.java:533)
at com.sap.caf.eu.gp.ui.inst.wdp.InternalCInstantiation.initiateProcess(InternalCInstantiation.java:199)
at com.sap.caf.eu.gp.ui.inst.VData.onPlugFromWizard(VData.java:174)
at com.sap.caf.eu.gp.ui.inst.wdp.InternalVData.wdInvokeEventHandler(InternalVData.java:166)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.navigate(ClientApplication.java:826)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.navigate(ClientComponent.java:881)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doNavigation(WindowPhaseModel.java:498)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:144)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:333)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:761)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:696)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:869)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:229)
at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1346)
at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:356)
at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:549)
at com.sap.portal.pb.PageBuilder.wdDoRefresh(PageBuilder.java:595)
at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:867)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:333)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:712)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)Hello,
The GP SingleInstanceProcessException is normal when using
Single instance process instances which for example ESS uses.
If you have single instance processes and you try to start an already
started instance, the exception will appear but will not cause problems.
It notifies the UI to redirect to the previous process instance.
It is expected behaviour.
Thanks and best regards,
Carl Connolly
Senior Support Consultant - Netweaver Web Application Server
AGS Primary Support, Global Support Centre Ireland
Guided Procedures trouble shooting guide:
https://
www.sdn.sap.com/irj/scn/wiki?path=/display/jstsg/%2528gp%2529home -
Optimizing EtherCAT Performance when using Scan Engine
Hello everyone,
This week I have been researching and learning about the limitations of the LabVIEW's Scan Engine. Our system is an EtherCAT (cRIO 9074) with two slaves (NI 9144). We have four 9235s, two 9237s and two 9239 modules per chassis. That means we have a total of 144 channels. I have read that a conservative estimation for each scan is 10 usec. This means with our set up, assuming we only scan it would take 1.44 msec which would yield roughly a rate of 694 Hz. I know that when using a shared variable, the biggest bottle neck is transmitting the data. For instance, if you scan at 100 Hz, it'll be difficult to transmit that quickly, so it's best to send packets of scans (which you can see in my code).
With all of that said, I'm having difficulties scanning any faster than 125 Hz without railing out my CPU. I can record at 125 Hz at 96% of the CPU usage but if I go down to 100 Hz, I'm at 80%. I noticed that the biggest factor of performance comes when I change my top loop's, the scan loop, period. Scanning every period is much much more demanding than every other. I have also adjusted the scan period on the EtherCAT's preferences and I have the same performance issues. I have also tried varying the transmission frequency(bottom loop), and this doesn't affect the performance at all.
Basically, I have a few questions:
1. What frequency can I reasonably expect to obtain from the EtherCAT system using the Scan Engine with 144 channels?
2. What percent of the CPU should be used when running a program (just because it can do 100%, I know you shouldn't go for the max. Is 80% appropriate? Is 90% too high?)
3.Could you look through my code and see if I have any huge issues? Does my transmission loop need to be a timed structure? I know that it's not as important to transmit as it is to scan, so if the queue doesn't get sent, it's not a big deal. This is my first time dealing with a real time system, so I wouldn't be surprised if that was the case.
I have looked through almost every guide I could find on using the scan engine and programming the cRIO (that's how I learned the importance of synchronizing the timing to the scan engine and other useful facts) and haven't really found a definitive answer. I would appreciate any help on this subject.
P.S. I attached my scan/transmit loop, the host program and the VI where I get all of the shared variables (I use the same one three times to prevent 144 shared variables from being on the screen at the same time).
Thanks,
Seth
Attachments:
target - multi rate - variables - fileIO.vi 61 KB
Get Strain Values.vi 24 KB
Chasis 1 (Master).vi 85 KBHi,
It looks like you are using a 9074 chassis and two 9144 chassis, all three full with Modules and you are trying to read all the IO channels in one scan?
First of all, if you set your scan engine speed for the controller (9074), then you have to synchronize your Timed Loop to the Scan Engine and not to use a different timebase as you do in your scan VI.
Second the best performance can be achieved with I/O variables, not shared variables and you should make sure to not allocate memory in your timed Loop. memory will be allocated if an input of a variable is not connected, like the error cluster for example or if you create Arrays from scratch as you do in your scan VI.
If you resolve all these Issues you can time the code inside your Loop to see how long it really takes and adjust your scan time accordingly. The 9074 does not have that much power so you should not expect us timing. 500 Hz is probably a good estimate for the max. Performance for 144 channels and depending on how much time the additional microstrain calculation takes.
The ECAT driver brings examples which show how to program these kinds of Apps. Another way of avoiding the variables would be the programmatic approach using the variable API.
DirkW -
Open data set from Text mode to Binary mode
Hello All,
In a program i am using the command
OPEN DATASET file FOR OUTPUT IN TEXT MODE
ENCODING NON-UNICODE IGNORING CONVERSION ERRORS.
Now i want to change this open data set to binary mode. I mean to change the command like below.
OPEN DATASET file FOR OUTPUT IN BINARY MODE.
when i do this. the output in the file is totally changing. I mean previously i have some text now i have some diffrent characters.
How can i use this command with out change in the output as previous output. Please tell me the changes and why i have to do.
OPEN DATASET file FOR OUTPUT IN BINARY MODE.
Regards,
Lisa.
Message was edited by:
Lisa RoyText Mode means that the records in the file have a carriage return marking the end of each record.
Binary Mode means the file is a string of data.
You can't read a text file in BINARY MODE, or a binary file in TEXT MODE.
If you are changing the mode, then you must be supplied with a file in the new mode. -
I would appreciate if I could get an example in Labview 5.1. I realized that I need to create a cluster but for some reason it would not work
Examples for data acquisition are in the LabVIEW >> Examples >> Daq >> anlogin >> anlogin.llb directory. You will still have to do the following to programmatically set the measurement mode to differential.
You can set your data acquisition with the AI Config.vi in LabVIEW. There is an input for "coupling and input config". A good trick to make sure that you create the cluster correctly is to use your mouse as the wiring tool and right-click over that input. Then, choose Create Control or Create Constant. The cluster will pop up, and you can use your operating tool to choose differential mode for the second pull-down ring in the cluster.
Geneva L.
Applications Engineering
National Instruments
http://www.ni.com/ask
Maybe you are looking for
-
I have a report page with several page items - text, drop-down, radio buttons, etc. - that help filter down the returns. I need it to return everything (match everything) if there is a NULL in the filter, but I can't seem to get it to work on the dro
-
Recovery Disc Creation (1TB External hard-drive)
I am attempting to create a 'Recovery Disc' and I had a few questions. I tried doing a little research but I got yes and no answers. Is it possible to partition an external hard drive and make my computer think the partition is a blank USB drive to m
-
Hi . I have one class file for an IRC client , the compilation works fine... javac -O <filename>.java jar cvf <filename>.jar <filename>.class jarsigner -keystore suresh.store <filename>.jar sureshcert But now I want to compile it so it would work wit
-
Itunes has encountered and error message
I have downloaded the quick time player and it is operating but I still am having trouble with Itunes error message and I can find the itunes standalone to download this is my mistake most likely but i need help
-
Suggested schedule for gather statistics on sysadm
We have recently upgraded to 11.1.0.7 with psoft version 9.0 and tools 8.49 on sun solaris version 10. Currently we are running stats every night on all non work sysadm tables. I'm wondering if this is too much. We are seeing sql statements use diffe