Limited Addresses?

jessreyes

Member
Join Date
Aug 2012
Location
California
Posts
4
I'm working with a Horner XL6 and Cscape. I'm trying to use some math functions to calculate some values. However, when I input addresses into these math functions it will only let me use the first of each register (R1, T1, M1, K1).

I'm new to PLCs. Can someone please explain why I can't use other numbers such as T2, M2, M3..?

It gives me an error window that reads, "Boolean data must be on a WORD boundary to be used as INT or UINT data."

To specify, I am using MUL, ADD, and SUB functions with type REAL. I am also using an INT to REAL conversion. I am aware that there is an equation function that can do all of these calculations in one step, however, this problem arises in that case as well.

Please help!

Best,
Jess
 
When you use M or T memory addresses in math instructions your address needs to be on what they call a byte boundary. That's a number that divides by eight with a remainder of 1 such as M1, M9, M17, etc. The reason is that when you use discrete memory in that context you are actually using 16 or 32 consecutive memory bits. Generally you will be better off using R memory for math instructions. Remember that when you specift R memory for a REAL data type you will be using two consecutive R addresses.
 
For math or as holding registers use registers (type %R)
The Ms and Ts are to be used with BOOLs preferably.
Not that you cannot use an entire word or Byte of Ms but...

If you deal with REALs keep in mind that you have to use 2 consecutive registers as in 32 bits. (say %R1001 and %R1002).
Stev is right about boundaries. Read his post above.
 
Thanks guys! This helps a lot!

So since with REALs you use 2 consecutive registers, when assigning addresses I would use say %R1, %R3, %R5, etc. right?
 
That's a reasonable habit to get into, but the REAL or DINT instruction will use whatever address you specify plus the next consecutive. If you specify %R1, it will use both %R1 and %R2. If you specify %R2, it will use %R2 and %R3.

Remember also that timers and counters use three consecutive %R addresses.
 
Steve,
timers are only 2 consecutive registers usually. (I know GE uses 3 registers but not cScape).
IF you decide to go with their new firmware then they do support timers that will occupy 3 consecutive registers.
This is an add-on feature with the latest cScape software and firmware x.x2 I believe. (For the XL6, XL10 that is).

Jess, yes good habit to get into it.
Start with %R1 and continue using odd nymber registers (%R3, %R5, etc).
I usually do the same even if I don't have to use REALS and such.
Saved my bacon quite a few times when "things changed" while they were written in stone at the planning phase of the project.
I suggest reading a bit on the new firmware release notes, to find out about the 3 consecutive register usage for timers and such.
 

Similar Topics

Good Morning , We plan on networking our entire plant. We have well over 255 machines. We have a block of IP Addresses we were thinking...
Replies
8
Views
2,812
as already mentioned in the title, document 1756-rm014_-en-p.pdf mentions a limit of decorated data (XML format) to 100k. Is there a way to...
Replies
0
Views
609
When attempting to add IO modules to the backplane of a Guardlogix controller (5069-L330ERMS), there are only 18 modules from which to select, and...
Replies
3
Views
1,374
Hello everyone, is it possible to make a project that will not be used at the end of the specified date with wincc flexible?
Replies
5
Views
2,019
My memory is failing me. I seems to remember I could download which ever version of any Rockwell Automation software as long as they are covered...
Replies
2
Views
2,510
Back
Top Bottom