mr_electrician

Moving Data Memory

21 posts in this topic

Hi guys,

I am not sure as to why I cannot move a value from one Data Memory into another Data Memory. 

I tried moving from the Data Memory into a word address (3900) and this worked ok but not from one Data Memory (D9020) into another Data Memory (D9200)???? 

Is this not allowed in OMRON?  Nothing else is writting to D9200 so I am not sure why it is staying at 0?????

I can cjange all my addressing to make it work but would still like to know why.

 

Moving Data Memory.jpg

Edited by mr_electrician
Added more detail

Share this post


Link to post
Share on other sites

Just to make sure: Did that "Always Off " bit was there when you tried?

Share this post


Link to post
Share on other sites
32 minutes ago, pfort said:

Just to make sure: Did that "Always Off " bit was there when you tried?

No it is not part of the logic.  I threw that in there for trouble shooting purposes only. 

Share this post


Link to post
Share on other sites

@mr_electrician I have test on my laptop they are work normally. Maybe you use or set D9200 in other program or sections.

OMRON_MOV_01.jpg

Share this post


Link to post
Share on other sites

What is the part number of the processor you are using?

gtsuport

1 person likes this

Share this post


Link to post
Share on other sites

+1 gtsuport

You must ensure that the processor that you are programming does not use this are for other items like DM Setup Area. 

Regards,
Garry

Share this post


Link to post
Share on other sites

If you share your ladder, we can take a look.  There are only a few options as to what is causing this:

1)  The ladder is overwriting it directly.

2)  The ladder is using indirect addressing and overwriting it.

3)  A module that has special memory areas (in addition to the D20000 or D30000 areas) is overwriting that address.

4)  That address is being overwritten by communication from an outside device through a network card.

Sharing the ladder (and I/O table) would likely allow us to investigate 1-3.

1 person likes this

Share this post


Link to post
Share on other sites
31 minutes ago, Michael Walsh said:

If you share your ladder, we can take a look.  There are only a few options as to what is causing this:

1)  The ladder is overwriting it directly.

2)  The ladder is using indirect addressing and overwriting it.

3)  A module that has special memory areas (in addition to the D20000 or D30000 areas) is overwriting that address.

4)  That address is being overwritten by communication from an outside device through a network card.

Sharing the ladder (and I/O table) would likely allow us to investigate 1-3.

If you share your ladder, we can take a look.  There are only a few options as to what is causing this:  I cannot publicly share the program.  Company rules)

1)  The ladder is overwriting it directly. Possible but I did a cross reference for usage and it only references to my instance.

2)  The ladder is using indirect addressing and overwriting it.  Possible...it is an older program that had IR but I deleted most of it.

3)  A module that has special memory areas (in addition to the D20000 or D30000 areas) is overwriting that address.  Possible

4)  That address is being overwritten by communication from an outside device through a network card. Possible on the actual PLC however my test PLC only has the CPU.  The actual (in Memphis) has a device net card, and a serial communications card)

Share this post


Link to post
Share on other sites
2 hours ago, gtsuport said:

What is the part number of the processor you are using?

gtsuport

Actual installed hardware is a CJ2M-CPU35

What I am testing on is a CJ2H-CPU66-EIP

Share this post


Link to post
Share on other sites

What was the original cpu?

What is the new cpu?

What modules are attached to the new cpu?

Can you share a screen shot of the IO Table?

Edited by gtsuport

Share this post


Link to post
Share on other sites
1 minute ago, gtsuport said:

What was the original cpu?

What is the new cpu?

What modules are attached to the new cpu?

See my response further up.

Share this post


Link to post
Share on other sites

What modules are connected to the cpu?

Share this post


Link to post
Share on other sites
6 minutes ago, gtsuport said:

What modules are connected to the cpu?

For my test bench there is only the CPU, no modules.

The actual PLC that we are using on the machine has the following as attached.  The CJ2M is the actually PLC and the CJ2H is what I am testing with at home.

I_O Table.jpg

I_O Table of test plc.jpg

Edited by mr_electrician

Share this post


Link to post
Share on other sites

In your initial post, is the problem with moving data in the CJ2H or CJ2M or both?

Share this post


Link to post
Share on other sites
4 minutes ago, gtsuport said:

In your initial post, is the problem with moving data in the CJ2H or CJ2M or both?

Just the CJ2H.  The CJ2M is a 5 hour flight away lol.  I have not even tried the logic I am adding in the fianl PLC yet.  I was planning on developing it at home with the CJ2H and then adding it into the CJ2M when i get to Memphis in a few weeks.

I may just end up changing the registers to word addresses as my logic seems to work when I do this.

Question is what will happen when I try it in the actual PLC that is being used?????

Why can't employers supply a test PLC that is actually being used in the field?????

Share this post


Link to post
Share on other sites

Not that is helps, but I am unable to see why you cannot MOV data to D9200.

None of the IO modules should be using that area, unless thinks were modified from default.

I am not sure how the DRM21 was configured, but it should not be using D memory.

Be careful using 3000 words, they could be allocated to the DRM21.

Sorry I cannot be of more assistance.

Thanks!

Share this post


Link to post
Share on other sites
3 minutes ago, gtsuport said:

Not that is helps, but I am unable to see why you cannot MOV data to D9200.

None of the IO modules should be using that area, unless thinks were modified from default.

I am not sure how the DRM21 was configured, but it should not be using D memory.

Be careful using 3000 words, they could be allocated to the DRM21.

Sorry I cannot be of more assistance.

Thanks!

Hey no problem, I will take any help (and give) you have.

I actually meant 3800 and not 3000.  words 3800 to 6144 are a free for all from what I can find from the training manual.

Edited by mr_electrician

Share this post


Link to post
Share on other sites

Normally that would be true.

You will need to verify how the DRM21 was configured.

With Auto Allocation you are correct.  However, it can be manually configured to most any CIO area.

 

1 person likes this

Share this post


Link to post
Share on other sites

Since there are no other devices or modules connected to the test PLC, there must be something in the code (direct or indirect) that is keeping the move from working.

Share this post


Link to post
Share on other sites

Did you put this could in another section of the program?  Could  you have placed it after the END statement?  That  would cause it not to operate..

Share this post


Link to post
Share on other sites

Shout Out to @Michael Walsh for pointing out my minor programming bug.  Had a bit that was in the wrong state.

Always nice to have a second set of eyes when your get blurry from chasing bugs for a couple hours!

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