Hold indicator value after threshold is exceeded
I have a portion of my VI that uses an auto indexed for loop to view an array of 10 boolean values indicating whether a test threshold has been exceeded. If a false value is recieved on any of these 10 channels, I need to have an indicator display the current temperature for that channel. The problem I am having is that subsequent false values continue to update the temperature value rather than keeping the temperature reading when the threshold was exceeded.
Looking over the discussion forums, it seems like maybe a shift register is how this is done. Is adding 10 shift registers allowing me to look at the last value for each channel the best way to handle this?
Solved!
Go to Solution.
Attachments:
indicator_test.vi 74 KB
Sounds like a job for a Feedback Node.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
Attachments:
indicator_test_BD.png 83 KB
Similar Messages
-
I_vnam does not hold value after i_step is 1
Hi all!
I have a characteristic 0calday. For my report, i have a customer exit which has the following requirement:
If only one value is entered for 0calday, I have to populate this value as 'From' value for 0calday and system date should be in the 'To' value of 0calday so as get data for the range value entered and current date.
I tried using the following code:
CASE i_vnam.
WHEN 'ZC_CADAT'.
CASE i_step.
WHEN 3.
READ TABLE I_T_VAR_RANGE INTO L_S_VARIABLE_RANGE INDEX 2.
IF SY-SUBRC = 0.
IF L_S_VARIABLE_RANGE-LOW IS NOT INITIAL
AND L_S_VARIABLE_RANGE-HIGH IS INITIAL.
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
L_S_RANGE-LOW = L_S_VARIABLE_RANGE-LOW.
l_s_range-high = SY-DATUM.
APPEND l_s_range TO e_t_range.
ENDIF.
ENDIF.
ENDCASE.
ENDCASE.
When I was debugging this is what i found:
I_VNAM holds ZC_CADAT initially untill i_step =1.
the variable screen appears and I 've entered only one value for variable ZC_CADAT.
Execution was fine till here. after my input,
Ideally, I_VNAM should hold the value ZC_CADAT, and I_STEP should be 2.
But both of them are not working. Both I_Vnam does not hold ZC_CADAT and I_Step is now 3.
Please help me. I am unable to work this out.
Points will be awarded!!!
Thanks,
SriHi,
I was using a different customer exit variable to capture the input and pass that value to other CE variable with i_step = 2.
This solved it.
If this was not ur case, let me know the problem background
Thanks
Sri -
Indicator Value Updated After 2nd Run
Hello,
I've this statistics vi that calculates various things. One of the indicators updates its value only on the second run and not on the first run, I'm confused as to why it happens. I've tried using flat sequence, but it still does the same thing.
Any ideas?
Thank you,
Solved!
Go to Solution.
Attachments:
stat_done.vi 196 KB
Indicator.png 5 KB
subarray_post.vi 11 KBHi Ravens Fan,
The .png file shows which indicator it is. When I run stats_done with a .txt file, subarray.vi suppose to count jumps(doesn't matter though) and then pass the value to "# of times exceeded," which in turn writes it to the array in the front panel and the .txt file. BUT, "# of times exceeded" shows a value only when I run stats_done twice instead of once. Here is a .txt file that you can run with stats_done.vi, if you want; I believe it'll explain better than me (look at # of jumps value in the front panel). It's a really weird issue....
Thank you,
Attachments:
H10 nzl 919 1500 psi 40 kHz 3.0V 6spf 1.0µs_LTS_A Data095002.041.txt 19 KB -
Status list based on status lists.../ Indicator values always 0
Hi, any help or thoughts would be appreciated.
Basically what I'm doing is calculating status list values based on data in excel sheets. This seems to work as expected. I'll call these sub-status lists from now on.
The next thing I wanted to do is have an "overview" status list that basically gives the status of each sub-status list. If there are any indicators in one of the sub-status lists that haven't met their goal (currently yellow or red), I want the
indicator corresponding to that sub-status list in the overview status list to show as red.
I've tried creating a new column in the sub-status lists called 'goal met' that is a calculated column using the formula
=IF([Lower values are better],IF([Indicator Value]<=[Indicator Goal Threshold],1,0),IF([Indicator Value]>=[Indicator Goal Threshold],1,0))
However, the only way to get this to work is setting the Goal Thresholds to 0, since that is what the Indicator Values always seem to return (despite them displaying non-zero values when I view the list manually).
Am I going about this incorrectly, or is there a different (and free) way to accomplish my goal of having an overview status list?
Thanks,
ChrisSo when a status list indicator is set to update automatically, its indicator value is not stored, and it seems like the only way to see it/your current status is to view the list or use a status list web part to do so for you. Setting the indicators to
update manually made the indicator values be stored, so I was able to base another status list off of these values. -
Holding the value in screen-field
Dear All,
I m facing the problem ,while i m putting the value in screen-field and then pressing enter,
value in that screen-field is becoming null automatically.
wht shld i do for holding the value even after PAI.
Thanks in advance.Hi,
You should define a corresponding variable for that screen field in your program.
data: my_input_field type ... "same name and type as the one used in screen for field
so when you enter data to that field and press ENTER, the data will be transported to that variable and in PAI you have its value there.
Regards
Marcin -
Different values for threshold array?
Hi, I am collecting measurements from 8 fluxmeters in an array of 8 elements and graph them in a multi line chart.
The fact is that some measurements return bad values due to bad transmission or bad reading from the (OLD) instrument. So, those wrong values are under or above the 50% of the real value (or the same, of the setpoint value).
Only a wrong value between 2 good values is collected (only a peak at time), so my goal will be:
if a > or < 50% of the real value (or the setpoint) is collected and both the value before and the value after this wrong reading are good I would replace the wrong with a correct value (say: with the previous or with the setpoint) in order to have a smooth chart shape.
I started to use threshold array vi but I need different threshold values for all 8 array positions because all 8 fluxmeters could have different setpoints.
Not able to solve...and probably I will need to collect at minimum 3 readings before filter wrong values, so I suppose I'd have to fill a 8x3 matrix (?)...I don't think that the threshold array primitive is the right choice. This function interpolates the array and finds the fractional index. It assumes that the data has a slope. It doesn't sound like your data would meet this criteria.
You just need to find the "bad" data points and replace the value with a reasonable value. (maybe the average of the two data points on either side)
"There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal -
Static vi reference read indicator values
The objective of my code is to open a separate VI when a certain boolean button is clicked, wait for action from the user, then close the separate VI, and return its values to the main function. I have put a static VI reference in my block diagram, and then two invoke nodes: "FP.Open" and "Run VI". That works fine, but I still haven't figured out how to obtain the values of the indicator from the reference. I thought I might use a Property Node, but I couldn't find the right property to select. Any help? Thanks!
And
if you still want to proceed with the idea of calling by reference, set the invoke node 'Run VI' to wait till complete as 'True'.
Then, place another invoke node after it, for Get Control Values. You will get an array of clusters, each cluster with the control/indicator name string and its value in variant data type.
Process that array of clusters.
Post your code if need further help.
i would support 'Christian's first option, of calling the vi as a sub vi and pass the indicator value as a terminal on the connctor pane. -
We developed a SSIS Package to pull the data From Oracle source to Sql Server 2012. Here we used ADO.Net source to pull the records from Source but getting the below error after pulling some 40K records.
[ADO NET Source [2]] Error: The ADO NET Source was unable to process the data. ORA-64203: Destination buffer too small to hold CLOB data after character set conversion.
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.
The PrimeOutput method on ADO NET Source returned error code 0xC02090F5.
The component returned a failure code when the pipeline engine called PrimeOutput().
The meaning of the failure code is defined by the component,
but the error is fatal and the pipeline stopped executing.
There may be error messages posted before this with more
information about the failure.
Anything that we can do to fix this?Hi,
Tried both....
* Having schema type as Nvarchar(max). - Getting the same error.
* Instead of ADO.Net Source used OLEDB Source with driver as " Oracle Provide for OLE DB" Getting error as below.
[OLE DB Source [478]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on OLE DB Source returned error code 0xC0202009. The component returned a failure
code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error messages posted before this with more information about the
failure.
Additional Info:
* Here the Source task is getting failed not the conversion or destination task.
Thanks,
Loganathan A. -
How to hold the value in List box.
Hi All,
On my screen painter Screen I am displaying the Sold to party and ship to party with thier address.
I am also displaying the Shipping condition based on ship to party. To display the shipping condition i am using list box. Once the user enter the sold to party automatically all the field is going to populate in their respective fields. I am facing the problem that, The list box getting populated with shipping condition but once you choose the shipping condition and hit the enter the list box getting refreshed. I am using this code in PAI event. And I can Only use this in PAI.
The Function i am using for list box is CALL FUNCTION 'VRM_SET_VALUES'.
Pls suggest me how to hold the value in List box.
Thanks,
RakeshHi,
Now i am using in PBO.
the code below in in PBO.It is still not holding the value.
if list[] is initial.
perform SHP_COND.
endif.
form SHP_COND .
*DATA: SHOP(80).
clear : GT_VSBED, list.
refresh : GT_VSBED, list.
select vsbed
from knvv AS K
into table GT_VSBED
where Kvkorg = vbak-vkorg "Kkunnr = GV_STPH
and K~vtweg = vbak-vtweg
and K~spart = vbak-spart.
select VSBED vtext
from TVSBT
into table list
for all entries in GT_VSBED
where spras = sy-langu
and vsbed = GT_VSBED-VSBED.
*break-point.
NAME = 'SHP_CON'.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = NAME
values = LIST[]
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endform. " SHP_COND
Thanks,
Rakesh -
Using a session object to hold the value of a record set?
Hi,
I'm trying to hold the value of a record set (or literally the content of a column in a query in a db) in a session variable so that I can call on this later and insert into another table.
I'm not sure of the correct syntax, I've already made a connection to the DB. I'm trying the following but it doesnt seem to like the code:
<% session.setAttribute("code",rs("column_name")); %>
<%String attrib =
String.valueOf ( session.getAttribute("code")); %>
Hello <%= attrib %>
Any ideas, I dont know how to reference the record set, I declared the recordset previously as rs. Help! Can't find examples anywhere on the net!So just to recap. I appear to be seeing the column name "custorderno" within the Microsoft Access query "lastcust". But I get "no data found" when I run the following code (which I have sectioned off)
<!-- connect to database and lastcust query --!>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/Tomcat/jakarta-tomcat-4.1.31/webapps/ROOT/Oatcake.mdb","","");
Statement statement = conn.createStatement();
String sql = "SELECT * FROM lastcust";
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
%>
<TR><TD><%= rs.getString("custorderno") %></TD>
</TR>
<% session.setAttribute("code",rs.getString("custorderno")); %>
<% String attrib =
String.valueOf ( session.getAttribute("code") ); %>
Hello <%= attrib %> [B]
<%
%>
</TABLE>
<%
if (statement != null)
statement.close();
if (conn != null)
conn.close();
catch (Exception e) {out.print(e);}
%>
</BODY>
</HTML>
No as mentioned I am (as you can see) declaring everything as a string when in actual fact the contents of the "custorderno" within the query is set to a autonumber within MS Access.
The while loop does work by returning the contents but the session object part is not working correctly with the following result returned:
[B]java.sql.SQLException: No Data Found
Help please! -
Calculation of Depreciation on Net Book Value after posting Revaluation on
How to calculate the depreciation on Net book value after posting Balance sheet revaluation ABAW? The depreciation is been calculated on APC and not on NBV, as the APC of asset has been revalued after the revalution posting, ideally the next period depreciation should be calculating on the new NBV, but the system is not doing this. Is there any specific configuration that Iam missing here.
Kindly Reply.
JyotiThe forum [FPM - General|Enterprise Performance Management (SAP EPM); in which you originally posted your question deals mainly with the financial performance applications otherwise known as Enterprise Performance Management (EPM) carrying the BusinessObjects brand. Your question pertains to SAP [ERP Financials - Asset Accounting|SAP ERP Financials - Asset Accounting; which is covered by another forum. Therefore your message has been moved. Please adjust any bookmarks you might have and post to the appropriate area in the future, that way you are assured you will have the right audience reading your posts.
Thanks and best regards,
[Jeffrey Holdeman|http://wiki.sdn.sap.com/wiki/display/profile/Jeffrey+Holdeman]
SAP Labs, LLC
BusinessObjects Division
Americas Customer Solutions Adoption (CSA) team -
Is there any possible ways to make Characteristic hold decimal values?
Hi,
I want to create a characteristic which can hold decimal values.
For example if the values coming from source is 2.5000 ,it should display as 2.5000 instead of 3.
Regards,
Anjali Singhhi ,
You can use characteristic to store decimal values too .no issue with that .They will be be CHAR-Characteristic string .
Regards,
Jaya Tiwari -
How Can i retain the Shared Variable Values after PC rebooting
Hi all,
I am facing a paculiar problem with Shared Variables. I have an application in which shared variables are used for data communication.
One of the application requirement is to retain the variable values eventhough PC is rebooted or started after crashing.
As per the my understanding, the variable values will retain eventhough the PC is rebooted. But here i can observe a paculiar problem like some library variables are retaing the values while some others not. I enabled logging for all the variables.
I tried many ways. like logging enabled, logging disabled, changing variable names, changing process names etc... But i am not getting a consistent behaviour.
I hope some you can help me in solving this issue.. "How Can i retain the Shared Variable Values after PC rebooting"
Thanks and Regards,
MirHi Blackperl,
Thanks for the post and I hope your well.
What do you mean by not getting consistent behaviour.. this will all depend on excatly when the crash happens i.e. before the write or after.
Surely a better method would be to log the data to a file during the reboot...
I beleived the value read back
will be the default value for the shared variable's data type.
The LabVIEW DSC 8.0 module adds more functionality to the shared variable, including initial values and alarms.
If you enable an initial value on a shared variable, when the variable
engine comes back on-line it will default to this value. Setting a bad
status alarm for the shared variable is also a good way of handling
this type of event. Additionally, if you are using a LabVIEW Real-Time
target such as Compact RIO or Compact FieldPoint, it is appropriate to
consider hosting the shared variable engine on the real-time target.
These devices have watch-dog capabilities and are typically the
hardware controlling the critical pieces of an application. Most
Windows or PC-based targets do not have these fail-safes.
I guess, if you could explain to me again that would be great. From my point of view, if I have a cRIO and a Windows PC. If the windows PC crashes, the cRIO will still update its shared variables. Then once the PC has started up its own shared variable engine, and the bindings are loaded, it will once again continue to update its copies of the variables.
Please let me know what you think,
Kind Regards,
James.
Kind Regards
James Hillman
Applications Engineer 2008 to 2009 National Instruments UK & Ireland
Loughborough University UK - 2006 to 2011
Remember Kudos those who help! -
How to hold the values as it's not holding the values when it cross 255
DATA : fval1 TYPE edidd-sdata.
DATA : fval2 TYPE edidd-sdata.
DATA : fval3 TYPE edidd-sdata.
DATA : fval4 TYPE edidd-sdata.
DATA : fval5 TYPE edidd-sdata.
DATA : len(3) TYPE n.
values1 = wa_final-low.
values2 = wa_final-high.
IF wa_final-high IS NOT INITIAL.
CONCATENATE values1 values2 INTO fval1 SEPARATED BY '-'.
ELSE.
fval2 = values1.
ENDIF.
IF fval3 IS NOT INITIAL.
IF fval1 IS NOT INITIAL.
fval = fval1.
CONCATENATE fval3 fval INTO fval3 SEPARATED BY '/'.
ENDIF.
IF fval2 IS NOT INITIAL.
fval = fval2.
CONCATENATE fval3 fval INTO fval3 SEPARATED BY '/'.
ENDIF.
ELSE.
IF fval1 IS NOT INITIAL.
fval3 = fval1.
ENDIF.
IF fval2 IS NOT INITIAL.
fval3 = fval2.
ENDIF.
ENDIF.
DATA : len(3) TYPE n.
len = STRLEN( fval3 ).
IF len > 250.
fval4 = fval3+0(250).
fval3 = fval3+250(5).
* CONCATENATE fval4 fval3 INTO fval5.
ENDIF.
IF fval4 IS INITIAL.
wa_final1-varbl31 = fval3.
ELSE.
CONCATENATE fval4 fval3 INTO fval5.
wa_final1-varbl31 = fval5.
ENDIF.
MODIFY it_final1 FROM wa_final1
TRANSPORTING varbl31 WHERE agr_name = wa_final-agr_name.
at this point also it's not holding the values when it exseds 255
kindly please helpH friends ,
i am not the expert at the same time i know some thing in abap
fval4 = fval3+0(250).
fval3 = fval3+250(5).
in the above case fval3 have 255 char at that time iam transporting 250 char to fval4 with this statment
fval4 = fval3+0(250).
and iam keeping the remaining 5 char in fval3 with this statment
fval3 = fval3+250(5)
so that i can push some more values in fval3 and at i am
CONCATENATE fval4 fval3 INTO fval5.
so that fval5 may get all values this is the way i try but fval5 is not holding all the values
i asked solution for that
fval 3 = fval3+250(250)
dosen't have any meaning i know that friend
my question is how to hold the remaining value -
Manipulating condition value after being returned from IPC
Hi all,
How can we manipulate the condition rate data after the value is returned from IPC?
We tried using CRM_PRICING_I_BADI calling the method CRM_PRICING_I_MERGE. But it did not solve the issue.
Requirement is to read the data of a particular condition type from a preceedign document and then overwirte the conditon value of condition type in the current transaction with that old value from previous document.
Can this be achieved without using Java coding and manipulate the value after IPC has returned the conditon value and before it is being presented on GUI?
Please help me with your suggestions.
Regards,
David.Hello david,
You might ned to use the user Exit provided by the Pricing Engine to work this out. this will require Java coding.
Regards,
Tanu
Maybe you are looking for
-
Relationship between "Account Group" and "GL Acct. number".
I need to create a report that lists the GL Account numbers according to selection screen parameter "Account Group" . Hi i need to find a way\(tables and fields) between the "Account Group" and the "GL Account number". to view "Account Group" go t
-
Using USB preamp with Garageband
Garageband will not recognize my microphone for some reason. I am using an M-Audio USB Preamp, with a Behringer condensor microphone. I have changed the input/output settings in both the mac settings and the garageband settings to "M-Audio Mobilepre
-
Hi all, Office integratin of oracle bi seems simple and details are here. http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/e10416/biofficeinstall.htm But my problem is after installing OracleBIOffice.exe, I can't create a connection. I made a
-
I use a stylus which is attached to an elastic cord. The other end has a little plastic piece that fits into the headphone jack. Went to my iPad 2 today and the cord was dangling free. The little plastic piece is in the headphone jack. I read the
-
SWWWIHEAD shows the Shopping Cart Tasks (WI_ID = W) and the Workflow Work Items. If I view Work Item the Cart number is in the text but this is not good enough. It's also under Available Ohjects>Process Objects>Reqt.cov. request. How can I link the W