Announcement

Collapse
No announcement yet.

EA3-T6CL creating an alarm screen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts


  • EA3-T6CL creating an alarm screen

    Ive been using this HMI for my model train project and it has worked well. With the programs I have written so far (Micrologix 1000) I am using B3:20 for alarm codes, which allows for 16 alarm conditions. The only way I was able to display a text description of the alarm was the first illustration where I have all 16 texts on one screen and the object visibility is when that bit is set. Not the best way to design an alarm screen but it works.

    I then experimented with the lookup text function. Using an integer value, say N7:20 it will allow up to 255 messages which will be more then enough alarm conditions. I inserted the 16 messages in the message database as shown in the second screen shot. This looks neater and a better way, but the limitation is only one alarm can be displayed at a time. Most likely there would only be one alarm condition as it would stop the trains where they are and await for input to clear the problem.

    Is there a better way to design an alarm screen? I was looking around for a sample but didn't find anything. If it matters, I will soon be replacing the Micrologix 1000 with a Micrologix 1400 since I need more I/O and memory space. This also means most of the programs I wrote so far will be re-done so this is a good time to plan for the alarm screen if I can find a better way to do this. I also will be needing more then 16 alarm codes so the first screen I did won't work.

    Mike
    Attached Files


  • #2
    I don't know of a 'better' way, but you could isolate the lookup text object from the alarm word(s) then loop thru the alarm word(s) and display any active alarms for a few seconds then continue the loop. You could also give one alarm word priority over the other (main line issues.)
    Some alarms could be displayed for a bit longer than others.

    If N7:20 is one alarm word, loop thru the bits in N7:20 indexing off C5:x - I forget my AB, but something like N7:20/[C5:x.ACC]
    If N7:20/C5:x.ACC] is true, pause the count, display this alarm, dwell, continue the count -- unless this is a priority alarm - then don't continue the count until acknowledged.

    I hope that I am making AB sense.

    Comment



    • #3
      Sort of, C5 is a counter and the example you posted is using the accumulated value to reference the bit values in the N7 integer value.

      Unless I am missing something here, the lookup text function can only deal with an integer value, not bit values, although there is reference to "discrete" in the actual text messages that can be displayed. ??

      Mike

      Comment



      • #4
        Originally posted by mikeexplorer View Post
        Sort of, C5 is a counter and the example you posted is using the accumulated value to reference the bit values in the N7 integer value.

        Unless I am missing something here, the lookup text function can only deal with an integer value, not bit values, although there is reference to "discrete" in the actual text messages that can be displayed. ??

        Mike
        I was thinking that C5:x.ACC would be the index to use for the message. The reference to N7:20/[C5:x.ACC] is a PLC test for that bit being true.
        The 'isolate' wording would be was meant to imply (sorry for not being clearer- my AB skills are rusty) this separation.
        So while counting thru the N7:20 bits, if N7:20/[C5:x.ACC] is true, copy C5:x.ACC to a word in an N table. Use that copied value as the tag for the Lookup Text object.
        If the bit in N7:20 is NOT true, copy a zero (or negative value) to that word in the N table.



        Another thing you could consider is using Dynamic Text -- if your CPU supports ST tables
        Store all your messages in an ST table, and pick the message to display .
        Copy ST25:1 to ST25:0 to display message #1 - Again (AB SKILLS), I don't remember if you need to use COP or MOV - or whether you need the '#' file marker.

        Code:
        ST25:0   Dynamic Text SOURCE
        ST25:1   Dynamic Text Message 1
        ST25:2   Dynamic Text Message 2
        .
        .
        St25:50  Dynamic Text Message 50

        Comment



        • #5
          The Micrologix 1000 I have been using does not have Ascii Tables. (ability to store text) However the Micrologix 1400 I just bought does support it. It will be awhile before I install that unit since I still have to order parts from Automationdirect and I have to tear down what I built and re-do it for the new PLC.

          This is a personal project which I am building a model railroad layout that is PLC controlled as a means of learning how to program. I have had some success with the Micrologix 1000 but that PLC is obsolete and has limited memory and I/O.

          Mike

          Comment



          • #6
            Originally posted by mikeexplorer View Post
            The Micrologix 1000 I have been using does not have Ascii Tables. (ability to store text) However the Micrologix 1400 I just bought does support it. It will be awhile before I install that unit since I still have to order parts from Automationdirect and I have to tear down what I built and re-do it for the new PLC.

            This is a personal project which I am building a model railroad layout that is PLC controlled as a means of learning how to program. I have had some success with the Micrologix 1000 but that PLC is obsolete and has limited memory and I/O.

            Mike
            that ab stuff is expensive though, unless youre getting a deal on ebay. as far as bang for the buck, i recommend the p1000 for cost vs capability.

            Comment



            • #7
              I did look at several options for upgrading and even though the Micrologix was a more expensive option, it was the best option for my case and use.

              Mike

              Comment

              Working...
              X