PV Version: 2.7.10475
Display: PV450/PV380/PV350
Hello,
In one of my current projects, I'm sending out a PGN request at a pre-programmed rate to an engine using a free form CAN message "pretending" to be a service tool (SA=0xF9). I would like to detect when an actual service tool connects to the CAN link so that I can stop broadcasting my request as to not interfere with the service tool. Is there a way to determine if a certain node is broadcasting?
Thanks,
Dan
Detecting the Presence of a Specific CAN Node
- dmsellers
- Posts: 42
- Joined: Mon Aug 12, 2013 7:45 pm
- stalley
- Enovation Controls Development
- Posts: 618
- Joined: Tue Mar 18, 2014 12:57 pm
Re: Detecting the Presence of a Specific CAN Node
Hello Dan,
Interesting question! I have some questions for you. Do you set one of the PVdisplay's CANPort(n).Address to xF9 and the Arbitrary Address Capable box is checked?
Or with the Free Form CAN message is the source address bytes of the 29-bit identifier set to xF9. Essentially the PVdisplay is transmitting from two source addresses? An arbitrated source address and the xF9 from the Free Form CAN message.
If it is possible in your network to let the PVdisplay arbitrate for the xF9 address, the PVdisplays are capable of surrendering the source address to another device with the same source address if the second device has a NAME (SPN 2848) with a lower value (meaning a higher priority). This is in accordance with the SAE J1939-81. You might have to adjust something in the Instance Information or Vehicle Information settings of the J1939 Port Manager Application to insure that the NAME (SPN 2848) on the PVdisplay has a lower priority than the service tool.
If you can't use the service tool source address for other transmitted messages, back to your question about detecting the source addresses of other devices on the network. You could possibly use something like this example viewtopic.php?f=26&t=872, to get the list of all source addresses that the PVdisplay sees on the network. The PVdisplay shouldn't see the messages from xF9 that it is transmitting.
Hope this isn't too confusing, I sort of rambled there for a while. I'll be glad to help if you have more questions!
Interesting question! I have some questions for you. Do you set one of the PVdisplay's CANPort(n).Address to xF9 and the Arbitrary Address Capable box is checked?
Or with the Free Form CAN message is the source address bytes of the 29-bit identifier set to xF9. Essentially the PVdisplay is transmitting from two source addresses? An arbitrated source address and the xF9 from the Free Form CAN message.
If it is possible in your network to let the PVdisplay arbitrate for the xF9 address, the PVdisplays are capable of surrendering the source address to another device with the same source address if the second device has a NAME (SPN 2848) with a lower value (meaning a higher priority). This is in accordance with the SAE J1939-81. You might have to adjust something in the Instance Information or Vehicle Information settings of the J1939 Port Manager Application to insure that the NAME (SPN 2848) on the PVdisplay has a lower priority than the service tool.
If you can't use the service tool source address for other transmitted messages, back to your question about detecting the source addresses of other devices on the network. You could possibly use something like this example viewtopic.php?f=26&t=872, to get the list of all source addresses that the PVdisplay sees on the network. The PVdisplay shouldn't see the messages from xF9 that it is transmitting.
Hope this isn't too confusing, I sort of rambled there for a while. I'll be glad to help if you have more questions!
Sara Talley
Software Engineer
Enovation Controls
Software Engineer
Enovation Controls
- dmsellers
- Posts: 42
- Joined: Mon Aug 12, 2013 7:45 pm
Re: Detecting the Presence of a Specific CAN Node
Sara,
Thanks for the detailed explanation. We have used both techniques to send out PGN regquests (FF and built-in PGN request functionality w/ SA 0xF9) based upon the level of control we need for the PGN request transmission rate. We are currently assessing the viability of the address claim method to determine if all the potential services tools that connect to our system are capable. I'll let you know if other questions crop up.
Thanks again,
Dan
Thanks for the detailed explanation. We have used both techniques to send out PGN regquests (FF and built-in PGN request functionality w/ SA 0xF9) based upon the level of control we need for the PGN request transmission rate. We are currently assessing the viability of the address claim method to determine if all the potential services tools that connect to our system are capable. I'll let you know if other questions crop up.
Thanks again,
Dan