NI-xNET CAN interface Queued/Single Point/Stream

Hi
guys, I want to write a known frame on the Bus 1 time an directly after
want to read a frame with a known Identifier. But only that frame, so
no other received frames in that time.
What is the best way or only way?
Solved!
Go to Solution.

Example: Single Point In Session with Termination Set ON
Attachments:
CAN Signal Input Single Point with Termination.vi ‏93 KB

Similar Messages

  • XNET CAN (frame in)single point issue

    Hi guys,
    I have a problem reading a frame in a single point session. I have this issue now in two different (labview)vi's. In the first a device sends a single frame and I catch it in labview. In the second I send a single point frame from the same vi through another CAN tranceiver and catch this frame in the same vi.
    Sometimes the payload get catched and sometimes(like 5 executions) it's like nothing is received? How can I check raw frame data to know my payload is received?

    You are actually not doing single-point, instead, you are doing Stream Input. This will read into a queue of frames.
    In your while loop, you are doing a Frame CAN read w/o a timeout and a quantity of -1. This means, "return all frames that are currently available". Note, if there are no frames available, this will return an empty array.
    Here is where it gets tricky and you may need to know more about LabVIEW. You have an empty array, and you are then passing that into "index array". If you index an ampty array, you will get get a valid element (since an element cannot be empty) that contains the values of all zeros. This means that the timestamp will have a value of 0 and the payload will be an empty array.
    In the next frame, you are just checking for new timestamp to be different from the old timestamp. If the old timestamp was Feb 8th, 2011 @ 07:03 and the new timestamp is '0', that is indeed different and you will capture that as a frame detection.
    The simple fix would probably be to make frame detection only trigger on "(old != new) && (new != 0)". Note you need to also skip "old = new" in the last frame if you did NOT detect a frame.
    Other possible fixes:
    1. Read for 1 frame with a timeout. This will pause the VI until a frame is actually read.
    2. Since this is a queue (and not single-point), you can read and "frame detect" would just be if the array is not empty. With queues, old data is not repeated, so there would be no frames in this case. This dramatically simplifies your VI.

  • NI-xNET CAN interface Queued/Sin​gle Point/Stre​am

    Hi guys, I want to write a known frame on the Bus 1 time an directly after want to read a frame with a known Identifier. But only that frame, so no other received frames in that time.
    What is the best way or only way?

    You should post your question to this board.

  • XNET CAN frame queue overrun kills Read VI

    Hello, I am trying to read CAN frames via XNET. My problem seems to be connected to the queue of my Input session: If the queue gets bombed with random CAN messages from somewhere, the session property "Number of Values Pending" increases rapidly. That's ok, because my program calls XNET Flush before it starts using the bus itself. Otherwise my program would read the old queue content first and the expected reply frames later. This behaviour is ok and expected.
    But after I bombed the bus a little bit more so that the queue gets filled to maximal queue size (seems to be predefined as 1000), the Input session read operation will always timeout (tested with 1 second and more) and return an empty frame array. In this case the error wire is s to -1074384886 (timeout). The session always reports tranceiver state "Normal". Even the XNET Flush operation does not help, although it seems to empty the queue properly.
    summary: hitting the queue size limit with incoming CAN frames results in dead read operations.

    Hello pgraebel,
    In the screenshot you posted, NI-XNET will wait 0.1seconds for 1 frame to be present in the queue.  If there is less than 1 fram available, the VI will timeout.  That being said, I would guess that the timeout happens if you ask for many frames (close to the buffer limit), but the timeout is too small.  If you are trying to read 1000 frames, you may need to wait longer than 1 second for the frames to go on the bus.  That really depends on your bus timing/frame timing/etc.
    I made a small example to show you a little more how the buffers can be used in XNET.  You can set the buffer size and look at the unused spaces in both the read and write queue.  Let me know if it helps.
    O. Proulx
    National Instruments
    www.ni.com/support
    Attachments:
    CAN Frame Input Queued.vi ‏37 KB

  • CAN interface using XNET

    Hello I am just wondering and I am new in Labview development using CAN IF, I will be glad if someone can explain this.
    We have a project wherein we got 1 NI XNET and 1 NI CAN 8473 connected.
    When i tried to run two VI from examples(CAN Frame Input Single Point and CAN Frame Output Single Point) and selected CH1 as the interface (NI XNET)
    nothing happens to it, however when I tried to open the Bus monitor (CH0) which is the NI CAN 8473, the values on CAN Frame Input vi keep updating.
    Can anyone explain why does it need to have the other interface to be opened to have the value updated based on the cyclic timing?
    Thank you very much.

    Start Here:
    Migrating from NI-CAN to NI-XNET
    I've been going through much of the same process and it's been working out pretty well.  Post if you get hung up on any particular part.

  • Change payload NI-XNET CAN

    HI,
    I am trying to perform some CAN communication with NI-XNET at the frame level.  I have started with the CAN Frame Input Single Point.vi and CAN Frame Output Single Point.vi examples that came with NI-XNET.  I would like to be able to change the payload of the frame to be written in the output vi  (i.e. have it not be controled by a human on the front screen) but have been unable to find a way to write the payload attribute in the XNET Frame CAN typedef.  I have tried to recreate this cluster on my own to no avail.  If anyone could point me in the correct general direction it would be much appreciated.  
    Thanks in advance,
    Kevin

    Hey Kevin,
    Are you sending a frame from a frame list that you created in a database?  Are you using a temporary database in memory?  If you have a framelist in a database that has the payload predefined, I'm not sure that you can change the cluster definition programmatically.  If you were to open up the XNET Database Editor, you should be able to manually specify the format of the cluster being passed, including the payload lenght.  In addition, if you set the database as the :memory: including the colons, you can configure the cluster to be whatever you would like from the front panel.
    Does this answer your question?  Are you just trying to change the payload length of a frame, or is there more to it than just that?
    Ben N.
    Applications Engineering
    Certified LabVIEW Developer

  • Single point of failure for web dispatcher

    Hi
    I need advise on how can i resolve single point of failure for web
    dispatcher in case the web dispatcher goes down on another system, what
    are the alternative which can be used to avoid this.
    In our enviroment we have db server with two application server and web
    dispatcher is installed on db server and i need to know what can i do when
    the web dispatcher on db server crashes and cannot be restarted at all.
    We are running oracle 10.2.0.2.0 on AIX 5.3.
    Regards,
    Codlick

    Hi Codlick,
    the answer is, you cannot (switch to two web dispatchers).
    If you want to use two web dispatchers, they need something in front, like a hardware load balancer. This would actually work, as WD know their sessions and sticky servers for those. But remember you always need a single point for the incoming address (ip).
    Your problem really is about switchover groups. Both WD need to run in different switchover groups and need to switch to the same third software. I'm not sure if your switchover software can handle this (I'm not even sure if anyone can do this...), as this means the third WD needs to be in two switchover groups at the same time.
    Hope this helps,
    Regards,
    Benny

  • Error -1074384751 in XNET Create Session (Signal Output Single-point)

    Hello all,
    I have a selected number of signals from a database, and I am trying to create XNET Signal Output session from these signals of database.
    However, I get this error when I run this on my RT pc:
    Error -1074384751 occurred at XNET Create Session (Signal Output Single-point).vi:4
    Possible reason(s):
    NI-XNET:  (Hex 0xBFF63091) For Signal Output sessions, the multiplexer signals used in the session must be specified explicitly in the signal list.
    Can anyone please explain why this error can be coming?
    Thanks
    FraggerFox
    -FraggerFox!
    Certified LabVIEW Architect, Certified TestStand Developer
    "What you think today is what you live tomorrow"

    It seems the Diag frames must be sent from a Frame Output Queued session. Therefore i replaced the function "XNET Create Session (Frame Output Single-Point)" with "XNET Create Session (Frame Output Queued)" and it seems to work...

  • Why can't we have a single point of contact who de...

    Three weeks ago our house was hit by lightning and our broadband connection went on the blitz (a Linnit technical term).
    The telephone stopped working. I did an on-line check and the connection registered a fault. The on-line system logged the fault with the teachnical team. So far so good...
    I received a call from the tech team advising an engineer was coming out to us, if the fault was with our equipment we would be charged. That's fair. Engineer called. My phones were fine, BUT the BT router was where the fault lay said the engineer. We would need to raise another fault report because he only dealt with telephone AND as he was a subcontractor he would bill for the work... He disconnected the router so the phone would work and left.
    I work virtually, which means that I can work from my home, so I need the internet even more than my family want the telephone. I plugged the internet back in so that I could continue to work and called BT again from my mobile. Speaking to a very polite guy in Delhi I was asked to describe my phone socket, unplug the router from the office, carry it downstairs to the kitchen where the main socket is, plug the router in there, reconnect, try again, all sorts of stuff before finally being advised that it was probably just the 'microfilter' and that as they were very inexpensive it might be faster for me to go out and buy one and plug it in myself rather than have another engineer come out to us.
    So I did just that. In fact, as the microfilters are less than a fiver, I got two... brought them home and plugged one in... didn't work.
    Called Delhi again. Spoke to someone else who was, again, very polite. They tried to get me to unplug and plug things in and out again, but I politely declined this time explaining that now the poor internet connection that we did have was running so slowly I am having to commute in to work over Christmas. He sympathised and told us that he would escalate the issue. That was before Christmas. Since then I received a text on my phone on Christmas Day telling me they couldn't reach me!!! 
    Today I called again to BEG someone to please come out and fix things for us. We aren't technical. We cannot act as pseudo engineers. We pay BT one bill each quarter for a service. Why on earth can't BT provide me with a single point of contact when I have an issue. And if that point of contact could understand me and explain things to me in words and phrases that I understand that would be perfect!
    Last year I cancelled three mobile contracts that we'd had since the early 90's with O2 because they were so unhelpful.
    BT aren't the cheapest broadband provider but we've stayed with them out of 20+ years loyalty and the understanding that we had a one-stop-shop. Now, it looks as though I'll be shopping around for another domestic broadband provider for 2012.

    Thank you for being so helpful and constructive.
    I tried to look at the ASDL settings, john46 but it's asking me for my HomeHub password... the only password I have is for our wireless network and that one doesn't work. 
    I can't test the phone line right now because I'll have to disconnect the internet and I'm currently working on another computer whilst chatting on this one with you. However I will do that later. I'll also look at the RogerB link you provided. 
    Truth is, we're pensioners who use the internet but we havent a grain of technical understanding between us. We're old fashioned enough to admit that we just want someone who knows what he's doing to come here and fix it for us. It's already cost us £130 for an engineer to come out from OpenReach to tell us the phone line is OK and it's the router causing the problem. Best case scenario is that another BT engineer who knows about broadband comes out and does it because the last BT person that I spoke to in Delhi did actually confirm that there is a fault on the BT side. I'm getting so frustrated right now I'll probably call out an independant I find in Yellow Pages and get charged an arm and a leg again and I'll then cancel with BT in a fit of pique.

  • How can I design Load Balancing for distant Datacenters? without single point of failure

    Dear Experts,
    We are using the following very old and passive method of redundancy for our cload SaaS but it's time to make it approperiate. Can youplease advise:
    Current issues:
    1. No load balancing. IP selection is based on primary and secondary IP configurations. If Primary fails to respond, IP record for DNS changes to secondary IP with TTL=1min
    2. When primary server fails, it takes around 15 min for clients to access the servers. Way too long!
    The target:
    A. Activate a load balancing mechanism to utilized the stand-by server.
    B. How can the solution be designed to avoid single point of failure? In the previous example, UltraDNS is a single point of failure.
    C. If using GSS is the solution, how can it be designed in both server locations (for active redundancy) using ordinary DNS server?
    D. How can HSRP, GSS, GSLB, and/or VIP be used? What would be the best solution?
    Servers are running ORACLE DB, MS SQL, and tomcat with 2x SAN of 64TB each.

    Hi Codlick,
    the answer is, you cannot (switch to two web dispatchers).
    If you want to use two web dispatchers, they need something in front, like a hardware load balancer. This would actually work, as WD know their sessions and sticky servers for those. But remember you always need a single point for the incoming address (ip).
    Your problem really is about switchover groups. Both WD need to run in different switchover groups and need to switch to the same third software. I'm not sure if your switchover software can handle this (I'm not even sure if anyone can do this...), as this means the third WD needs to be in two switchover groups at the same time.
    Hope this helps,
    Regards,
    Benny

  • I am using XNET CAN on a PXI system. When I modify the can database I get the error "the interface has already been opened.."

    I have tried both building the XNET session from project explorer and by building a signal list in the VI.
    Any suggestions? Thanks in Advance.

    Thanks for the reply. I don't think I have any interface open. But to be sure, I rebooted everything - same result.
    Is there some step in the project config that I am failing to do? In the PXI systems I had before XNET, I had to setup some CAN configuration stuff in MAX to get it to work, but I don't see that option anymore with XNET.... 
    I have been sucessful in running XNET CAN VIs reading and writing the data from my database, but I stumble every time I add a signal or rename the database. 
    I made a simplified VI to illustrate, using a previously working database I now get the empty name message.(screen capture attached)
    This is connected to a working CAN link, and I can see these signals in MAX properly.  
    Thanks in advance for your assistance!
    Attachments:
    vi_issue1.jpg ‏136 KB

  • LABVIEW NI-XNET CAN WRITE DELAY

    Hi,
    I am really happy that I can read this article because it seems like it is the similar problem that I am facing right now. I also has a really bad CAN update delay when I want to write Data on CAN bus.  I was trying to following your solusion here, use frame in single point, frame out single point. But I am not so sure that I can continue. In our labview, we use frame in/out stream(sorry the screenshot cut is wrong). But if I want to change it to frame in/out single point, it will show an error saying: mising wiring on NI-XNET block.
    In our labview, we use a big sequence loop. So what in saw in the 1st pic I attached is the first sequence, then in the 2nd sequence we had a Frame Can write frame. Then in the 3rd one, which is in the 2nd pic, it shows the CAN write frame that contain a lot of message that I would like to write on CAN bus.
    The problem here is sometimes the CAN loop takes 0.3s(I use a shift register in the 3rd sequence showing CAN loop time) to update which is too low for me to use Vector Canalyzer to record data. For example, I did a 10 sec test of recording using Canalyzer, it only has 59 values from Labview. 
    In your article it said I need to 'Frame in single point' for my reads, and 'Frame out single point' for my writes. I do know i can use database editor to build a session and define every frame and signal it it. However, I do not know where to put it then? is that connect to NI-XNET write frame? It is the only thing I can think of to do now? But is that meanning all the blocks in the second pic would be deleted.
    Because our grogram is really very very big and it including so many info, I do not think I can post VI. I thought there might be possibility that because of the ''BIG'' thing has something inside that culprit for CAN transmission delay. But I have tried to move  everything except CAN in this loop to another newly built loop. The problem is still there. 
    Thank you so much. 

    You actually always have an XNET database. It's just a matter of whether you use an external database or whether you create objects on the fly.
    From your screenshot, it looks like you are creating objects on the fly using the in memory database.
    Looking at your frame configuration, I was surprised to see Remote frames being configured. Most devices that I've encountered don't use them.
    So what sort of session are you trying to create? Frame Out Stream does not allow for cyclic transmission. You can repeat transmissions using a software loop. If you really have cyclic frames, Frame Out Single Point or Frame Out Queued would work. The post you referred to earlier was using the Frame Out Single Point.
    The XNET help is actually pretty good about breaking down the session modes. From that help, "...  this mode does not repeat its transmit. Unlike the Frame Output Queued mode, the Frame Output
    Stream mode does not use CAN frame properties from the database."
    So if you're using this mode and getting unexpected delays, it's likely due to your sequencing.

  • Can distributed queues be implemented in weblogic 6.1

              hi,
              i am currently using weblogic 6.1 with 3 machines on a cluster.when using jms
              there seems to be no way to use distributed queues on the machine.this feature
              is however supported in weblogic 7.0.is there any workaround for this.this wuld
              essentially mean a single point of failure as the queue wuld be present on only
              1 wlserver and the other 2 servers though in cluster wuldnt have any reference
              to this queue..
              any help???
              

    The JMS Performance Guide white-paper contains examples
              of doing exactly this. You can find it here:
              http://dev2dev.bea.com/technologies/jms/index.jsp
              Illusionz wrote:
              > hi,
              > i am currently using weblogic 6.1 with 3 machines on a cluster.when using jms
              > there seems to be no way to use distributed queues on the machine.this feature
              > is however supported in weblogic 7.0.is there any workaround for this.this wuld
              > essentially mean a single point of failure as the queue wuld be present on only
              > 1 wlserver and the other 2 servers though in cluster wuldnt have any reference
              > to this queue..
              > any help???
              

  • Acquire single point 12 bit data @ 200Khz using PXIe 6535 DIO RT

    I want to acquire single point 12 bit data @ 200Khz using PXIe 6535 DIO, PXIe 1072 chasis and 8820 controller in RT. Problem is I am unable to acquire data as triggered input. Loop execution time takes ~10us (measured using rt tick count). Thus It misses the samples. Am I missing something? What are the proper ways to acquire digital data in RT?
    Also I am wondering whether I can use the SMB connector of 8820 controller as my acquision trigger input pulse. I am completely new to RT. Any help will be appriciated.
    Thank you.

    Hi jtele1,
    To make sure that the data gets written in the correctly order I would recommend monitoring the Time Out of the write. If a time out occurs you could stop writing all FIFOs and then start when all the Time Outs are no longer there. Another option is to look at your host side and determine if you can read larger chunks of data at a time and allow the host side to deal with processing the data. An additional option would be to look into high throughput streaming for FlexRIO. In this setup you will be writing the data directly to disk on your host side and then you could process the data at a later time. I have linked an example below, this example was giving me trouble so please let me know if you have trouble loading this example. Depending on your situation these may not all be acceptable options but you will need to ensure that you are not filling any of your FIFOs. Lastly, from what I can tell you are using a Windows OS as your host and in that situation you have no way of controlling when your LabVIEW application gets processor time. If you were to switch to a Real Time controller you would be able to ensure when certain tasks are run and add priority to tasks. Please let me know if you have further questions. 
    High Throughput Streaming
    https://decibel.ni.com/content/docs/DOC-26619
    Patrick H | National Instruments | Software Engineer

  • Single Point of Failure

    How to built a network without single point of failure?

    Hi Friend,
    Your question is very vast.
    Redundancy can be on LAN , WAN , Routing etc etc.
    On LAN there can be many feature you can use to have complete redundancy like STP (Root Bridge and Secondary Root Bridge) , Etherchnnel between access and distribution and between distributon and core, also you can have uplink fast for fast convergence,
    you can also run HSRP. So I am saying there are many features which are available to have complete redundancy.
    On WAN interface you can implement Lease line and rame relays and isdn as backup or you can play around with your routing protocols and static routes for redundancy.
    Now a days there are many features on IOS on LAN and WAN which can used for complete redundancy so if you are aware of the features you can design your network very well.
    HTH
    Ankur

