Jump to content
OMRON Forums

Reading analog input through MACRO Ring


Khalil_yaz
 Share

Recommended Posts

I have a setup with two Power PMACs. Both PMACs have an acc5e3. I want to configure the PMACs so that we have one master that communicates via the acc5e3 to the other acc5e3 on the second slave PMAC to control the various other cards on the slave PMAC.

I have an ACC59E3 card on the slave and I want to read the inputs from this card and process them on the Master PMAC.

What is the best way of achieving this?

I have tried using the I/O nodes but I can't seem to get the right data sent even with the right bit shift and masking.

Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Here are the settings I'm using 

on the Master PMAC:

Gate3[10].PhaseFreq=8000
Gate3[11].PhaseFreq=8000
Gate3[10].ServoClockDiv=3

Gate3[10].MacroEnableA=$0fffff00;    //Activate 8x servo nodes, 6x IO nodes & 2x aux nodes
Gate3[10].MacroEnableB=$1f000100;
Gate3[11].MacroEnableA=$1f000000;
Gate3[11].MacroEnableB=$1f000000;
Gate3[10].MacroModeA=$403000;        //Set Macro as master
Gate3[10].MacroModeB=$1000;
Gate3[11].MacroModeA=$0;
Gate3[11].MacroModeB=$0;

Macro.TestPeriod=10/Sys.ServoPeriod;        //Macro Ring check period [servo cycles]
Macro.TestMaxErrors=Macro.TestPeriod/10;    //Macro maximum ring error count
Macro.TestReqdSynchs=Macro.TestPeriod - Macro.TestMaxErrors;    //Macro minimum sync packet count


 

On the second (slave) PMAC


 

Gate3[10].PhaseFreq=8000
Gate3[10].ServoClockDiv=3
Sys.PhaseOverServoPeriod=0.25
Sys.ServoPeriod=0.5

//Gate3[10].MacroEnableA=$0fffff00;    //Activate 8x servo nodes, 6x IO nodes & 2x aux nodes
//Gate3[10].MacroEnableB=$1f000100;
//Gate3[11].MacroEnableA=$1f000000;
//Gate3[11].MacroEnableB=$1f000000;
//Gate3[10].MacroModeA=$408000;        //Set Macro as slave
//Gate3[10].MacroModeB=$1000;
//Gate3[11].MacroModeA=$0;
//Gate3[11].MacroModeB=$0;

Acc5E3[10].MacroEnableA=$fbfff00
Acc5E3[10].MacroModeA=$40c000
Acc5E3[10].MacroEnableB=$1f800100
Acc5E3[10].MacroModeB=$4000
Acc5E3[11].MacroEnableA=$1f000000
Acc5E3[11].MacroModeA=$4000
Acc5E3[11].MacroEnableB=$1f000000
Acc5E3[11].MacroModeB=$4000

Macro.TestPeriod=10/Sys.ServoPeriod; // MACRO Ring Check Period [servo cycles]
Macro.TestMaxErrors=Macro.TestPeriod/10; // MACRO Maximum Ring Error Count (Related to I81 in Turbo)
Macro.TestReqdSynchs=Macro.TestPeriod - Macro.TestMaxErrors; // MACRO Minimum Sync Packet Count // (Related to I82 in Turbo)

 

I managed to send and receive single bits of data between the two PMACs using this method

ptr Test->Gate3[10].MacroOutA[6][0].8.1 //on the Slave

ptr Test->Gate3[10].MacroInAA[6][0].8.1 //On the Master

This works fine but when I try to send  16bit data using the same method

ptr test_data->Gate3[10].MacroOut[6][0].8.16

I'm getting random data.

Am I missing some settings or using the Macro ring wrong?

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...