Zamora

Problems Reading/Writing QD77MS4 Simple Motion Module Buffer Memory

4 posts in this topic

Good day everybody, 

 

Currently I am working on an application using 3-axis controlled by a QD77MS4 Simple Motion Module. 

In this case, I have already set up most of the configuration, but when I try to execute the program, I get the following error:

 

SP. UNIT ERROR

- The location designated by the FROM/TO instruction set is not the intelligent function module/special function module. 
- The module that does not include buffer memory has been specified by the FROM/TO instruction. 
- The intelligent function module/special function module, Network module being accessed is faulty. 
- Station not loaded was specified using the instruction whose target was the CPU share memory.

 

The QD77MS4 Module is mounted in Base Slot #3, so I use U2\G800, U2\G1500, etc... to Read/Write from it. 

The Diagnostics tool indicates the error occurs as soon as I try to access the U2\G800 Buffer Memory. If I set this part of the program to No Execution the error is no longer displayed. 

Additionally, if I try to monito the Buffer Memory area of the Module, it says that "The Module Stat Address is incorrect".

 

I already tried changing the position of the module in the base (Slot 3 --> Slot 1) and changing the corresponding values to reflect that, but still the problem persists. 

 

What am I doing wrong? Is there some kind of configuration I could be missing? 

 

Thanks in advance for your help! 

 

Share this post


Link to post
Share on other sites
1 hour ago, Zamora said:

The QD77MS4 Module is mounted in Base Slot #3, so I use U2\G800, U2\G1500, etc... to Read/Write from it. 

so why do you think that U2\xxx should work? and what was the U?\... you tried when module was in slot 1?

that number "2" in U2 is not a 'slot number'... it is a base address which is begin of I/O address for that slot.

what are the modules in slots before Slot#2? depending on how much I/O they consume will determine base address of next module.

if you put the module next to CPU, base address should be 0, so U0\G800 etc.

suppose slot1 is a card with 32inputs. thay means they will be X0...X1F

so next slot (slot2) will start with X20. if module there is 16inputs, they will be X20..X2F.

then next module (slot 3) will start with X30.

base address is obtained by removing "X" and the last digit. so in this case module in slot 3 would have base address 3 ("X0030" after removing X and last 0 becomes 003 or just 3). so you would need to use U3\G800 instead of U2\G800.

 

if module in slot 5 uses inputs X0320..X033F then base address would be 032  and not 4 

 

 

1 person likes this

Share this post


Link to post
Share on other sites
1 hour ago, panic mode said:

that number 2 in U2 is not a slot number, it is a base address. so why do you think that U2\xxx should work?

what are the modules in slots before Slot#2? depending on how much I/O they consume will determine base address of next module.

Thank you for your quick reply. This was the issue. 

Mistakenly, I assumed that "Base address" referred to the position in which the Module was mounted on the base. 

I have a 64 point Input module in the first Base Slot and a 64 point Output Module in the second Base Slot, so the start number of the positioning module should have been 80, not 20. I already corrected this and the project is working fine now. 

My confusion also came because in my previous experience with LSIS MasterK PLC, the 'PUT' and 'GET' commands work similarly to the 'TO' and 'FROM' commands in Mitsubishi, but in the case of MasterK, you do specify the Base SLOT number. 

Thank you! 

Share this post


Link to post
Share on other sites

very good :)

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