VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

setting up reflective memory

Hello,

 

I am new to Veristand and need help getting reflective memory working properly.  I am currently running Veristand 2011 on 2 RT machines using the Fanuc 5565 reflective memory cards.  I set up a read and write for reflective memory between the 2 RT machines.  Machine A has the read and machine B has the write.  I have each channel set to a specific memory address (x4000) with the same data type (double).  When I run the system definition file, I don’t use a model, I’m just checking for communication, I have a Numeric control on machine B's channel and a Numeric Indicator on machine A's channel.  My thought is that using the control, i can change the value stored at memory location x4000 and have the Indicator show the corresponding change.  However, nothing happens when I increase or decrease the control.  Any thoughts?

 

Thanks,

Matt

 

0 Kudos
Message 1 of 12
(7,385 Views)

You might want to read these steps through before performing any of them in case there's one that catches your eye.

 

Check:

 

  1. Hardware setup
    • Check the manual Table 1-1 and ensure each RM card has a unique address on switch 2.  If you're using the PMC to PXI riser board, you'll have to remove the riser board to check the address.  You should use an ESD strap while handling the 5565 boards.
    • Check Table 1-2 and ensure each RM card has compatible redundancy and rouge settings on switch 1.  If you're unsure what these settings mean then turn all positions of switch 1 OFF.
    • Wire Tx of card 1 to Rx of card 2.
    • Wire Tx of card 2 to Rx of card 1.
    • Completely seat the cards in the chassis and power up.
  2. Hardware driver
    • In Measurement and Automation Explorer (MAX), browse to the remote systems and Add/Remove Software.  Beneath the NI VeriStand engine is an optional component for reflective memory support.  This component does not install by default, so make sure it's selected to install to both systems.
    • Run the installation and reboot the systems.
  3. Check the resource name
    • In MAX, note the IP address of each system.
    • Browse to the 5565 cards in each system.  Either assign (and save) a new VISA alias or carefully note the default name of each card.
  4. Setup RM in System Explorer for both targets
    • Make sure the IP address of the Controller you're configuring matches the system's IP address in MAX.
    • Right-click Data Sharing and Add Reflective Memory for each system.  
    • Enter the exact VISA alias from step 3 into the VISA Resource field.
  5. Map channels between targets
    • While your setup looks correct, in most cases you should not use Data Channels to exchange channel information between VeriStand Systems.  You should let VeriStand take care of mapping channels between chassis as much as possible.  Only use data channels when you need to get data into or out of the VeriStand engine from/to a NON VeriStand system.
    • Create a User Channel under each Controller.
    • Map the two user channels together.
  6. Test
    • Deploy the system definition and run the workspace.
    • Map a numeric control to the user channel on system A and a numeric indicator to the user channel on system B.
    • Check that you can change the value of system B's user channel by changing the control on system A.

If this process doesn't work, then please post:

  • Any errors you receive during deployment.
  • Your VeriStand system definition.
  • A MAX Technical Support Report for each remote system.
  • Let us know what addresses and settings are on the cards switches and which LEDs are on each card.
  • Let us know what you need to do with RM, i.e. do you need to map two VeriStand systems together and/or exchange data with a non-VeriStand system.

 

Steve K

0 Kudos
Message 2 of 12
(7,377 Views)

Hello,

 

I recently spent hours getting Veristand to communicate with another machine that wasn't Veristand through Reflective Memory. My conclusion was that the method of creating variables that Veristand will write to the Reflective Memory is different from creating read variables. I notived that this was from around 2 months ago and won't go into more detail unless this is still an issue and in which case I can provide steps to get the Veristand Reflective Memory up and working because the documentation provided is lacking detail.

-You can never have too much power...
0 Kudos
Message 3 of 12
(7,301 Views)

Hi MBoyd

 

As your self I am currrently usingVeristand 2013 on 2 RT machines using the Fanuc 5565 reflective memory cardsand I have the same issue with you.

 

While I can see the variables (acceleration measurements) written in the RM  in the 1st controller I can not see these measurements to the second transfered to the 2nd. Can you explain how did you overcome this problem?

 

Many Thanks

 

Ilias

 

 

0 Kudos
Message 4 of 12
(6,629 Views)
To send data from one NIVS system to another NIVS system with reflective memory, simply add a reflective memory card under each target's data sharing node. Then, open the system mappings dialog and map from target A's channels to target B's channels and vice versa.
Stephen B
0 Kudos
Message 5 of 12
(6,616 Views)

Hi Stephen

 

I think I now understand which my mistake is.

 

I am defining channels to both Reflective memories (with the same addresses) but I am not mapping them thinking that since the addresses are the same the information into one RM also appears to the second. I will try this next week and hopefully it will work.

 

I will let you know the outcome.

 

Thak you for your help

 

Ilias

0 Kudos
Message 6 of 12
(6,611 Views)
Not quite...
'data channels' under the reflective memory node are not for communicating between NIVS systems. They are only for communicating with 3rd party systems, hence you can manually define what addresses to use.

if you are communicating between NIVS systems do not create any 'data channels' and instead just map any normal channel across targets with the system mappings dialog.

I hope that helps!
Stephen B
0 Kudos
Message 7 of 12
(6,606 Views)

So what you mean is that when we map normal channels between the 2 targets (such as inport/outports of a model deployed to target 1 to the channels of AO and AI Cards at target 2), Veristand automatically creates the links through the RM network.

0 Kudos
Message 8 of 12
(6,599 Views)
Yes exactly, hence it says "reflective memory network" at the top of the system mappings dialog when you have reflective memory present on the targets
Stephen B
0 Kudos
Message 9 of 12
(6,596 Views)

Thanks Stephen. So simple but a bit confussing when you just start to work with RM networks.

 

Thanks for your help.

 

Ilias

0 Kudos
Message 10 of 12
(6,593 Views)