question

Jonny Sollid avatar image

How to change the data instance for BMV-712 in NMEA2000?

Is it possible to change the data instance for BMW-712 using the Yacht Devices Can Log Viewer or do i have to use root menu and command lines on Cerbo gx?


cerbo gxNMEA 2000 - N2K
2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

7 Answers
mvader (Victron Energy) avatar image
mvader (Victron Energy) answered ·

Hi @jurjenhoekstra, @Greg Ireland and @jonnys, thank you for all your questions and input.

@Jeroen and myself have been on the phone the last couple of hours spelling out all the nitty gritty details regarding the NMEA2000-out function in the GX Devices. As well as writing down in as clear and complete a manner as possible all there is to know about instances.

The result is here:
https://www.victronenergy.com/live/ccgx:start#marine_mfd_integration_by_nmea_2000

Can I ask you to close read & review? I hope it helps to solve your issue. If you have any comments, please comment to this answer. Thank you! Matthijs

29 comments
2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

ps: please look into using the Comment feature, rather than adding new answers when replying to someone else. It makes it really hard to read & catch up ;o).

Hi Matthijs @mvader (Victron Energy)

I have communicated with Maretron and they advise that the relevant data to them is the PGN and the Data Instance thus excluding the Device Instance as an identifying parameter. I can only assume that this a choice made by each manufacturer and therefore makes it difficult to mix the products. If, for example, Victron allowed the modification of the data instance so as to be compatible with Maretron then it would not work on the Victron platform, however, if Maretron recognized the Device Instance it would increase its flexibility and perhaps fit a broader market (but put at risk its own monitoring devices).

I have asked Maretron if they will consider this change, wait and see what their response is I guess.

Is it possible for Victron to allow modification of the Data Instance passing the responsibility to the user which way they program the devices?


@jurjenhoekstra @jonnys


Greg


Hi Greg,

The data instances are configurable. Device instances are too. Though I haven't used it myself, I've heard from my colleague that the Maretron software N2KView, tries to simplify things and doesn't show the Device instance as well as the Data instance individually. Instead, they introduced a new term, called Unique instance, with magic behind it.

I don't know how to use their software to change our data instances - and if thats possible. Please ask them.

On our products, the data instances are configurable using the NMEA2000 Complex write commands as per NMEA2000 specification. But you need tooling to send such commands.

I recommend to ask Maretron on how to best change that instance.

Best regards, Matthijs

Ps. I changed your answer to a comment, to keep it in a thread. Please reply by comment also in this thread, thanks!

Ps2. I've updated our documentation to confirm that indeed data instances are configurable.

Greg Ireland avatar image Greg Ireland mvader (Victron Energy) ♦♦ ·

Hi Matthiji @mvader (Victron Energy) , after some comms with Maretron it would seem that they are unable to assist me with the issue of displaying data from multiple BMV712 Devices.

That leaves me with 5 DC Voltage PGN’s - three using data instance 0 (Quattro Inverter, BMV 1 and BVM 2) and two using data instance 1 (second input on BMV 1 and BMV 2).

Ideally, if I can change the device data instances to 0, 1, 2, 3 & 4 it would resolve my N2KView issues (the same would need to be done for the DC Current data instances). However this may have some impact on the Venus Battery data being displayed?

Am I able to do this? And if so how? You mentioned tooling and complex commands in a previous post. Any assistance would be appreciated as this is the final piece of my display system to get operational.

Greg

Hi Greg,


Victron equipment supports the official canbus commands as per NMEA2000 specification to change data instances.

We don’t have a user friendly way to do so yourself as a user or installer.

It might be possible to use maretron software to change data instances for Victron equipment; but I have not been able to verify that/look into that in detail.

I know for sure that you can change them using Actisense NMEAReader. Documentation on how to do that is here:

https://www.victronenergy.com/live/ve.can:changing_nmea2000_instances

Ps. I’m sorry this is such a challenge to figure out. Its a challenge for Victron/myself as well.

Greg Ireland avatar image Greg Ireland mvader (Victron Energy) ♦♦ ·

