S7-300 Data Type Move Problems


Thread Starter


I am working with an 313C 2dp cpu and am having issues with moves. The problem is this...

When a create a register MD (DINT) and try and move a value such as "L#123456" into it, the processor won't allow me to download the FC that i did this in. I tried using a DWord, Word, and Integer and it still wouldn't allow it. I am working with an FM 350-2 counter and have set up registers (MW-DINTs) and am trying to load values into them, using a move command. After i load these values into them i would like to load them into the counter data block compare registers based on certain conditions.

I can however, load a value such as "L#123456" directly into these counter data block registers, yet i can't move them into my registers. Any suggestions?
I'm not sure I understood clearly, but I'll try an answer:

1. L#123456 is a long integer (32 bit) value, you must use a DINT parameter
in your FC. You'll then be able to save your FC on hard disk.

2. Then, if you still cannot download the FC to the CPU, check for
addressing boundaries: what's the flags address you are using? Which FC
number did you assign to your block? Do they comply the addressing limits
of your CPU?

Luca Gallina
Thanks for the reply Luca.

Addressing Boundaries? I didn't know such a thing exists. Anyhow, i did try and declare a DINT (MD) in the symbol table, but the CPU wouldn't let me download it. I basically tried all the other data types (INT, WORD, DWORD) as well. At the time i was trying to do this in FC19. What is strange is that if i create a data block and enter those same values in the block, i can then move values from the data block addresses into other data block addresses. This is what i did to circumvent the direct move of L#123456 into a symbol table declared MD (DINT).

dear Jason,
email me your project, I'll take a look at it.
Send to: tecnog (at) runmode.com

Luca Gallina