
adccommunitymod (AutomationDirect) asked a question.
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
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
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.
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
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
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
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.
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