Thank you for the prompt response, I can confirm that Maretron N2K Analyzer can change the device instance but (unfortunately) N2KView does not use the Device Instance to distinguish the data it only references the PGN and the Data Instance. When adding the device to the display you can select the PGN Type (such as DC Voltage) and then you select an Instance number - in this case it must be the data instance.

Looks like I will need to come up with a Plan B - thanks for your help

Yes I’m talking specifically about the DATA instance. Not the device instance. The plan B is quite simple: use the Actisense tooling to correct this

Greg Ireland avatar image Greg Ireland mvader (Victron Energy) ♦♦ ·

Hi Matthijs @mvader (Victron Energy)

Thank you for reinforcing the Plan B, I have purchased the NGT-1 and have changed the data instances as per your documentation. Success!

All data is now displaying correctly on N2KView - that certainly put a smile on my face.....

One small point to note, when changing the data instance via actisense the visible data on the reader program would not update until it was reloaded. Not a major issue but did cause me to frown until I went back for a second go at it.

Greg

I have several devices in nk2 networks that send battery data such as Multiplus, MPPT, rec-bms and smart shunt all connected to Cerbo gx- Without modifications, only two batteries are displayed on Raymarine instruments. (I have 3 battery banks) Changing the device instance as described in the Victron GX manual chapter 11.5.4 does not change anything on my Raymarine instruments. Using a programmable interface, we tried to change the device instance, the same result. When we change the data instance, batteries are presented correctly.

The question is why device instance is made available in the menu on Venus os and manual describes change of device instance. Are there other manufacturers this works on?

I run venus large image 2.70-3 on cerbo gx.

Had been very grateful for information that can confirm or deny my findings.

Hi, you are right. Raymarine requires changing the Data instances.

See chapter 11.1, and then find the document specific for Raymarine; and then go to the last chapter of the Raymarine document.


Other brands do work by only changing the Device instance.

sunnycoastgreg avatar image sunnycoastgreg mvader (Victron Energy) ♦♦ ·

could i respectfully suggest that victron update their documentation .

in at oeast 2 documents it very specifically says to change device instance for raymarine.

i spent a lot of wasted time following these instructions, fault findning, changes back and forth.. and then posting (elsewhere on this forum questions..)

hi @sunnycoastgreg yes for sure. Where did you read that Device instance needs changing for a Raymarine system?

The leading information I'm aware of is this one:
https://www.victronenergy.com/live/venus-os:mfd-raymarine#nmea_2000

sunnycoastgreg avatar image sunnycoastgreg mvader (Victron Energy) ♦♦ ·

https://www.victronenergy.com/upload/documents/Technical-Information-Data-communication-with-Victron-Energy-products_EN.pdf


quote

Raymarine needs the device instance to be different in order to show information for (for example) multiple batteries. They use the data-instance to connect multiple products, for example gps-es, as a way of redundancy.

sunnycoastgreg avatar image sunnycoastgreg mvader (Victron Energy) ♦♦ ·

venus gx manual 11.4.4

note the last line of below quote.....


quote

How to configure the instances depends on the equipment and software that is used to read them from the CAN-bus. Examples of equipment and software meant here are MFDs such as from Garmin, Raymarine or Navico; as well as more software oriented solutions from for example Actisense and Maretron.

Most, or hopefully all, of those solutions identify parameters and products by requiring unique Device instances, or using the PGN 60928 NAME Unique Identity Numbers. They do not rely on the data instances to be globally unique.


sunnycoastgreg avatar image sunnycoastgreg mvader (Victron Energy) ♦♦ ·

hi @mvader (Victron Energy)

aside the two above (victron docs) .. hopefully that helps so they can be updated .

i recall i also saw it somewhere else, but cant find it at present,

however it may have been on the forum - as i did search thru lot of posts

(albeit in the forum it may nit have originated from victron)

