adccommunitymod (AutomationDirect) asked a question.

EA3-T6CL creating an alarm screen

Created Date: December 03,2019

Created By: mikeexplorer

**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****

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


  • adccommunitymod (AutomationDirect)

    Created Date: December 03,2019

    Created by: mikeexplorer

    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

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: December 03,2019

    Created by: kewakl

    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/

    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.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: December 06,2019

    Created by: mikeexplorer

    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

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: December 06,2019

    Created by: kewakl

    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/ 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/ 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.

    ST25:0 Dynamic Text SOURCE

    ST25:1 Dynamic Text Message 1

    ST25:2 Dynamic Text Message 2

    .

    .

    St25:50 Dynamic Text Message 50

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: December 07,2019

    Created by: mikeexplorer

    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

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: December 07,2019

    Created by: quaizywabbit

    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.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: December 09,2019

    Created by: mikeexplorer

    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