VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Proceduces and Aliases in VeriStand System Explorer

Solved!
Go to solution

I have the following questions on configuring Procedures and Aliases in VeriStand's System Explorer:

a) The help for Procedures states that "you can configure procedures to run once, multiple times, or in response to a particular event such as an alarm". Whilst I know how to triger a Procedure upon an alarm, how do you configure multiple Procedures to run once or continuously on start-up? The 'on start execute procedure' check box only allows you to choose one procedure.

 

b) When adding multiple Aliases in the System Explorer, the alias name defaults to '%s' which basically returns the channel name without any of the path information. Is it possible to return instead the channel name plus the path name one (or more) level up? So for example, if the full channel path is 'Controller/Simulation Models/Models/CCH_v1_0_bad/Inports/Islington 220kV Bus EAD/CB668/host_close', then I would like to have an alias of 'CB668 host_close', or 'Islington 220kV Bus EAD CB668 host_close'.

 

c) I don't seem to be able to map aliases to controls and indicators on the VeriStand Workspace. Aliases just do not appear at all in the channel list of controls and indicators. Is there something I am missing?

 

 

0 Kudos
Message 1 of 8
(8,822 Views)
Solution
Accepted by PCT

I think the help topic is referring to the fact that procedures can call other procedures. So you could have one startup procedure that just had the following structure:

1: Call Proc A

2: Call Proc B

3: Call Proc C

4: Goto1

 

Regarding alias names, that is a good suggestion to be able to use more of the path than just the name. As a workaround, you might look into using the Import function for creating aliases, which imports from a standard tab-delimited file and allows you to create names based on whatever convention you choose.

 

The mapping control on Workspace controls has two methods of selecting a channel. If you have aliases configured, you can use the drop-down list directly to select an alias. If you don't have aliases or wish to browse to a channel without an alias, you can hit the browse button, where you see the system tree.

Jarrod S.
National Instruments
Message 2 of 8
(8,791 Views)

Jarrod,

 

I'm trying to write a simple procedure for monitoring the status of an oil tank float swtich voltage, and switching a boolean user channel, but I'm having problems.  I created a "Startup Procedure" that calls two procedures: 1. Oil Status OK, and 2. Oil Status Low.  The oil tank float switch will send 12 volts back to the AI channel it is connected to on my cRIO if the oil tank is full (Oil Status OK).  The AI will read 0 V if the oil level is Low (Oil Status Low) because the switch connection will be broken.  To make things simple in my procedures, I just said, if the AI is reading above 5 volts, its OK, and if it's below 5 V its Low. 

 

I created a user channel called "Oil Level Status" and wanted to use a boolean indicator in my VeriStand workspace to indicate if the oil level was OK (1) or Low (0).  With my current configuration the "Oil Level Status" beigns by being set to 1 and does not change even if the AI value being fed into the Float Switch Channel falls below 5 V.

 

Attached is a word document that shows my procedure steps.  Am I doing something wrong?  Do the procedures monitor values continuously as the system defintion is deployed? 

 

I know I can probably write something in a sequence to to this same thing, but figured a procedure would be easier and more simple.  How would you go about acheiving this?

0 Kudos
Message 3 of 8
(5,573 Views)

Hello,

 

I think you shoul invert your if statement and replace the goto with a en exit. Currently your code executes the "set status to X" in any cases.

 

Best regards,

0 Kudos
Message 4 of 8
(5,565 Views)

Thumble,

 

Thanks for the response.  What do you mean by inverting my if statement?  I'm not sure how to change it.

 

0 Kudos
Message 5 of 8
(5,551 Views)

Re,

 

I think your test should be something like:

 

if [OilTankStatus] <= 5.0

     Exit

 

Best regards

0 Kudos
Message 6 of 8
(5,546 Views)

Thumble,

 

Thanks again for the response, but I want the procedure to monitor for the oil float status continuously...  Will the procedure you showed me work that way?

 

-Dan

0 Kudos
Message 7 of 8
(5,534 Views)

Re,

 

I think so, anyway you have to make a try and so you will be quick find out.

 

++

0 Kudos
Message 8 of 8
(5,530 Views)