I suspect that changing the data instance can create problems for connected Victron products, it has been warned against in the manual and that is probably the reason why this is not recommended and made available in the Venus os menu, right ?. Manual is not precise when it comes to Raymarine and data instance, it is partly contradictory. In my view, there should be a remark that Raymarine uses data instance. NMEA 2000 is basically a standard, but different manufacturers use different methods to implement their products and this leads to constantly new variations that make it complex to get integrated correctly. That Yacht devices, Victron, Maretron, Raymarine +++ have a system that will convert and make everything talk to each other is a truth with modifications. There are always compromises and presentation of data depends on the setup of hardware as well as software. All this is of course a big industry as consumers have to buy converters and special cables which are often very expensive. Victron at least tries to make it simpler and open source, but as long as they are dependent on other manufacturers like Raymarine, special cables are required for example. There is great development in the implementation of NMEA2000 from all manufacturers in recent years and it is likely that cooperation between Victron and Raymarine will lead to better integration in the future.

thanks for update and yes - i separately posted to mvader the references to victron documents i found that have errors or confusing details regarding raymarine data instance changes. i suggested they make changes to avoid others being confused and wasting days (like myself) .


i modified my hardware /firmware today and succesfully got the actisense application to change the data instances on the victron skylla charger and victron MPPT solar charger ... i now have the correctly displaying on nmea2000 network raymarine MFDs - all good.


however - yes - it broke functionality for Venus GX - it will no longer read the data instances for the victron skylla (n2k connected) charger .

fortunately i can get all the messages onto MFDs correctly, and also

into signalk server via a combo of n2k messages from devices direct &/or venus virtual devices.


.. so a good outcome .. at last, a lot learned about n2k messages ...


issue closed .. from my side!



So good to hear that you solved the problem:) I also succeed today in changing the data instance using terminal and dbus-spy so everything is now perfectly integrated with Raymarine. Have a wonderful day:)

Hey @Jonny Sollid and @sunnycoastgreg, today we've updated our documentation around NMEA2000 2000 & MFD Integration as well as the instances.

If you have a chance to review the docs and let me know if all is understandable now, it would be much appreciated!

First updated document is the main one:
https://www.victronenergy.com/live/ve.can:nmea-2000:start

Then also the document with all the details about changing instances was updated:
https://www.victronenergy.com/live/ve.can:changing_nmea2000_instances

And lastly the datacommunication whitepaper was updated as well, there we simply removed details around whats required for what brand; to reduce the amount of places a bit.

Now ofcourse we could integrate those documents even further, but thats for another day!

All the best, Matthijs

ps. some one asked " suspect that changing the data instance can create problems for connected Victron products, it has been warned against in the manual and that is probably the reason why this is not recommended and made available in the Venus os menu, right ?. ", the answer is yes, that is right.


sunnycoastgreg avatar image sunnycoastgreg mvader (Victron Energy) ♦♦ ·

@mvader (Victron Energy)
ive read thru the documents & certainly the references to raymarine (requiring data instance) changes are now corrected.

A few observations/comments

- on the second document, in section 7, there is a dead link. (or more correctly a link to a page that then identifies a manual redirect, would be good to correctly update this)

- in the second doc, it doesnt mention the “warning” ..about changing data instances .. potentially breaking victron functionality (i recall reading this somewhere - but in 3 docs i checked - i couldnt find it?)

eg when i changed the data instances on Skylla i 24/3, so they would not interfere with. BMV shunts display on raymarine MFD, the skylla batteries no longer display on Venus GX (which i assume is expecting them on 0/1/2 )

- it looks to me like you have also updated the nmea2000 whitepaper (good)

Hi, thanks! Section 7 ? There is no section 7 ? I clicked many links but couldnt find a broken one.

Can you still find it? Can also be that I fixed it right after posting above comment.


I’ll add the warning; thanks.


lastly: no those expected instances are hardcoded sorry.

Perhaps you could reshuffle the instances a bit so that the skylla can stay at its defaults?

sunnycoastgreg avatar image sunnycoastgreg mvader (Victron Energy) ♦♦ ·

shuffling instances ... thought about this but doesnt really help...

