
adccommunitymod (AutomationDirect) asked a question.
Created Date: November 18,1999
Created By: ericn
**** 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.****
I'm trying to create a bilingual display on an OP-420 from a DL-05. What I 've done is set up messages 1-50 as one language (English display), and messages 100-150 for the second language (Spanish display). To toggle between them, I set a bit and use this bit to ADD a value of "100 " to the V-memory location that contains the message number to display. Let's say V2000 is the upper line message, and V2001 is the lower. V2002 contains the "100 " value. When the language toggle bit is on, the output is: LD V2000, ADD V2002, OUT V2000, LD V2001, ADD V2002, OUT V2001. This is the last line in the program, so it's not being overwritten. The top line message toggles fine, but the bottom line fails to ADD the "100 ". I worked around it by duplicating the display subroutine, modifying the message numbers, and enabling this subroutine when the language toggle is on. Just wondering if anyone had any ideas why my original method didn't work. It's my first time out with the DL-05 (I normally use DL-240s) Thanks, Eric Nelson
Created Date: November 18,1999
Created by: ericn
I'm trying to create a bilingual display on an OP-420 from a DL-05. What I 've done is set up messages 1-50 as one language (English display), and messages 100-150 for the second language (Spanish display). To toggle between them, I set a bit and use this bit to ADD a value of "100 " to the V-memory location that contains the message number to display. Let's say V2000 is the upper line message, and V2001 is the lower. V2002 contains the "100 " value. When the language toggle bit is on, the output is:
LD V2000, ADD V2002, OUT V2000, LD V2001, ADD V2002, OUT V2001. This is the last line in the program, so it's not being overwritten. The top line message toggles fine, but the bottom line fails to ADD the "100 ". I worked around it by duplicating the display subroutine, modifying the message numbers, and enabling this subroutine when the language toggle is on. Just wondering if anyone had any ideas why my original method didn't work. It's my first time out with the DL-05 (I normally use DL-240s)
Thanks,
Eric Nelson
Created Date: November 19,1999
Created by: Russ
Hi Eric,
That's an interesting problem. I haven't tried the code on an 05 yet, but I can't see any reason why it might behave differently than on a 240. Just out of curiosity, did you try swapping the bottom line and top line calculations? If you did, did the bottom start working and the top stop?
Regards,
Russ O 'Rourke
Created Date: November 19,1999
Created by: ericn
Hi Russ,
Sorry if I inferred that I 've done the same thing on a 240. I haven't. This is my first attempt at bi-lingual with PLC Direct (I 've done it a lot on other brands). Yes, I 've tried making it change the bottom line display ONLY with no luck. It just seemed strange that I can't seem to ADD a value to the bottom message display V-memory location. In reality, I 've got the display mapped to use V3610 as the top line, and V3611 as the bottom line. I don't think that these locations are used for other data in the PLC (like presets for the high-speed counter or something). The system functions fine with my workaround, but I'd just like to figure out why the "easy " method wouldn't work, for my own satisfaction ;o)
Thanks!,
-Eric
Created Date: November 19,1999
Created by: Russ
Eric,
I tried the code you listed in your posting, and it seems to work as expected - when the rung is enabled, an offset value stored in V2002 ( 100 ) is added to and stored in V2000 and V2001. I used a self-resetting stage to ensure this calculation is performed only once - is that how you did it too or did you use a subroutine or PD output contact or a STRPD/STRND differential contact or a self-resetting rung?
Regards,
Russ O 'Rourke
CDS, Inc.
Created Date: November 23,1999
Created by: ericn
Hi again,
Once I find time, I'll invetigate this further. In the meantime, here's the code that "didn't " work:
STR C30 ; Language toggle
LD V3610 ; Top line message
ADD V2030 ; Offset value "100 "
OUT V3610 ; Top line message
LD V3611 ; Bottom line message
ADD V2030 ; Offset value "100 "
OUT V3611 ; Bottom line message
END ; Proof that it's the LAST line of code http://forum1.automationdirect.com/board/wink.gif
I tried different combinations, but no matter what, the bottom line would not "offset ". When I figure it out (and I WILL!), I'll post the solution. As always, it's probably something simple that I overlooked.
-Eric
Created Date: November 29,1999
Created by: Tark
I'd be willing to bet that the problem doesn't lie in the code, rather where your placing the code in the ladder. Try splitting up the load and add statements into two rungs, then place these two rungs at the beginning of the ladder instead of the end. If this still doesn't work try placing the bottom display load add rung before the top display load add rung.
Created Date: January 19,2000
Created by: ericn
A quick update: I'll be building 3 more of these systems in the near future, so I'll be sure to try everyone's ideas. Thanks for the input!
Stay tuned.... I'll post the solution here http://forum1.automationdirect.com/board/wink.gif
-Eric