Greg Dake
Member
Greetings everyone. There's something I'm not quite grasping about the ASCII buffer in a Compact Logix processor. I have attached a file with the program I wrote which communicates to a message display. This program is only a start, and works for my first screen presentation I'm doing, with the exeption of a bug I can't find. Let me explain what the code is doing :
In the DYNAC_LEVEL_MESSAGE subroutine :
Rung 0 and 1 write once to the message display, doing a display reset and displaying some static data.
Rung 4-7 are converting DINT to STRING and then inserting the dynamic number or Dynac level into a static string.
Rung 8-11 then write the string to the display to show dynamic levels in the dynacs.
This works great for a little bit, then the dynamic number that is sent by the AWT in rung 11 dissapears, then a little later the dynamic number that is sent by the AWT in rung 10 dissapears, then a little later the dynamic number that is sent by the AWT in rung 9 dissapears. The funny thing is that the dynamic number that is sent by the AWT in rung 8 never dissapears...
Another thing that happens if I slow the two timers down, the rate of dissapearance slows as well. This leads me to believe I'm filling up a buffer, in the processor? I used and ACL instruction in rung 12 to try and clear this, not sure I'm using it correctly. Or is there a diffrent issue? Any help would be appreciated.
TIA,
Greg
In the DYNAC_LEVEL_MESSAGE subroutine :
Rung 0 and 1 write once to the message display, doing a display reset and displaying some static data.
Rung 4-7 are converting DINT to STRING and then inserting the dynamic number or Dynac level into a static string.
Rung 8-11 then write the string to the display to show dynamic levels in the dynacs.
This works great for a little bit, then the dynamic number that is sent by the AWT in rung 11 dissapears, then a little later the dynamic number that is sent by the AWT in rung 10 dissapears, then a little later the dynamic number that is sent by the AWT in rung 9 dissapears. The funny thing is that the dynamic number that is sent by the AWT in rung 8 never dissapears...
Another thing that happens if I slow the two timers down, the rate of dissapearance slows as well. This leads me to believe I'm filling up a buffer, in the processor? I used and ACL instruction in rung 12 to try and clear this, not sure I'm using it correctly. Or is there a diffrent issue? Any help would be appreciated.
TIA,
Greg