skylla has 3 battery banks,

i have 75/15 MPPT solar charger

BMV shunts

raymarine only supports 5 batteries, ( instances 0 - 4)

.. so keeping the skylla unchanged, limits my use of BMV shunts and solar to only “2 batteries” on raymarine.

ah sorry,

i strayed to this doc when checking ...

its one of the links in section 7 in here

https://www.victronenergy.com/live/venus-os:mfd-raymarine#nmea_2000

sunnycoastgreg avatar image sunnycoastgreg mvader (Victron Energy) ♦♦ ·

matthijs


im assuming there is no “easy”? way (Command line ?) to change the data instances the Venus is expecting from eg skylla i ... to get around the problem above.

Thanks for your answers and for changing the manual so quickly. "mvader" You do a very good job of improving Victron products and helping customers. I have looked through the document and everything looks good, except for one small detail in this document where point 1.1 is the title is NMEA 20000 (is a 0 too much)

"Sunnycoastgreg" Regarding terminal and change of data instance, this is not so complicated. I'm pretty sure you can do this as the "Putty" program executes all commands, you just use the arrow keys and enter to make changes. If you want, I can try to guide you. It may take some time, but if you have patience I'm sure we can solve this together. If you follow this as far as you can, I will guide you further.

Hi Jonny Solid, extra zero is fixed. Otherwise, very welcome!

jurjenhoekstra avatar image
jurjenhoekstra answered ·

@Greg Ireland, hi Greg. Looked at your facebook page, great adventures. In case your are interested, I keep a weblog of the build of my yacht: Xanthiona. It has a lot of technical stuff, not so many adventures yet.

I did a search on the Victron Community on 'multiple bmv' and found there are some issues when trying to connect 2 BMVs to a Victron system. I believe it contributes to your issue of trying to get the information of both BMVs on the N2K View. Take a look at some of those issues, it might help or point you to the right direction.

To me it also would seem most logical to change the device instance and you would expect once that is done, that N2KView would be able to handle that. You could try changing the system instance, what we discussed yesterday.

On the other hand, it is the Venus GX who has to put the information from both BMVs onto the N2K network and as long that is done the same way for both BMVs without distinction between the 2, N2K will see them as one.

I think you might need some assistance here from a Victron staff member.

@mvader (Victron Energy), hi Matthijs, can you assist in this issue?

2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Greg Ireland avatar image
Greg Ireland answered ·

@jurjenhoekstra Good idea Jurjen, my vessel has 4 batteries, one for each engine, house bank and a back up navigation battery. I have previously been monitoring them via a Blue Power Panel and 4 shunts, however with the install of a Venux GX I was keen to get the battery data onto my Maretron N2K system.

I installed a 712 and connected my House Bank via a shunt and the Port Start Batt to the 2nd input to test, waited patiently for 12 months for the Venus Firmware to work and successfully displayed both batteries on N2K View. N2K View is configured to display battery instances 0 and 1.

Having had success, I installed a second 712 to monitor the Navigation Bank via a shunt and the Starboard Start battery on the 2nd input. But both are reporting on the same Device Instance, I would expect that I should be able to change it to Device Instance 1 (as it is the 2nd 712 on the system) and be able to change battery instance to 2 and 3 thus allowing me to separate them on N2K View.

As for the Tanks all report perfectly on N2K view, but it would be great to separate them on VRM for remote monitoring capability as I don’t use Maretron as it is silly expensive.

Thanks for your help, I really appreciate it - if you are interested you can see a bit more about my vessel at https://www.facebook.com/TSMVSeachange/

2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

jurjenhoekstra avatar image
jurjenhoekstra answered ·

@Greg Ireland, hi Greg. Let's take a step back to your original question as to better understand what your are trying to solve: why are you trying to change the data instance for the BMV712? What is the exact problem? Is one of the BMV's not showing up on VRM or are you getting no data? This 6 + 2 = 50 does not make any sense to me.

By the way the setup on your yacht is quite similar to mine: Quattro 24-8000, Venus GX, Simrads and some Maretron stuff. Separate answer on the tank issue.

