LV2010 DSC alarm troubles

I recently upgraded from LV2009/DSC2009 to LV2010/DSC2010. My development system code works fine in LV and also built into an exe. But on the "users" station my .exe doesn't work any more. Everything seems fine except for alarms. They are constantly in alarm. All 90 of them. They are boolean values that I have converted from INT values from the PLC. The outputs from the PLC via RSLinx OPC server are all 0's and appear OK. What is really strange (and probably significant) is that the value from "DSC_Read Alarms.vi" is 64. When it was working it was a value of 1 when in alarm and 0 when not in alarm.
PaulG.
"I enjoy talking to you. Your mind appeals to me. It resembles my own mind except that you happen to be insane." -- George Orwell

Another one of those "LabVIEW can fix itself if you give it enough time" issues. I was playing around with the DSM 2009 and 2010 and RsLinx Classic on the target machine and it started working. I really didn't "do" anything except look at tag values from the PLC. Strange. Disturbing.
PaulG.
"I enjoy talking to you. Your mind appeals to me. It resembles my own mind except that you happen to be insane." -- George Orwell

Similar Messages

  • Can I generate a DSC alarm based on the difference of two signals?

    In the Tag Configuration Editor of the DSC module, you can set lower and upper limits on any signal (tag). This works well if the signal is expected to always be within a certain range. However, if the signal is expected to vary according to a predefined pattern, how can I detect when it passes out of the expected pattern? - In my case the problem is made easier since I have two signals I can monitor: a setpoint and an actual. Therefore I can calculate the difference between setpoint and actual and set an alarm if the difference exceeds some maximum value. However, the DSC tag configuration editor does not allow these kind of "derived channels".
    One possible solution is to run LabVIEW code to mon
    itor these signals in real time, continually calculate the difference and generate an error if the difference exceeds the limit I have set. The problem is there does not seem to be a way to programmatically generate a DSC alarm.
    Another possible solution, but requiring more work, is to create my own VI-based server to monitor the derived channels. Then there would be two servers running - logos to acquire the FieldPoint data- and my VI based server to calculate the derived channels in real time. My question is: Is there an easier way to do this?

    Hi Chris,
    Go with your first proposed solution -- and write the result to a Discrete Memory tag. And set this tag to alarm on High. This will now act as your alarm tag.
    Hope this helps.
    Regards,
    Khalid

  • DSC alarm API Timestamp

    Hi,
    We are currently building an application for electrical systems using cRIO and DSC HMI features. Our intention is to generate alarm condition in cRIO and display the alarms on HMI-PC using the DSC alarm API. We are looking for a very precise timing on alarms down to less than 10 milliseconds. Our current setup is configured as follows:
    cRIO has a Boolean shared variable to trigger an alarm condition via calculations in cRIO.
    HMI PC also has a Boolean shared variable aliased (PSP-URL) with the cRIO variable. We do this in order to enable Alarms on the PC  variable and use the alarming API functionality.
    From our understanding, DSC alarms API display PC-system timestamp whenever an alarm condition is triggered from cRIO. Apparently, the shared variable engine (SVE) on cRIO communicates to the SVE in the PC and passes information about alarm condition and timestamp. However the SVE in the PC only passes on information about alarm trigger to the DSC alarm API; it doesn’t take the timestamp and generates it using system (i.e. HMI PC) time.
     We were wondering if we could get the cRIO timestamp on the DSC alarms list "set time"? This is the best desirable situation. 
    Do we have to write the cRIO timestamp to the citadel database becasue DSC alarms API just reads alarms from citadel? Once alarms are acknowledge, it wrties back the information to the database. So, there is something editing the database which is not transparent.
    Any feedback on this to enlighten our understanding will be greatly appreciated.

    Hi, 
    If I'm not mistaken that you want the timestamp data from the cRIO to be transfered to the PC, there is a setting at the cRIO shared variable (you'll need to set it at the Project Explorer where you create the time stamp) which you can have the shared variable to give out time stamp: http://zone.ni.com/reference/en-XX/help/371361H-01/lvconcepts/sv_using_nodes/
    Alternatively, you could set the shared variable to transfer data of cluster data type which consists of timestamp and the datatype that represents your alarm trigger information: http://digital.ni.com/public.nsf/allkb/DDEB4D9BC34705C086257242000FF7DB
    If you are using RT programming, you can place a timestamp related functions like Elapsed Time Express VI or Get time in seconds (which you need to convert using )  and bundle it with the alarm information using Bundle.vi or Bundle by Name.vi and write to the shared variable 
    Or you could give a screenshot of the program an explain using the screenshot on what you are planning to do. 
    As for your alarm acknowledgement thing, if your PC is connected with your cRIO always, you can just create some sort of hand shaking tools and use one or two shared variables specially for acknowledgement purpose. Something like a 2 way handshaking operations in a TCP/IP protocol. 
    Hope that helps
    Warmest regards,
    Lennard.C
    Learning new things everyday...

  • DSC: Alarm time delays

    Hello,
    How can I make the DSC alarm tolerate transient spikes? e.g. trigger an alarm event if the temperature has exceeded the HI level for over 5 seconds, but ignore it if the HI level was only exceeded for 1 second.
    Thanks!

    Hi JKSH,
    Please take a look at the Help File for the Alarming Page of the shared variables, under alarms, the Deadband/Time option seems  to be the one you are looking for:
    Deadband/Time—Sets the Deadband or Time of the alarm.
    Deadband (%)—Sets the alarm deadband as a percentage of the full scale range. The Share Variable Engine (SVE) does not clear an active alarm until the percentage difference between the new value and the previous value equals or exceeds the deadband. If you set the Deadband/Time too high, the SVE might not clear the alarm.
    Time (ms)—Sets the amount of time, in milliseconds, in which the shared variable value must change at least the value of Change to go into an alarm state.
    steve.bm
    AE | NI

  • Dsc, alarm query time out

    Hello,
    I'm using LabVIEW 2009 SP1 with DSC-Module. Today I had trouble using the "Alarm&Event Qurey.vi" to read data from the citadel database. The Query worked well for days and delivered the data quickly. Well today it didn't, instead it delivered a time out and it didn't help to set the time out value parameter to higher values (normally I use the default value, 30s). It did not help to restart my application, nor LabVIEW, nor Windows (XP, by the way). It simply stopped working.
    Then I tried my luck using the MAX and its Historical Data Viewer to retrieve the logged alarms and, unexpected, this worked! And after that, like there was magic in the air, the "Alarm&Event Query.vi" worked also again!
    So, this doesn't feel very reliable. I do not interact with the citadel database using other ways than the Query vi and the Library-/SharedVariable-Settings (writing to the data base is managed by the shared variable engine).
    Did someone experience the same problem and can I prevent this behavior somehow?
    Thanks in advance,
    Thomas

    Hello Thomas,
    Unfortunately it seems that this behavior is not reproducible.
    Has the error occurred again since your last post?
    I checked our internal database and I was not able to find any hints, that this is a common issue.
    Could you please post the important section of your code, if the error appears again?
    So we can dive a little bit more into detail.
    Regards
    Ulrich
    AE NI-CER  

  • DSC Alarm Setup - what went wrong?

    I have a DSC application reading +- 1100 NI OPC tags into SVE from four different PLC's.  While I do engineering I move the application between two PC's depending on which one is avalable at the time to do engineering.   The Citadel database has the same name and location on the PC harddrives, etc.  On the first setup iteration all the analog and binary alarms was operational.  Somewhere along the line I lost the alarming operation in that none is presented to Alarm and Event display on the front panel or in the DB.  Apart form the basic setup, is there any suggestion to maybe reset values, recreate DB (hopefully not), etc?
    Regards,
    Pierre    

    Do none of the variables trigger alarms anymore? Does this occur on both PCs? I assume you have checked that the variable value is in the alarm's range? What happens when you create a new variable for your OPC tag and enabe alarming? What version of LabVIEW DSC are you using?
    Thanks,
    Anna K.
    National Instruments

  • DSC Alarms: how to get the current alarm levels / setpoints

    I have a VI that can get the alarm levels for shared variables as they are set in the project library.
    But I have programmatically changed the values for the alarm levels, so the Distributed System Manager shows different levels as compared to what my VI displays.  I want the updated or current alarm levels - the ones that are retrieved by Read Alarms (called setpoints).
    I could use Read Alarms, but that only shows the shared variables that are in alarm.  I want all the shared variables in a process that is currently deployed.
    Any suggestions?
    BTW, is Distributed System Manager the same tool as Shared Variable Monitor?  I can't find the Shared Variable Monitor on my system.
    G

    Hi Gretchen,
    To answer your second question first, Shared Variable Monitor was the old name for what became Distributed System Manager. There was also some added functionality beyond just shared variables with DSM, so the name got changed. 
    As for suggestions regarding your application, I could use a little bit of clarification. I understand you're programmatically changing the alarm values and you want to display the values of your shared variables and their respective alarm states, correct? Also, when you're running your VI DSM does not update with the new alarm values (what happens when you hit the refresh button?). 
    I found a couple examples that may be useful moving forward Example 1, Example 2. These cover using shared variables and DSC's alarming features.
    Tim W.
    Applications Engineering
    National Instruments
    http://www.ni.com/support 

  • DSC alarms are blinking when they shouldn't

    I have a bunch of shared variables on my front panel.  Some of them have alarming enabled, with the option to blink when alarming.  I programmatically disable all alarms at startup of the VI, but some of them blink when there is a value of zero for the variable.  Anything above zero causes the blinking to stop.  It even does it for a variable that I disabled the alarming for, using the shared variable properties.  I can use the "Read Alarms" vi, and there is nothing being reported.

    Hi Brian,
    Couple of questions - what version of LV and DSC are you using? How are you having your shared variables set up to blink? It sounds like there is some other factor than the alarm that is triggering the blinking since Read Alarms doesn't have anything AND you have alarming turned off and they are still blinking. I would suggest either 1) deleting and re-adding your variables in case something became corrupt or there is some other underlying alarm that is causing the blinking or 2) get rid of the blinking feature, ensure the variables work correctly, and then add it back one at a time to check to see where the problem is. You could also post your code for myself or others to take a look at and possibly find the problem. Thanks!
    Stephanie

  • Data Logging and Supervisory Control (DSC) Alarm Acknowledge / General Alarm Questions

    Hi All -
    I would like to know if anyone can help me with DSC and alarms.  I have several shared variables that I have setup with alarms and logging with DSC.  I can view them with the Shared Variable Manager, the value, status, alarm state, etc.  So, I want to be able to view this info on my Front Panel and acknowledge alarms there - - Is that possible?  I put "alarm and event display.vi" on my front panel and it shows when a variable goes to alarm state, but I don't see how to acknowledge the alarm once it enters the alarm state.
    Other question, once a variable is in an alarm state, obviously it stays there until it is no longer in alarm, but if you acknowledge it - - what happens? does it stay 'red' color and remain in the alarm list - and what about logging, does the log indicate when the alarm was acknowledged any by whom?
    So that is my next question, how do I setup and force a user to 'log-on' to be able to acknowledge alarms?
    If anyone could point me at a document / tutorial / example I would really appreciate it!
    Thanks!
    Get Mystified

    Mystic wrote:
    Hi All -
    I would like to know if anyone can help me with DSC and alarms.  I have several shared variables that I have setup with alarms and logging with DSC.  I can view them with the Shared Variable Manager, the value, status, alarm state, etc.  So, I want to be able to view this info on my Front Panel and acknowledge alarms there - - Is that possible?  I put "alarm and event display.vi" on my front panel and it shows when a variable goes to alarm state, but I don't see how to acknowledge the alarm once it enters the alarm state.
    Other question, once a variable is in an alarm state, obviously it stays there until it is no longer in alarm, but if you acknowledge it - - what happens? does it stay 'red' color and remain in the alarm list - and what about logging, does the log indicate when the alarm was acknowledged any by whom?
    So that is my next question, how do I setup and force a user to 'log-on' to be able to acknowledge alarms?
    If anyone could point me at a document / tutorial / example I would really appreciate it!
    Thanks!
    Get Mystified
    When your VI is running, you can right-click on the alarm & event display control and it will give you the option of acknowledging the alarm.  Another option would be to use the Acknowledge Alarm.vi and create your own interface.
    Once the alarm is acknowledged, the alarm color will change to magenta and the acknowledgement information will be displayed.
    The acknowledgement information - user, time, comment - will be logged if logging alarms is enabled.
    Regards,
    Robert

  • Dsc Alarming properties AckType

    Hi, I'm using dsc 2010 and trying to set Acktype for alarming to user instead of auto. But then the alarm never goes out of alarming once it is set. Had a look around and found that user ack should have the value of 1 (Auto 0, and never 2). When I look in distributed system manager I see that the value of AckType is 2. So is there an error in the DSC properties settings that sets user ack to 2 instead of 1?

    go here: http://zone.ni.com/devzone/cda/tut/p/id/5715 and here
    http://digital.ni.com/public.nsf/websearch/04D9A85B6967EE87862571140065EEC6?OpenDocument

  • Get a Boolean When a DSC Alarm Goes Off

    Hello LabVIEWers!
    I've got probably 30 shared variables that I'm monitoring and logging using the DSC module.  I'm starting to use the alarms functionality and what I'd like to be able to do is run some code that sends my team a text / email when an alarm goes off. 
    It seems to me the easiest way to do this would be to somehow monitor the alarms and produce a T/F value that I can use to run a case structure.  For whatever reason I'm not seeing how to do this easily.  Is there a VI I'm missing?  I just want to be able to produce a True value when the variable is in alaram and a False value when it's not.
    Thanks for the help!
    -Mike

    Hi Mike,
    I've attached a few articles that you might find useful. They include descriptions and instructions.
    Configuring Alarms for Shared Variables (DSC Module):
    http://zone.ni.com/reference/en-XX/help/371618F-01/lvdscconcepts/set_alarms_for_sv/
    Configuring Alarms for Boolean Shared Variables (DSC Module):
    http://zone.ni.com/reference/en-XX/help/371618F-01/lvdschelp/config_blalm_in_db/
    I also ran across this Discussion Forum that you might help you out once you've established your alarm configuration.
    Send Email and Text when an Alarm goes off - LabVIEW DSC
    http://forums.ni.com/t5/LabVIEW/Send-Email-and-Text-when-an-Alarm-goes-off-LabVIEW-DSC/m-p/1568580?r...
    Hope this helps!
    Jordan

  • DSC alarm set and cleared without operator ack - the variable should be not alarmed and not acked

    We are deeply involved in porting our application from 7.1.1 to 8.6.1 under Windows XP.
    Our application  heavily depends on DSC and moving from 7.1.1 to 8.6.1 is actually much more than a simple porting....
    here is our last problem:
    it seems that there is no discrimination between 'active' alarms and 'acknowledged' alarms on a shared Variable  in case the 'ack Type' is set to 'USER'.
    Here is what happens:
    1) a Boolean shared variable is defined to be alarmed when 'high' (TRUE) and its ack type is set to 'USER' (the operator at our application must ack alarms).
    2) the Boolean var is set to TRUE -> it is declared alarmed (OK)  and not ack'ed (OK)
    3) the operator ack the variable -> it is declared alarmed (OK)  and ack'ed (OK)
    4) the Boolean var is set to FALSE -> it is declared not alarmed (OK)  and ack'ed (OK)
    5) the Boolean var is set to TRUE -> it is declared alarmed (OK)  and not ack'ed (OK)
    6) the Boolean var is set to FALSE -> it is declared alarmed (NOT OK!!!)  and not ack'ed (OK)
    7) the operator ack the variable -> it is declared not alarmed (OK)  and ack'ed (OK)
    This last case is the wrong situation: an alarm has been set and cleared without operator ack the variable should be not  alarmed  and not acked 
    Actually the variable returns OK only when ack'ed.
    see the attached project in which a small vi and a small shared variable lvlib allows to repeat the above steps.
    Note:
    A) same situation applies to 'double' shared variable
    B) under DSC version 7.1.1 everithing was OK 
    can anyone Help?
    Thank You Guglielmo Rozera
    Attachments:
    AlmAckTest.zip ‏18 KB

    Thank for your replay!
    I have tried to undeploy and deploy the library with ack type set to 'User' by default, and then run the vi but the behavior is always the same.
    The modification you suggest does not set 'User' ack type because data socket needs '2'  as 'User ' setting while property node needs '1' or (better) its own enumerated type.
    Anyway I've corrected the vi according to your suggestion and tried again but nothing changed...
    Here I attach the project modified with property node and an indicator to show what is the actual ack type
    I hope in your further investigations!
    Thank You
    Guglielmo 
    Attachments:
    AlmAckTest_2.zip ‏20 KB

  • Dsc alarm control bug?

    Hi all,
    The alarm list control retains the process watch list when a VI is copied between computers. This will make the VI both load and execute very slowly when a program starts, presumably as it will try to connect or located the processes on the other computer. It seems also not possible to set the process watch list to be listening on 'localhost' processes. Clearing the processes and then closing the VI does not work properly either, as the processes from the other computer will be back in the configuration after labview is restarted.
    However I found a way to clear the process list. 
    1. Clear the process list.
    2. Set the alarm control list in 'design mode' and then back again.
    3. Save the vi.
    It is quite bothersome if there are several instances of the alarm control? Is there a better way to deal with this?
    Am I maybe missing something obvious?
    /Roger Isaksson
    Solved!
    Go to Solution.

    The alarm control will store the process list when the control is modified and saved. It is therefore important to shut down the calling vi cleanly and calling clean up procedures before anything is saved.
    This is a workaround and a proper fix is in the works I presume?
    /Roger
    Attachments:
    UnSubscribe All Local Processes.vi ‏18 KB

  • Alarm troubles

    My alarm won't ring when the phone is charging -- any ideas? It does ring when it is not plugged in.
    thanks!

    Hiya.
    Go to EXTRAS > CLOCK.
    It's all in there.
    Cheers!
    -Bryan

  • What happened to my shared variable DSC alarms?

    I would like to programmatically alter the alarm levels of my shared variables using the recommended datasocket write method, but for some reason my alarm levels disappear.  If I open Variable Monitor, sometimes the alarm data isn't there.  I have them configured, and sometimes they are there.  This also means that the Datasocket URL doesn't exist for the alarm levels.  Why is that?
    Attachments:
    Shared Variable Monitor.JPG ‏94 KB
    Shared Variable Properties.JPG ‏46 KB

    Hi Brian,
    I am not sure what resource pointed you to using Datasocket Write to change the alarm levels of a shared variable programmatically, but that is not the recommended method.
    One resource that you I suggest you check out is the example called Library Generation.lvproj, it is in the example finder under Toolkits and Modules->Datalogging and Supervisory Control->Fundamentals. This shows how to add variables to a library and set the alarms.
    For an existing library, please check out this Knowledgebase article, which describes getting a shared variable reference. One you have the reference, you can use the property "Alarming..." to set Hi, Lo, etc. Then, once you're done, redeploy the library programmatically (Deploy Library.VI).
    Best regards,
    -Sam F, DAQ Marketing Manager
    Learn about measuring temperature
    Learn how to take voltage measurements
    Learn how to measure current

Maybe you are looking for

  • Strange problem with iTunes.

    When I started iTunes on my PC, instead of displaying the iTunes console normally, an iTunes "import" window displayed (that I've never notice before) with a activity bar indicating it was working. (The window also had a "Cancel" button on it). I was

  • Blank value added to dropdown list in Adobe Interactive forms

    Hi, I see blank value being added to the value list by default to dropdown lists in adobe interactive forms. The real issue is it's being added sometimes as the first value or last value in the drop down list of values which is inconsistent and resul

  • Billing help because of fault

    Hi Today i have recieved one months full bill after having two different faults this month one was for a few days complete loss of service the second was no broadband and partial tv service because my router broke. I can't remember the exact dates im

  • -Xlint:deprecation

    I have the following code: (BTW: theButton is a two-dimensional array of JButton objects) theButton[0][0].enable(false);I've also tried: theButton[0][0].disable();They both give me the same error: Note: C:\.....\tttGUI.java uses or overrides a deprec

  • HELP! Virgin modem in UK - fails to talk to Time Capsule

    My previous Virgin modem (Scientific Atlanta) was connected to my Airport Time Capsule and worked perfectly well. Virgin sent me a new modem (just better performance I understand) recently. I did say to them that I'd heard there were some problems wi