PGreza

Timer Register not accrueing

5 posts in this topic

Puzzling situation, I'll try to describe it properly:

   Running 90-30, using Logicmaster with the rung as depicted in the attached image. Controls a zone a bridge runs thru in one direction, West.

AUTOMOS = (I50) Discrete input, either always ON or OFF. ON (TRUE) in this situation.

DRINPRM = (M210) M input. This is a bit that is SET. Does not get reset until the bridge retracts in the opposite direction.

BRIDRUN = (Q59) Output that stays true as the bridge travels East or West.

BRIDCCW = (Q57) Output that is on only when the bridge travels in the opposite direction. In this situation it is TRUE.

So, as soon as all 4 items are TRUE I should see the timer register (REG0128) start to accumulate and after 3 seconds BRDGZN2 is enabled. However, I don't see any accumulation until 1-3 seconds after the input is TRUE. 

  I checked that there wasn't any additional instances of REG0128, directly or implied. Even tried a different register. I see nothing that would cause the 4 input items to pulse or otherwise open faster that I would notice. The bridge would actually stop if that were to happen. I actually created some temporary rungs of logic separating the individual input bits to their own timer and register and ouput and they worked as expected. Any thoughts? Thanks

Rung 21 GATES.JPG

Share this post


Link to post
Share on other sites

Timer functions in the 90-30 use three consecutive register addresses. Assuming that REG0128 is actually addressed to %R128, when you check for other usage of %R128 you should also check for other usage of %R129 and %R130. The TMR function must be the only instruction writing to those three addresses for proper operation.

 

Share this post


Link to post
Share on other sites

Steve, you are a saint. That was it.. Thanks so much!

Share this post


Link to post
Share on other sites

Here's a tip that may help you prevent overlaps like that in the future. When you create a new timer, instead of entering the specific %R address, simply type in "%R". Logicmaster will select the next available address for you, taking into account the fact that timers and counters use three consecutive addresses. It won't fill in unused gaps in the memory area. It only keeps track of the highest used address  for each memory type. The trick works for all memory types. Just remember to include the percent sign. If you forget it Logicmaster will think that the letter "R" (or any other memory type) is a variable nickname and tell you it doesn't exist.

GE continued that feature in subsequent programming software packages. It also works with VersaPro and Proficy Machine Edition.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now