PXI as EtherCAT Slave?

There is substantial information concerning operating a PXI system as an EtherCAT master, and there is documentation about how to operate a CompactRIO 9144 chassis as an EtherCAT slave with a PXI or third party master, however there is no information as to whether or not you can run a PXI system as an EtherCAT slave.
I have a distributed real-time system in which I have one entity which controls the system and acts as an EtherCAT master.  I would like to use a PXI system for data acquisition and processing however, it would need to work as a slave.  Is this possible?  EtherCAT slave devices typically require more than a standard NIC, and that gives me pause as to whether a PXI system can operate in this mode.
I like the idea of the RIO 9144, however I don't think I can achieve all of my acquisition requirements within the capabilities of this expansion chassis.
Any suggestions would be much appreciated.
Chandler

DirkW,
Thank you for your prompt replies to both this question, and the one I posed over on the real-time board: "High Speed CANbus on a 9144 Slave."  As I am sure you concluded, the two questions are related.
I have a heterogenous distributed real time architecture with a variety of different real time systems performing various tasks (computation, actuation, data acquisition, etc.).  Currently, the system incorporates a combination of deterministic shared memory and UDP for communications.  For cost, scalability, and simplicity reasons we are reconfiguring the architecture to commonize on EtherCAT.
Relative to data acquisition requirements, I have a variety of configurations that are used based on overall system configuration.  The lightest weight versions have a very light I/O load, on the order of 5 analog inputs, 10 digital inputs, and 1 CANbus broadcasting 10 or so messages.  The heaviest configuration has significantly higher channel count:  ~10 analog in, ~10 digital in, ~20 analog out, ~10 freq/PWM inputs, ~5 freq/PWM out, and 2 CANbus.  Overall system communications rate, again, depends on system configuration and target performance.  This could be in the range of 500Hz or considerably higher. 
Again considering the 9144 slave chassis, I have a feeling that the lightweight I/O configuration should not be a problem (assuming CANbus will work vis-a-vis my other posting).  The more complex configuration may be a bit much for the slave chassis to handle relying on just the FPGA.  Knowing now that a PXI can only be operated as a master, it is not impossible to consider reconfiguring the system topology to operate in this manner.  However, there are still compelling reasons as to why we would want to maintain our current master. 
If it is capable, my preference would be to go with a 9144.  However, I would also like to "commonize" to a single data acquisition platform and not split between cRIO for lightweight applications, and PXI for heavier burden ones.  I suppose this raises the fundamental question, currently is the 9144 the only device in the NI lineup that can operate as an EtherCAT slave?
Again, everyone's expertise is much appreciated,
Chandler