2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Greg Ireland avatar image
Greg Ireland answered ·

@jurjenhoekstra Hi Jurjen, thank you for your input, I am still unsure how the unique instance adds up to the upper and lower limits ie 6 + 2 = 50? The image below shows the Device Instance column added and showing 50 but the battery instances still at 0 and 1. The instance 50 does not register any data on my display.

Also, I have added an image for the tanks/pressure sensors, as you will see they are all Device Instance 0 but Tank Instance 0, 1, 2, 5 respectively.


bvm3.png (220.9 KiB)
fpm1.png (287.2 KiB)
2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

jeroen avatar image
jeroen answered ·

There should be no need to change data instances on the CAN-bus. From the specs: "Data instances shall be unique in the same PGNs transmitted by a device. Data instances shall not be
globally unique on the network. Field programmability shall be implemented through the use of
PGN 126208, Write Fields Group Function."

Preferably, don't change them. It is a workaround for broken implementation. If the Yacht Devices Can Log Viewer can change them depends if mentioned write fields is implemented, which I doubt. The Maretron doesn't support it as far as I know. But the best solution is to just fix setups which incorrectly assume network wide unique data instances.

3 comments
2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Hi and thanks for the reply. The problem I am experiencing is that YD web gauges switch on measurements between two battery banks. I have three battery banks REC-bms + two battery banks connected to the BMW712. This is what I got from the YD engineer: Is it wrong?
Battery banks appear in the NMEA 2000 network under the same battery instance. Web Gauges is capable to display data from 16 different batteries but they must have different NMEA 2000 battery instance settings. Victron gives the following instructions on changing N2K instances (IMPORTANT: you have to change data instances, not device or system instances):

The text is not wrong, that is apparently what they do. It is not conform NMEA 2000 specs though.


I agree. The new YD gateway has a number of problems with integration. Experience the web gauges software like an early beta version. I downloaded the "Wilhelmsk" app and it works perfectly with all nmea 2000 data without making changes device instance. Problem solved, and I have got the best integration and app I have ever used! Recommended! Thank you so much for explaining this to me, it got me on the right track after many days of troubleshooting.

Greg Ireland avatar image
Greg Ireland answered ·

I am also having difficulties with this, I have two BMV-712 devices and despite modifying the instance number via Maretron N2K Analyzer the instance within the devices remain at 0.

Are we able to directly change the device instance number?

See images showing PGN's being transmitted.


bvm1.png (213.9 KiB)
bvm2.png (249.0 KiB)
7 comments
2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Hi.

I am still working to solve this and will try to change this with command lines via color gx later today. I don't have Maretron or Actisence. Have you seen this instruction using Maretron?https://www.victronenergy.com/live/ve.can:changing_nmea2000_instances

Hi Jonnys, yes I have seen the instructions on howto update the instances, that is how I changed the instance nuber to 50 on the example shown in the clip - the actual data being transmitted shows the deviceis still transmitting as Battery Instance 0 for the primary battery and as 1 for the start battery. This occurs for both units. I have had to disconnect the second BMV as my generator start is monitoring instance 0 SOC and this way the system can see two of them.

Indeed, when changing the device instance (what the Maretron tool calls unique instance), the Device instance gets changed, not the battery instances.

The unique instance changes the Device Instance (lower + upper) in the ISO address claim message. Unique instance = 8 * high + low, so that is changed.

Do make sure you run at least v2.51!

Hi Jeroen, my Venus GX is running v2.52, I am not sure what you mean by the changing of high and low and that high plus low = 8. Can you explain in more detail?

Changing the unique instance sets the Device Instance field in the ACL, see below.

1585485517257.png (241.7 KiB)

@Greg Ireland, hi Greg. In N2KAnalyser, add the column Device instance (I do not see it in your screenshots). The device instances for each identical piece of equipment needs to differ from each other. This also counts for your tank sensors (see other post), which I do not see in these screenshots, which might explain why they do not show on VRM/Remote console.