Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

I/O Server data collection using DSC custom periodic

In Lesson #4 of DSC Module Training, it mentions that the DSC has the capability of recording data using a custom periodic.

 

I have a program that is running months at a time, running 38 machines and I want to record the I/O server variable values twice each shift for all 38 machines.  I have a total of around 400 variables for these machines and I need to record the critical five on each machine.= 5 X 38, 190 variables.  I would like a periodic server to do the recording.  How do I get started? 

0 Kudos
Message 1 of 6
(4,329 Views)

Hello Rick P,

 

I was wondering if you could clarify a bit more of what you are hoping to accomplish: 

 

1. Are you working to record the value of all system variables at specified times? (i.e. 8am, 12pm, 4pm, 8pm, 12 am, 4am) Therefore, exactly 6 data points are collected each day for all process variables? 

 

2. Are you implementing a Citadel database for trace logging? How are your current deadbands configured? 

 

You may have the option to implement a discreet method of data logging using the 'Write Trace.vi' as part of the DSC module.. If all systems are synchronized via network time, you may write an EXE to monitor the current time, and invoke logging at certain times of day. Does this seem like the system you are trying to implement?

 

Please post back further questions. 

 

Thank you,

Patrick Corcoran
Application Engineering Specialist | Control
National Instruments

0 Kudos
Message 2 of 6
(4,292 Views)

Patrick,

 

I do want to record at specific times twice per shift (Like your #1)   ie. 11 AM and 11 PM daily.  I would also like to record on the push of a booleen button.  

 

I have never used a Citadel database and only datalogging from registers that are bound variables.  It sounds interesting to learn how this works.  Can you point me to some information on using DSC and Citadel databases?  I do not understand your deadband configured question. 

 

I want to record the cycle count and the number of cycles before an inspection is required.  The other four pieces of data define the test type, machine number, etc.  I am using system or network clock timing.

 

I would need help to start writing an .EXE file to record at certain designated times during the run.  (Like your last suggestion - A "Write Trace.VI")

 

I have attached a summary of the data to be recorded.

0 Kudos
Message 3 of 6
(4,281 Views)

Have you already deployed applications to the 38 systems that use the DSC module? Or, are you exploring the features of the DSC Module as a possible addition to the current system?

 

The approach to this type of logging implementation will be very different based on DSC vs. Non-DSC functions. As you are not working with a Citadel database, I am assuming that the system does not currently employ the DSC module.

 

I have also included information on a run-time deployment, as you have identified 38 systems. You may want to review this licensing material in detail as you make a determination on the addition of DSC.


DSC Run-time System Explained

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LRUSA2&l=en-US

 

Hope this helps, please post back any additional information or questions.

 

 

 

 

Patrick Corcoran
Application Engineering Specialist | Control
National Instruments

0 Kudos
Message 4 of 6
(4,276 Views)

Patrick,

Yes, I have a licensed copy of DSC have implemented it and have all 38 machines running sucessfully with the DSC LabVIEW Library - ModbusTCPIO Server 781KB size.  :manvery-happy:

 

I am looking for the simplest way to record data on the fly and as mentioned above.  What method would you suggest is best?

0 Kudos
Message 5 of 6
(4,273 Views)

If you are already using DSC, I would implement an independent VI that is deployed as an EXE on a machine that hosts the Citadel database. It will monitor for the different times of day, and trigger the programmatic trace execution for all variables in the system. This construction would require you to programmaticaly read the value of every variable in the system, and append the value to an ongoing trace. 

 

For writing a data trace, the DSC VI palette has multiple items for modifying historical data in the Citadel database. One you have acquired the variable values, you can explicitly append them to the trace using this VI set. (Functions Palette >> DSC) 

 

Hope this points in the right direction, ultimately the way you opt to store data is up to you. This same system could just as easily create a .txt report or append to a binary file, as we can write to a trace to Citadel. It mainly depends on your needs at the facility. 

Patrick Corcoran
Application Engineering Specialist | Control
National Instruments

Message 6 of 6
(4,245 Views)