Maybe you are looking for

  • Can't Figure Out Why iPhone 5 Battery Will Not Last

    New to the community and looking for some extra insight into my problems. Cliffs Notes: iPhone 5 won't last more than 4-5 hours on a single charge. When I got my iPhone 5 on launch day I set it up as a new phone and did not restore from a backup. Onl

  • Errors in starting OPMN

    Hi All, I am facing errors in start OPMN presentation service. Found below error in opmn logs. Any suggestions pls ?? [2013-03-28T12:50:29+05:30] [opmn] [NOTIFICATION:1] [662] [pm-process] Starting Process: coreapplication_obiccs1~OracleBIClusterCont

  • Flash animations get faster in breeze then in the original...

    Can anyone explain me why the flash animation inserted in power point and published with breeze presenter get more fast then the original file?

  • Oracle Workflow Builder Client Installation Error

    Hi, I am trying to install Oracle Workflow Builder Client 2.6.3.5. After starting the installation I am getting error as cannot create C:\Documents....\oui\Autorun.inf followed by Java Virtual Machine Launcher Window saying Fatal exception occured. p

  • What is max number of bits supported by the 2nd argument of DAQmxCreateDOChan()?

    The example file WriteDigChan.c is very helpful, but it only handles 8-bits.  I need 16 output bits.  In that example, could I simply change the second argument from "Dev1/port0/line0:7" to "Dev1/port0/line0:15"?  Or is each port limited to 8-bits?