Similar Messages

  • LabVIEW Interface for third party EtherCAT slaves

    I have a third party EtherCAT hardware (slave) and software. I am using and industrial PC with Intel PRO network card as the EtherCAT master. This setup works fine, and I can talk to the EtherCAT modules using the thirdparty software. 
    Now, I would like to develop a LabVIEW interface to talk to the EtherCAT slaves for testing purposes, since most of my test programs are written in LabVIEW.
    Is it possible to write EtherCAT software in standard LabVIEW 2013 using an inustrial PC as Master?
    If I use the DLL of the third party software, do I need LabVIEW Real Time module for etherCAT communication?
    -Thanks

    Hi rosh,
    I think it will depend on how the DLLs are designed. If you call the DLL at the right rates, you may be able to avoid using LabVIEW Real-Time. If you want to run LabVIEW Real-Time on your PC, you would need to replace the existing OS with LabVIEW Real-Time. Once you do that, you may be able to run your existing DLLs but compatibility is not guaranteed. This KnowledgeBase article describes the process of determining if your DLL is compatible with LabVIEW Real-Time (NI PharLap ETS is what installs when you replace the OS). For our other Real-Time operating systems on different targets, you would need access to the original source code so you could recompile for the new target.
    Best Regards,
    Matthew B.
    Applications Engineer
    National Instruments

  • Setting the PDOs in an EtherCAT Slave

    In Labview RT using EtherCAT, how do you change the PDO settings of a slave device (i.e. Beckhoff EL5101). To do this within TwinCAT is pretty straightforward, but is ther a pathway to do this in Labview?

    Ryan,
    You are actually incorrect on how to change the PDOs of an EtherCAT bus terminal. You do not do this by changing or modifying the XML file. If fact, the file should never be changed.
    In TwinCAT, you can change the PDO selection with a few mouse clicks and this does not change the XML file whatsoever. All it does is establish the PDO mappings for the EtherCAT master, which is a master within Labview. If you will provide me with your email address, I'll be glad to forward you a document on how TwinCAT changes the PDOs without modifying the XML file. In order to reach the full features of a bus terminal, you must be able to change the PDOs. Otherwise, the end customer will not be able to use all of the features of EtherCAT.
    Thanks,
    Jack Plyler, PE

  • EtherCAT slave detection using PCIe-8231 on a RealTime LabView PC Target

    Hi,
    I'm trying to get a Copley controls Xenus Plus (XEl230-40) motor driver to work with a LabView RealTime PC target, using a PCIe-8231 in EtherCAT module. I've uploaded the ESI files for the driver to the host as well as the target, however, the target does not detect the drive. The host-target communication is done over a i1000e onboard NIC (eth0), and the PCIe-8231 is eth1.
    Further, I've tried manually adding a Xenus slave, but when I deploy the configuration, I see an error saying the EtherCAT telegram timed out.
    Any ideas on what could I be missing?

    I trust that you're working with the RT PC set to be in Configuration Mode rather than Active?
    It sounds like you're only using the PCIe-8231 to act as a NIC.  Are you using it for anything other than transferring the network communication?  If not, have you tried reversing the cables to see if you're still able to communicate with the RT PC if you are only connected to the PCIe-8231?
    Jeff B.
    Applications Engineer
    National Instruments

  • Programmatically remove ethercat slaves from scan engine

    I am using an RT Target as the master of EtherCAT chain.  It has several different sorts of third party slaves in the chain.  All are correctly detected.  However some are buggy (they're in development) and prevent the Scan Engine from switching to Active mode.  If I remove the buggy slaves from under EtherCAT Master (but leave them plugged into the chain) in the project then the Scan Engine will switch to Active and the remaining targets are interogated correctly.
    However I want my RT app to be stand alone and adapt to different chains of slaves. I invoke the Refresh Modules method to find all the available slaves then it finds the buggy ones.  These then prevent the Scan Engine from switching to Active mode.  I have not been able to find a way to programmatically remove these buggy slaves as I can from the project - does it exist???
    Many thanks!

    I am not sure if you will be able to do this but I would suggest posting this question to the Industrial Communications board.
    http://forums.ni.com/t5/Industrial-Communications/bd-p/260
    If this is something that you are able to do, the people that frequent that board are much more likely to know about it.
    Matt J
    Professional Googler and Kudo Addict
    National Instruments

  • No SDO Communication Using CAN over EtherCAT (CoE) with 3rd Party Slave

    Dear all
    We are trying to establish an EtherCAT communication between a cRIO 9024 as EtherCAT master with a 3rd party frequency comverter (bmaxx 4432) as EtherCAT slave. CanOPEN over EtherCAT is industry standard.
    The slave device has a CAN in Automation (CiA) configuration 402, i.e. motion and drives. Thus it has a well configured address range, input/output parameters and the like. The frequency converter remains in INIT mode and waits for a PDO definition, sent via an SDO communication. 
    In LabView, adding an EtherCAT master in the cRIO system works fine. Adding targets and devices on the configured EtherCAT master also works fine after we imported an XML description of our third party EtherCAT slave. LabView detects the slave type and the version correctly. Thus, there must already be a rudimentary EtherCAT communication working between LabView and our 3rd party slave.
    The problem is that we cannot establish a first SDO communication.
    Every description I found was about using CANopen on a CAN bus hardware (e.g. NI 9861) plugged into the cRIO. Descriptions concerning EtherCAT are usually concerning an NI cRIO 9144 extension as slave, which is not what we have.
    The NI CANopen library seems to definitely require the NI 9861.
    Is this correct?
    1)
    Either it should be possible to define a kind of virtual CAN port based on the EtherCAT port, on which we can write to and read from with the NI CANopen library. This would be the preferred solution so we can use the CANopen VIs.
    Is there a way to do this?
    2)
    Otherwise, there should be a possibility to establish a more basic SDO/PDO communication directly based on the EtherCAT interface.
    Are there any NMT/SDO/PDO VIs available to do the programming?
    Is there a manual document which would describe how to start the first communication setup via EtherCAT (CoE)?
    My sincere thanks for any advice you can give.
    Many cheers
     Markus

    Dear all,
    I'm trying to establish a connection between a cRIO9068 and a BM 3300 via CoE.
    I already had a hard time establishing a normal EtherCAT-connection.
    Finally I could set the Scan engine to active, and I was able to get from "ini" and  "pre operational" into "Safe operational" and "operational".
    As I can see, you had similar problems as I do.
    When I add my cRIO to my project (with the EterCAT-master)  I can look for the slave device, and add it to my project.
    Within this slave device, I can add two mods, as seen in the attachment.
    These slots should include all the parameters, the drive provides, but actually I only end up with some "position mode" -parameters, I think those are the SDO's.
    If I add these to a VI, the cRIO scan engine switches to configuration mode, but can't switch back to active mode.
    Actually, the Baumüller slave device should be able to provide multiple parameters for read and write.
    I can see them, wehn I go to "online device state" in the rightklick menu of the slave device (Parameter.png), but there's no way I can actually use them.
    I can't add these "slots" on every computer.
    On some computers it's possible, on some it isn't.
    Thanks for any advice, you can give.
    Yours sincerely
    Karl
    Attachments:
    slot 1.PNG ‏6 KB
    slot 2.PNG ‏9 KB
    Parameter.PNG ‏46 KB

  • Is it possible to generate a PWM using Veristand, PXIe, EtherCAT 9474 Digital Out Card without creating a custom FPGA?

    I am looking to generate a PWM signal and I have done so using Veristand and a 9474 in a CRio.  There is an option in the Veristand System Explorer, when the 9474 is selected, labeled 'Specialty Digital Settings' and gives a PWM option. However I now have a 9474 in an EtherCAT slave and the 'Specialty Digital Settings' no longer appears in the Veristand System Explorer.  I am somewhat new to using Veristand and have little to no LabView experience, and I am looking for a way to do this without creating a custom FPGA with LabView.
    Thanks!

    Hi PMC_NIU,
    Unfortunately, the Specialty Digital mode is not supported by the EtherCAT chassis.  However, creating an FPGA VI to create a PWM signal is relatively easy, and there are a lot of examples that can help you get started.  The Developing a PWM Interface using LabVIEW FPGA tutorial is a great place to start.
    Jayme W.
    Applications Engineer
    National Instruments

  • How to connect a Compact RIO to a PXI System

    Hello,
    I want to connect my cRIO-9074 with my PXI System.
    First of all my Hardware configuration:
    1. "PXI-1036" Chassis with "PXI-8101" Embedded Controller and "PXI-8231" Ethernet
    2. "cRIO 9074" Integrated 400 MHz Realt-Time Controller
    3. "NI 9144" EtherCAT slave chassis
    The PXI System is connected with my Network through the Ethernet-Port on the "PXI-8101" Controller. The "NI 9144" is connected with the "cRIO 9074" through their EtherCAT Ports. That works without a problem.
    Now I want to connect my "cRIO-9074" with my PXI-System through the Ethernet Port on the "PXI-8321", but I can't find a way to get this work.
    In MAX I configured the second Ethernet Port on the PXI as "TCP/IP" with a IP and Subnet. Then I connected the cRIO and turned it on.
    But I can't find the cRIO anywhere in MAX or in a LabView Realtime Project.
    When I configure the "PXI-8321" as a EtherCAT Port, I can connect my "NI 9144" with it and use it in a LabView Project. But configured as Ethernet and connected with the "cRIO 9074" it doesn't works.
    Is there any way to get this working? Or is this not possible with my Hardware?
    I know I could connect the cRIO and PXI through a Switch with my Network and then use both in a LabView Real-Time Project. But I want to build a mobile Measurement-Station with as few devices as possible. If there is no other way I will use a Switch, but without would be better.
    Thankful
    Daniel Löffler

    Hi Daniel,
    it is not possible to connect cRIO-9074 Controller with the PXI System through the Ethernet-Port, because the RT cRIO Controller can not behave as a slave. cRIO Controller is always configured as a master, never as slave. The extension Chassis 9144 is configured as a slave, so you can use it with your cRIO Ctrl or with PXI Ctrl as well. Connection PXI-Ctrl, cRIO-Ctrl, NI 9144 is not possible.
    Best regards,
    ENIA
    NI Germany

  • Is it possible to simulate EtherCAT devices in a project?

    Given a project topology like this:
    Windows PC Host  <-> cRIO-9024 <-> NI-9114 backplane <-> NI-9144 EtherCAT #1 <-> NI-9144 EtherCAT #2  run in hybrid scan mode
    During development is it possible to tell the project to run without EtherCAT #2 being physically connected, using virtual/simulated IO in place of it?
    Just trying it, when I try to switch from Configuration to Active mode, I get an error saying that "the slave device cannot be found".
    I often find myself thinking that the project explorer needs a good way to "comment out" various pieces of the project without having to resort to "Remove From Project".

    Hi WNM,
    Unfortunately, it is not possible to run the project without the ethercat slave device connected.  That does sound like a very useful suggestion though!  I recommend that you post to the NI Idea Exchange with your ideas for this.  http://forums.ni.com/t5/NI-Idea-Exchange/ct-p/ideas
    Regards,
    Dayna P.
    Applications Engineer
    National Instruments

  • Ethercat : twincat to NI

    Hi,
    I'm currently using the TwinCat Ethercat drivers in Labview to control a couple of motors and read back speed, torque, etc.
    All is working OK, but I now need to move the code from a desktop PC to LabView Real-Time ( Ni-3110 Industrial controller )
    I thought I would try to use the Labview  "Industrial communications for ethercat (v2.4) "
    Has anybody managed to export an Ethercat device definition from TwinCat and import it into LabView ?
    ( I have the basic, default device XML files, and can imprt them into a LabView project, but your system has been heavily re-configured )
    or, has anybody got instructions on how to write my own Ethercat slave device definition xml file ?
    Thanks,
    Tim.

    Thanks for the eply Ian,
    IanS wrote:
    Are you trying to just import the twincat files or are you wanting to edit them?
    We just want to import them. New system should be a duplicate of the existing system, but using the Ni-3110.
    IanS wrote:
    If you create a project with an etherCAT Master, you can import a device profile. 
    I have exported the definitions from TwinCat, ( Actions > Export XML Description... )
    ...and tried to import them into my LabView project (as you have shown) but they give an error : "Module reference is not defined by any slave profiles"
    IanS wrote:
    You can edit the xml files with TwinCAT configuration editor prior to importing.
    http://infosys.beckhoff.com/espanol.php?content=..​/content/1034/tcdbserver/html/tcdbserver_xml_confi​...
    That may be helpful - thanks.
    Our motor suppliers have given us an XML definition file that gives speed values. We have imported that into a LabView project and can see the motors and speed channel in the Real-Time, EtherCAT Master device section. But our motor controllers have been re-configured / re-programmed and now give us all sorts of other variables; torque, current , temp, etc, etc. I was hoping to be able to take the  default XML files and the information from TwinCat and create a new XML file. I was hoping it would be a simple cut-n-paste, but after a bit of experimentation I've not got very far. I've tried to add a channel by using the basic file as a template, but it didn't work. The new channel appears in the LabView project but no data shown when I run it.
    ( I'm not on the same physical site as the rig or motors, so experimentation is a long winded process of writing stuff at my desc, traveling for an hour, trying it, gathering results and traveling an hour back again. I'm just trying to get a better understanding of how the XML files are structured  )
    Thanks,
    Tim.

  • Multiple EtherCAT Masters

    Hi all,
    I'm currently using a cRIO-9074 to control my system. Now, we have a requirement to integrate our system with some automation, controlled by a Beckhoff controller. The proposed and agreed communication method between these two devices is via EtherCAT. However, I just realized that cRIO-9074 cannot be configured as EtherCAT slave. So now, the question is can I configure the cRIO to accept from multiple masters (cRIO and Beckhoff controller both act as EtherCAT masters)? If this is possible, may I know how?
    Thank you.
    Shazlan

    Some are slow changing (status, alarms, etc.) and some are fast (high priority commands, feedbacks). I've read that Beckhoff has this Ethercat bridge that allow multiple masters but we are not sure whether it can be integrated with NI's or not. Currently, we have opted for OPC (for slow changing) & DIO (for fast changing). 
    To start with, is what I wanted to do even possible using EtherCAT technology?
    Shazlan

  • EtherCAT EL7201

    Hi
    My system consists of a NI cRIO – 9082 which is acting as the EtherCAT Master. The cRIO is then connected to a BeckHoff  EtherCAT coupler EK1100. Off this EK1100 I have multiple EtherCAT slaves which I can communicate to without problems (EL1008. EL2008, EL3008 and EL4008). However the EL7201 module fails to enter the ‘safe operational’ state.  I believe the issue is related to distributed clocks on the EtherCAT slave. I have enabled the distributed clock (DE) on the module however I am unable to enable the enable the  distributed clock on the Ethercat coupler (the option is greyed out).
    I would be regretful is anyone can spot what I am doing wrong? or could give some advice on how to interface with a EL7201 module via LabVIEW?
    Thanks
    Dave B

    Hi Dave,
    Interfacing with Third party hardware often involves some extra configuration time. I found a forum which might help you out -http://forums.ni.com/t5/LabVIEW/cRIO-9067-and-Bernecker-Rainer-EtherCAT-slave/m-p/3038835#M866641  . For instance do you have your cRIO scan mode set to configuration mode ? 
    Here is a white paper on Adding Third-Party EtherCAT® Slaves in LabVIEW - http://digital.ni.com/public.nsf/allkb/FDA1318A8909D02C862574510060DB62?OpenDocument
    I will continue to look into your problem but wanted to send your some resources for you to look at in the mean time. 
    Kind Regards,
    Lucas
    Applications Engineer
    National Instruments

  • Use the VBAI to communicat​e with Beckhoff PLC in our line(via EtherCAT)

    Hi I am very interesting with Vision Builder for Automated Inspection software, and I’d like to use the VBAI to communicate with Beckhoff PLC in our line(via EtherCAT) to develop vision system.
    I see hints that I should be able to do this with Etherner/IP protocol between PLC and Vision Builder. But I cannot find any documentation on how to set up on vision builder.
    Now I have a PC which already installed Beckhoff TwinCAT system and Vision Builder for Automated Inspection software that I would like to make a sample so that I can see how to communicate between Vision Builder and TwinCAT to send the pass/failed signal. Is it possible? Or do I need any other devices?
    Are there any tutorials or instructions on how to do this?
    Wait for your reply! Thank u!

    Hi,
    Unfortunately, none of our Vision target support Ethercat yet. But we'll make note of the request.
    Vision Builder AI supports the Modbus and Ethernet/IP protocols that you could use to communicate with your PLC.
    Regarding Ethernet/IP, Vision Builder AI supports both Explicit messaging (Ethernet/IP step) and I/O data communication (Ethernet/IP Adapter step).
    For explicit messaging, Vision Builder supports the logix addressing to read and write tags.
    The Vision Builder AI configuration help details how to set up I/O data communication (implicit messaging) with Allen-Bradley PLCs, and this application note details how to set up implicit I/O communication with an Omron PLC.
    http://zone.ni.com/devzone/cda/tut/p/id/13579
    Sorry, we haven't had any requests for Beckhoffs PLCs yet. If you get it to work, please post instructions here so that other users could benefit from it.
    NI offers Ethercat support with our 8-Slot EtherCAT Slave Chassis for C Series I/O Modules.
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/205​806
    -Christophe

  • Power off before swapping EtherCAT hardware?

    NI has provided the ScanEngine API to allows user's the ability to discover C-series and EtherCAT chassis dynamically and I really like it. This allows me to "hot swap" hardware and my software can just adapt dynamically based on the discovered modules. Is turning off my etherCAT chassis prior to doing this recommended anywhere?
    In otherwords, I like the idea of putting the ScanEngine in Configuration Mode then pulling out C-series modules and replacing them with new ones without powering off the chassis. Could this potentially harm my hardware? Does NI strictly advise against this?
    Thanks,
    Craig

    Hi Craig,
    NI CompactRIO is a small rugged industrial control and acquisition system, and all the NI C-Series modules used in this system are hot-swappable industrial I/O modules. That’s being said, when using a CompactRIO (no matter it’s a cRIO controller or an expansion backplane like NI 9144 EtherCAT slave chassis) with modules in the slots, it is NOT necessary to power down the device.  CompactRIO was designed with this feature in mind.
    A slight deference a CompactRIO RT Controller (e.g. NI 9074) and NI 9144 is that, when you swap (even an identical) C-Series IO module on NI 9144, the slave device will report an emergency data to your host system, which might disturb your system if it’s running. The emergency will disappear when you manually or programmatically switch Scan Engine to Active Mode again. But anyhow, this is all for software side; it will not harm your hardware.
    Hope it answers your question!
    Josiane Zhou
    NI-IndComm for EtherCAT

  • Initiate scan engine scan

    Hi,
    We are attaching 3rd party EtherCAT slaves to our cRIO.  Is there any way to control the scan engine clocking so that we can reduce jitter (relative to an extrernal pulse) while communicating to the slaves?  Specifically, I would like to initiate scans when an external TTL pulse is received.
    Thanks,
    Steve

    Hey guys, 
    I have done this before on a PXI chassis with a timesync plugin. I used a 6682 card to drive the PXI clock10 and syncronized the RT clock to the PXI clock10. Because the scan engine runs off the RT clock the two were synchronized. I have attached a project that shows the setup. 
    I haven't done this on a cRIO before but if we can find a way to drive the cRIO RT clock off a signal the same idea should work. There is an FPGA timekeeper plugin but I don't know if it is what we want. Let me and Daniel see if we can find anything further on the issue. 
    Assuming we cannot drive the RT clock off your external signal, we could just read the same clock signal on one of the ethercat chassis. The distributed clock functionality should guarantee that the cRIO master and ethercat slave are synchronized. You can use post processing to account for differences in the external clock and the cRIO RT clock. Can you tell us more about your system setup and requirements? How tightly do you need to be synchronized? 
    Jesse Dennis
    Design Engineer
    Erdos Miller
    Attachments:
    Ethercat Synchronization.zip ‏208 KB

Maybe you are looking for

  • Navigation from a report to dashboad page

    Hi all, In obiee 11g , if i navigate from a report which has a navigation link to a dashboard page , it populates the prompt but report does not come automatically we need to click it once more where as it works with obiee 10.1.3.4.0 version. Is ther

  • Error in Weblogic Server 8.1

    Hi, I have deployed a web application in Weblogic. When i am trying to access the first page, i am getting the following exception:-- java.lang.IllegalStateException: Attempt to change ContentType after calling getWriter() (cannot change charset from

  • Struggling to understand photo resolution in iCloud

    I am finding it difficult to understand how the photos in the cloud works with regard to full- and reduced-resolution photos. Optimise ipad storage is turned on so, in theory, only reduced versions are kept on the iPad. I imported some photos with th

  • Where to specify EJB QL?

    Hi, I wanna try out CMP. But, I do not have any idea where to enter the EJB QL command? I read a book which telling me that we can specify the EJB SL during the deploying process and usually with a tool provided by the application server. But I can f

  • Automatic user provisioning

    Hi, I have done provisioning manually from OIM to AD sucessfully. Now i wants it to automate. For example if i create a user in OIM in abc org, then it should automatically provision to AD in the abc org. To achive this i did the below steps 1. Creat