Перейти к содержимому


Фотография

BMW E series NCS Dummy. Примочка для NCS expert.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 38

#21 ZAV

ZAV

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 211 сообщений
  • ГородMinsk BY

Отправлено 07 июля 2010 - 10:17

У всех софт заработал? У меня ругается, что не может открыть Cxx файл, хотя файл на месте.

Та же фигня :( Артур, удалось запустить?

#22 MEN

MEN

    Администратор

  • Администраторы
  • 1 822 сообщений
  • ГородМинск BY

Отправлено 07 июля 2010 - 10:29

У всех софт заработал? У меня ругается, что не может открыть Cxx файл, хотя файл на месте.

Та же фигня :( Артур, удалось запустить?


Прогу обновили

NcsDummy.zip

http://forums.bimmer... ... st19814233

По пустякам не беспокойте. Если есть вопросы - создавайте темы на форуме.


#23 Artur

Artur

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 262 сообщений
  • ГородToronto

Отправлено 07 июля 2010 - 10:38

У всех софт заработал? У меня ругается, что не может открыть Cxx файл, хотя файл на месте.

Та же фигня :( Артур, удалось запустить?


Пока нет. Пробовал на двух компах - никак. :cry:

Может версия .Net не соответствует... Еще не копал плотно.

#24 bem_ua

bem_ua

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 34 сообщений

Отправлено 07 июля 2010 - 11:20

МЕН, спасибо за то что дал ревтору файлы и попросил его сделать все кузова.

#25 punisher

punisher

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 152 сообщений
  • ГородСемей (Казахстан)

Отправлено 07 июля 2010 - 11:33

может кто нибудь напишет краткий мануал по пользованию программой.

#26 Artur

Artur

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 262 сообщений
  • ГородToronto

Отправлено 07 июля 2010 - 11:54

В хелпе все есть, надо только с англ. перевести.

#27 Горизонт

Горизонт

    Продвинутый пользователь

  • Модераторы
  • 748 сообщений

Отправлено 07 июля 2010 - 13:03

отлично пашет, превеликое спасибо !

Прошивки Чип-тюнинг BMW MB VAG помошь, обучение, Skype kwi12364 тел. +7(926)377-77-15


#28 Knyaz721

Knyaz721

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 1 589 сообщений
  • ГородСочи

Отправлено 07 июля 2010 - 15:46

Прикольная прога СПАСИБО.
Чем больше я узнаю, тем больше я понимаю, на сколько мало я знаю.

#29 ZAV

ZAV

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 211 сообщений
  • ГородMinsk BY

Отправлено 09 июля 2010 - 13:54

У всех софт заработал? У меня ругается, что не может открыть Cxx файл, хотя файл на месте.

Та же фигня :( Артур, удалось запустить?


Пока нет. Пробовал на двух компах - никак. :cry:

Может версия .Net не соответствует... Еще не копал плотно.

+1 решает проблему

#30 remkom

remkom

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 223 сообщений

Отправлено 09 июля 2010 - 18:03

Да, хорошая прога, спасибо)))))

#31 Malek

Malek

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 45 сообщений
  • ГородWeissrussland

Отправлено 09 июля 2010 - 23:22

Net 3.5 и все работает. Неплохая штука. спасибо.

#32 cap_nemo

cap_nemo

    Новичок

  • Пользователи
  • Pip
  • 3 сообщений

Отправлено 15 июля 2010 - 12:36

Спасибо, очень нужная прога! :geek:

#33 MEN

MEN

    Администратор

  • Администраторы
  • 1 822 сообщений
  • ГородМинск BY

Отправлено 06 ноября 2010 - 02:02

Автор: revtor
:idea:

It took a while but the new NCS Dummy version is nearing completion. Because I only have access to a limited amount of BMW vehicles, a public beta of the upcoming version is released first.[/i]

What is NCS Dummy? NCS Dummy is an application which should make life with NCS Expert a bit easier. NCS Dummy parses "FSW_PSW.TRC" trace files and "NETTODAT.TRC" trace files, and displays all possible parameters and even control unit (ECU) data for each function. For a history of the NCS Dummy development, refer to the old thread.

NCS Dummy only parses NCS Expert data files and trace files. NCS Dummy doesn't actually use NCS Expert, it doesn't connect to the car and it doesn't make changes to any file apart from the ones you explicitly chose to export. In other words, it's safe to use. If you are interested in finding out what coding functionality a certain module offers, you can safely export its module or trace function to a human readable text file with NCS Dummy. NCS Dummy only requires access to the NCS Expert DATEN folder to build the relations between functions and parameters.

Изображение

Download NCS Dummy 0.4.0.0 beta (226 kB)

Requirements:
[*:1zs5yuh0]Microsoft Windows 2000 or later
[*:1zs5yuh0]Microsoft .NET Framework 3.5 Service Pack 1 (link)
[*:1zs5yuh0]Local or remote access to the NCS Expert "DATEN" folderIf you find bugs or experience any problems with this version, please let me know in this thread or contact me at Изображение. When you report bugs, always include the NCS Dummy log (right click on the log and select "Copy Log" from the menu to put the entire log on the clipboard) and if applicable the keyword trace file ("FSW_PSW.TRC") or nettodata trace file ("NETTODAT.TRC") you are trying to parse. It also helps to include the selected NCS Expert *.C?? module file - my version may differ from yours.

Even if the application works fine for you I do welcome feedback, suggestions and ideas for future functionality, and you can help development by sending keyword trace files ("FSW_PSW.TRC") and nettodata trace files ("NETTODAT.TRC"). The more real world data I have, the better I can test the application. If you send trace files, please always clearly specify the chassis and module or even better rename the file(s) to "chassis-module-filename.trc" (for example "E31-GM2.C25-NETTODAT.TRC"). Thanks in advance!

Please keep this thread on-topic - NCS Dummy only! Questions concerning where to get or the usage of NCS Expert, what parameters to change to achieve certain functionality on your car,... will not be answered.

What's new?

What's new since the last public release - version 0.2.1.1? Actually a lot... Version 0.4.0.0 is rewritten almost entirely from scratch. The major new features are:
[*:1zs5yuh0]New and much improved parser for the NCS Expert *.C?? module files: Where the previous versions used masks to locate and identify data in the module files, the new parser knows exactly what it is reading and how to interpret it. No more guessing - it should be balls-on accurate.
[*:1zs5yuh0]Ability to display control unit (ECU) data: This feature may be of use only to a small number of users, but it's what makes NCS Dummy extremely powerful. NCS Dummy can tell you what data to expect at a certain address location in the module's coding memory and to a limited extent also what it means. This is a great aid if you intend to write custom data to a module to accomplish features impossible with the classic "FSW_PSW.MAN" manipulation.
[*:1zs5yuh0]Support for nettodata trace files ("NETTODAT.TRC"): Because the new version is able to handle control unit (ECU) data, it can also parse nettodata trace files. Nettodata trace files often contain more information than the dumbed-down keyword trace files ("FSW_PSW.TRC"). Nettodata trace files are a more reliable representation of the control unit's coding. Keywords may change between NCS Expert "DATEN" versions, but the binary data always remains the same.
[*:1zs5yuh0]The new version maps nettodata and keyword trace files against the NCS Expert module file. The old versions used the module file only as reference and ignored them for trace differences. That makes the new version less tolerant for module version mismatches. Make sure you select the same chassis and module as used in NCS Expert to generate the trace file. You can still compare trace files from different modules, but expect a lot of unresolved functions and parameters.
[*:1zs5yuh0]Automatic detection of chassis and module from the keyword or nettodata trace filename. If you rename your trace files to a "chassis-module-filename.trc" structure (for example "E31-EKM.C25-FSW_PSW.TRC"), NCS Dummy will automatically set the chassis and module (chassis "E31" and module "EKM.C25" in the example). This should save time when working with many trace files.
[*:1zs5yuh0]Full export functionality for the second trace file. In previous versions the second trace file could only be used for the differences.For existing users it may be worth mentioning that several items were renamed to be more in line with BMW Ediabas terminology. "Parameter names" are now "function keywords" (from FSW - Funktionschl?sselw?rt) and "parameter values" became "parameter keywords" (from PSW - Parameterschl?sselw?rt). Another minor change is the path to NCS Expert. Previous versions required the path to the NCS Expert installation root (default: "C:\NCSEXPER\"). Version 0.4.0.0 requires the path to the NCS Expert "DATEN" folder (default: "C:\NCSEXPER\DATEN\"). This change should only affect those who set the path hardcoded through the command-line parameters.

Understanding the NCS Dummy output

There are three practical scenarios of use for NCS Dummy:[*:1zs5yuh0]Module Functions: Find out what coding functionality a module offers. NCS Dummy shows all functions and their possible parameters.
[*:1zs5yuh0]Trace Functions: Same as the module functions, but with indication of the selected parameters in the loaded trace file.
[*:1zs5yuh0]Trace Differences: Compare two trace files to see the differences.In the default mode, without control unit (ECU) data, the output is mostly identical to the previous versions. Below is and excerpt from the module functions output of the E31 "LKM2.C25" Lamp Monitor module with translations enabled.

Generated with NCS Dummy version 0.4.0.0 beta 1 — copyright © 2010 revtor software


Output       : Module Functions
Chassis      : E31
Module       : LKM2.C25


FUNCTION KEYWORD        FUNCTION KEYWORD TRANSLATION
    PARAMETER KEYWORD       PARAMETER KEYWORD TRANSLATION
                        
KALTUEBERWACHUNG        COLD MONITORING
    nsl_li_re               left and right rear fog lights
    nsl_li                  left rear fog light
FEHLER_3.BREMSLEUCHTE   THIRD BRAKE LIGHT FAILURE
    nicht_melden            do not report
    melden                  report
NSW_BEI_ABBLENDLICHT    FRONT FOG LIGHTS SIMULTANEOUSLY WITH LOW BEAMS
    aktiv                   active
    nicht_aktiv             not active
KALTUEBERWACHUNG_NSW    COLD MONITORING FRONT FOG LIGHTS
    nicht_aktiv             not active
    aktiv                   active
The "function keyword" column contains a list of all coding functions supported by the module. The indented "parameter keyword" column shows the possible parameters for each function. Functions are always in UPPERCASE while parameters are always in lowercase. For example "NSW_BEI_ABBLENDLICHT" has two possible parameters; "aktiv" and "nicht_aktiv". On the right are the English translations for the functions and parameters. You may notice a lot blanks in the translations when you parse your own modules. That's because the translations are a community effort and far from complete. You may also notice that the translations not always really clarify the functions and or parameters. The function and parameter keywords are reused in many modules and therefore the translations can't be too specific. The translations can be turned of by clearing the "Translations" checkbox. A real description of each function and parameter is only available in the original source codes from BMW. I'd love to include these descriptions in NCS Dummy, but sadly I don't have access to these source codes...

The trace functions output shown below is very similar. The only difference is the asterisk (*) in the S(elected) column to indicate which parameter is selected in the loaded keyword or nettodata trace file. This is probably the most used output to see what's possible starting from your current configuration.
Generated with NCS Dummy version 0.4.0.0 beta 1 — copyright © 2010 revtor software


Output       : Trace Functions
Chassis      : E31
Module       : LKM2.C25
Trace file   : "C:\NCSEXPER\WORK\revtor\E31-LKM2.C25-FSW_PSW.TRC" (FSW/PSW)


S   FUNCTION KEYWORD        FUNCTION KEYWORD TRANSLATION
        PARAMETER KEYWORD       PARAMETER KEYWORD TRANSLATION
                            
    KALTUEBERWACHUNG        COLD MONITORING
*       nsl_li_re               left and right rear fog lights
        nsl_li                  left rear fog light
    FEHLER_3.BREMSLEUCHTE   THIRD BRAKE LIGHT FAILURE
        nicht_melden            do not report
*       melden                  report
    NSW_BEI_ABBLENDLICHT    FRONT FOG LIGHTS SIMULTANEOUSLY WITH LOW BEAMS
*       aktiv                   active
        nicht_aktiv             not active
    KALTUEBERWACHUNG_NSW    COLD MONITORING FRONT FOG LIGHTS
        nicht_aktiv             not active
*       aktiv                   active
If you load a keyword trace file with a non-matching chassis and/or module, you may notice an extra column U(nresolved) with question marks (?) for each function and parameter that does not occur in the loaded module. Unresolved functions and parameters almost always indicate module mismatches. Even if the module is seemingly correct, the trace file may have been generated with a younger or older module file which differs from the one NCS Dummy uses.

Another important feature of NCS Dummy is the trace file comparison (trace differences). An excerpt from the output of the differences between two E31 "EKM.C25" Body Electronics modules is displated below.

Generated with NCS Dummy version 0.4.0.0 beta 1 — copyright © 2010 revtor software


Output       : Trace Differences
Chassis      : E31
Module       : EKM.C25
Trace file 1 : "C:\NCSEXPER\WORK\revtor\E31-EKM.C25-FSW_PSW.TRC" (FSW/PSW)
Trace file 2 : "C:\NCSEXPER\WORK\cc66541\E31-EKM.C25-FSW_PSW.TRC" (FSW/PSW)
Differences  : Yes


1   2   FUNCTION KEYWORD           FUNCTION KEYWORD TRANSLATION
            PARAMETER KEYWORD          PARAMETER KEYWORD TRANSLATION

        STEIGUNG_EINSPRITZ_KENNL   FUEL INJECTION CHARACTERISTIC CURVE
*           s70b56                     s70b56 5.6-liter v12
    *       m60b40                     m60b40 4.0-liter v8
        OFFSET_GESAMTWEGSTRECKE    TOTAL DISTANCE OFFSET
    *       0_km                       0 kilometers
        SCHWELLE_UEBERDREHZAHL     ENGINE SPEED THRESHOLD
*           6700_u/min                 6700 revolutions per minute
    *       6400_u/min                 6400 revolutions per minute
        ZYLINDER_ZAHL              CYLINDER COUNT
    *       8_zylinder                 8-cylinder
*           12_zylinder                12-cylinder
Note that only the differences are shown in this output. Refer to the module functions and trace functions for a complete reference of the available functions and parameters. The asterisks (*) in column "1" show the selected parameters in the first trace file, column "2" those of the second trace file. Some functions may not be present in both trace files. For example "OFFSET_GESAMTWEGSTRECKE" is only available in the second trace file.

You may notice that the log sometimes indicates more fetched data (groups, properties,...) than actually visible in the output. This is because without "Control unit data" checked NCS Dummy outputs in keyword trace compatible mode and cannot display the additional data. Ultimately this may even result in a trace differences output which says "Yes" for "Differences" but shows no differences. Does this mean the output is incorrect? No. While both trace files contain differences you cannot change these differences through the classic "FSW_PSW.MAN" manipulation because the differences cannot be represented in a keyword trace file.

To view the full details, tick the "Control unit data" checkbox. Below is an excerpt from the module functions of the E31 "EKM.C25" Body Electronics module. The translations were disabled for this example to keep the width reasonable.

Generated with NCS Dummy version 0.4.0.0 beta 1 — copyright © 2010 revtor software


Output       : Module Functions
Chassis      : E31
Module       : EKM.C25


M   FUNCTION KEYWORD        ADDRESS                       MASK
        PARAMETER KEYWORD       DATA                          MASKED
                                                          
    Variable_Daten1         00000058                      
    ?????????????????????????????????????????????????????????????????????????????????
    <UNBELEGT>              00000058                      FF
        <initwert>              FF,FF                         FF,FF
                                                          
    Varianten               00000066                      
    ?????????????????????????????????????????????????????????????????????????????????
    VERBRAUCH_EINHEIT       00000066                      03
        l/100km                 00                            00
        mpg_us                  01                            01
        mpg_uk                  02                            02
        km/l                    03                            03
    WEG_REICHWEITE          00000066                      04
        km                      00                            00
        mls                     01                            04
#   K_ZAHL                  0000006E                      FF
        4534_imp/km             11                            11
        alpina                  11                            11
#   K_ZAHL                  0000006F                      FF
        4534_imp/km             B6                            B6
        alpina                  4E                            4E
    TACHO_SKALA_ENDWERT     0000007E                      FF
        300_km/h_ece/jpn        C8                            C8
        280_km/h_ece/jpn        B4                            B4
        340_km/h_alpina         F0                            F0
    TANK_KENNLINIE_WINKEL   000000D0                      FF
        90_l_literskala         00,33,56,75,AD,E6,F6,FF       00,33,56,75,AD,E6,F6,FF
        90_l_prozentskala       00,33,5E,8F,CA,E6,F6,FF       00,33,5E,8F,CA,E6,F6,FF
                                                          
    Checksum                000000FD                      
    ?????????????????????????????????????????????????????????????????????????????????
    CHECKSUM_1              000000FD                      FF
    CHECKSUM_2              000000FE                      FF
The horizontal bars divide the output in groups. The title of the group ("Variable_Daten1" for the first one, "Varianten" for the second,...) is just above the bar (let me know if there's a preference to have the title below the bar). Groups always run up to the next group or the end of file. Group titles are usually in camel-case setting them apart from the uppercase function keywords and lowercase parameter keywords, but that's not a rule. Groups have no functionality other than splitting the output depending on context. Groups cannot be coded or modified in any way.

Some function and parameter keywords are surrounded by brackets (for example ""). This means those keywords are not really true keywords - they cannot be used in keyword trace files. These fake keyword indicate fields the keyword trace files cannot represent. The "" functions (which would show "" if the translations were enabled) indicate unoccupied locations or blocks in the module's coding memory. This does not always mean these memory locations aren't used at all, but the data in these locations cannot be represented by even the module file. The "" function always comes with a "" parameter (""). "" shows the initial data that is stored in the unoccupied locations for virgin modules.

Function "K_ZAHL" occurs twice in the list. This is not an error, although this situation is relatively rare and only found in older modules. This is an example of a multiword function where a single function has data stored in two different locations of the module's memory. Multiword functions are indicated by a number sign sign (#) in the M(ultiword) column. Note that not all functions tagged by NCS Dummy are true multiword functions. For example function "NICHT_BELEGT" ("NOT ASSIGNED") can occur multiple times but the individual fields have no relation with each other and falsely trigger the multiword tag. This does not affect the reliability of the output. The multiword indication is only there for your convenience to quickly spot potential multiword functions.

Functions "CHECKSUM_1" and "CHECKSUM_2" do not have parameters. Basically this means any value is possible - there are no presets. These functions cannot be set through classic "FSW_PSW.MAN" manipulation. NCS Dummy refers to parameter-less functions as properties.

The "address", "data", "mask" and "masked" column are tied together and represent the control unit (ECU) data. Please note all values in these columns are hexadecimal values! The "address" is a 32 bit (4 byte) value representing the location in the module's coding memory where the function's data can be found. The "data" is the actual data that can be stored in this address location (modules don't store data like "aktiv" and "nicht_aktiv" but binary values). The data length can vary but the smallest unit is 8 bit (1 byte) and the data is always a multiple of that. Many functions don't even need 8 bit to store their parameter. For example, for activ and not active two states (1 bit) suffices. This is where the "mask" comes in. The "mask" allows a single byte to be shared amongst multiple functions. The "masked" value is the "data" value with the "mask" applied. This value is very useful when working directly in the binary (hexadecimal) data.

Take for example following excerpt from the nettodata trace file ("NETTODAT.TRC") of an E31's EKM module:

B 00000050,0010,ED,96,FF,FF,F4,F4,33,A3,FF,FF,FF,FF,FF,FF,FF,FF
B 00000060,0010,FF,FF,FF,FF,FF,FF,D6,6F,BF,99,80,FF,D8,A0,11,B6
B 00000070,0010,EE,49,00,00,6B,4B,75,C3,77,21,E2,CC,10,10,C8,50[*:1zs5yuh0]Nettodata identifier
[*:1zs5yuh0]Address location
[*:1zs5yuh0]Number of data bytes starting at this address
[*:1zs5yuh0]Data byteLet's find the value of "VERBRAUCH_EINHEIT" in the nettodata trace file. "VERBRAUCH_EINHEIT" is at address "00000066". That's the sixth position at base address "00000060" (always start counting at 0). At this location in the nettodata trace file is byte "D6". But "D6" is not in the list of available parameters for "VERBRAUCH_EINHEIT" - only "00", "01", "02" and "04" are. That's because this byte is shared amongst multiple functions. Refer to the "mask" - "03". Just do a bitwise AND operation on the byte with the mask. This results to "02" (nettodata AND mask = D6 AND 03 = 02), which according to the "masked" column is the "mpg_uk" parameter. If you are not fimiliar with bitwise operations on hexadecimal values, here's what happens in binary:

D6 = 11010110 (nettodata)
03 = 00000011 (mask)
????????????? (AND)
02 = 00000010 (masked)

Simply put only the bits that are true (1) in the mask go to the result. "WEG_REICHWEITE" shares the same byte ("D6" at "00000066") but obviously has a different mask to differentiate it from "VERBRAUCH_EINHEIT". The bitwise AND gives "04" (nettodata AND mask = D6 AND 04 = 04):

D6 = 11010110 (nettodata)
04 = 00000100 (mask)
????????????? (AND)
04 = 00000100 (masked)

Again, look up "04" in the "masked" column for "WEG_REICHWEITE" - it's set to parameter "mls". Simple, not?

What if you want to change "VERBRAUCH_EINHEIT" from "mpg_uk" to "mpg_us" in the nettodata? First clear the current nettodata by performing a bitwise NAND (NOT AND) with the mask "03" against the nettodata "D6" (nettodata NAND mask = D6 NAND 03 = D4):

D6 = 11010110 (nettodata)
03 = 00000011 (mask)
????????????? (NAND)
D4 = 11010100 (cleared_nettodata)

The NAND operation allows all bits outside the mask to pass and sets all bits in the mask to false (0). Then perform a bitwise OR with the masked data "01" against the cleared nettodata "D4" (cleared_nettodata OR masked = D4 OR 01 = D5):

D4 = 11010100 (cleared_nettodata)
01 = 00000001 (masked)
????????????? (OR)
D5 = 11010101 (new_nettodata)

Or simplified: (nettodata NAND mask) OR masked = (D6 NAND 03) OR 01 = D5. In other words, to change "VERBRAUCH_EINHEIT" from "mpg_uk" to "mpg_us" in the nettodata, byte "D6" at position "00000066" must be changed to "D5".

For some keywords the mask is shorter than the data. "TANK_KENNLINIE_WINKEL" for example has parameter data of 8 bytes length, but the mask is only one byte long. Simply apply the mask to each byte in the data. The mask can also contain multiple bytes. In that case cycle through the mask.

You may wonder about the purpose of knowing and modifying the nettodata if you could change it as well in a much more readable format through the classic "FSW_PSW.MAN" manipulation. Correct, but the above are just simple examples to help you understand nettodata manipulation. The real power of nettodata manipulation comes only with more advanced fields. Take for example the "TACHO_SKALA_ENDWERT" function. According to the nettodata ("C8" at address "0000007E") it's set to "300_km/h_ece/jpn". The other parameters indicate one can choose between a 280 km/h, 300 km/h and 340 km/h speedometer. What if you wanted to manufacture your own instrument cluster dials with a speedometer that goes up to 320 km/h without affecting the accuracy of the speedometer? You can't choose 320 km/h from the list of available parameters, but the nettodata allows you to do stuff which is simply impossible through the classic "FSW_PSW.MAN" manipulation. The only problem with the nettodata is understanding what the bytes mean. Sometimes it's obvious, in other cases you will get nowhere without detailed documentation which is probably only available to the module developers/engineers at BMW. Let's give the speedometer a try. Convert each parameter's data to a decimal value for easier interpretation:

C8 = 200
B4 = 180
F0 = 240

Sadly this doesn't directly translate to 300, 280 and 340 but apparently the differences between the numbers are the same. Just add 100 and you get the real speeds. So for a 320 km/h speedo, the decimal value would be 320 - 100 = 220, or hexadecimal value "DC". Write "DC" to the module's coding memory at address "0000007E" and your speedometer has effectively become a 320 km/h speedometer! This very simple example shows how the nettodata allows you to go outside the boundaries of the classic "FSW_PSW.MAN" manipulation.

Obviously, if all you want to do is view what data is set in a nettodata trace file ("NETTODAT.TRC") and indirectly in a keyword trace file ("FSW_PSW.TRC"), you don't have to perform the bitwise operations all by hand. Just use the NCS Dummy "trace function" and NCS Dummy does all the work for you:

Generated with NCS Dummy version 0.4.0.0 beta 1 — copyright © 2010 revtor software


Output       : Trace Functions
Chassis      : E31
Module       : EKM.C25
Trace file   : "C:\NCSEXPER\WORK\cc66541\E31-EKM.C25-NETTODAT.TRC" (Nettodata)


M   C   S   FUNCTION KEYWORD        ADDRESS                       MASK
                PARAMETER KEYWORD       DATA                          MASKED
                                                                  
            Variable_Daten1         00000058                      
            ?????????????????????????????????????????????????????????????????????????????????
            <UNBELEGT>              00000058                      FF
        *       <initwert>              FF,FF                         FF,FF
                                                                  
            Varianten               00000066                      
            ?????????????????????????????????????????????????????????????????????????????????
            VERBRAUCH_EINHEIT       00000066                      03
                l/100km                 00                            00
                mpg_us                  01                            01
        *       mpg_uk                  02                            02
                km/l                    03                            03
            WEG_REICHWEITE          00000066                      04
                km                      00                            00
        *       mls                     01                            04
#           K_ZAHL                  0000006E                      FF
        *       4534_imp/km             11                            11
                alpina                  11                            11
#           K_ZAHL                  0000006F                      FF
        *       4534_imp/km             B6                            B6
                alpina                  4E                            4E
            TACHO_SKALA_ENDWERT     0000007E                      FF
                300_km/h_ece/jpn        C8                            C8
                280_km/h_ece/jpn        B4                            B4
                340_km/h_alpina         F0                            F0
    +   *       <tats?chlich>           DC                            DC
            TANK_KENNLINIE_WINKEL   000000D0                      FF
                90_l_literskala         00,33,56,75,AD,E6,F6,FF       00,33,56,75,AD,E6,F6,FF
        *       90_l_prozentskala       00,33,5E,8F,CA,E6,F6,FF       00,33,5E,8F,CA,E6,F6,FF
                                                                  
            Checksum                000000FD                      
            ?????????????????????????????????????????????????????????????????????????????????
            CHECKSUM_1              000000FD                      FF
    +   *       <tats?chlich>           AD                            AD
            CHECKSUM_2              000000FE                      FF
    +   *       <tats?chlich>           62                            62
The above is actually a bit faked, but it shows what we would get if we had actually changed the speedometer as described above. Since there's no parameter to assign with value "DC", NCS Dummy shows it as "" ("" in the translations) - the actual value of the memory position. These custom values are also indicated with a plus sign (+) in the C(ustom) column. Even without modifying the nettodata, you may end up with several of these custom parameters when parsing nettodata trace files ("NETTODAT.TRC"). This is perfectly normal.

Known issues

NCS Dummy is not able to read module "KMBI_E38.C12" (chassis E38, E39, E53) and "ARS.C0E" (chassis E60 and E65). There is an inconsistency in these two files I cannot explain. I can easily change NCS Dummy to support these two modules, but until I know what the inconsistency means I prefer to disable support for these. If you do have a car with one of these modules (needs to be exactly the same version - "KMBI_E38.C11" for example works just fine) and can pull "FSW_PSW.TRC" and "NETTODAT.TRC" trace file from it, please contact me. Thanks!

Hints and tips

The application should be pretty much straighforward to use, but here are a few hints and tips that might make using NCS Dummy easier or explain certain behavior:
[*:1zs5yuh0]When exporting to a text file in NCS Dummy, you can double click on the log line saying "Successfully exported ..." to open the file immediatly in the text editor assigned with the *.txt extension. You can even automate this behavior by adding /autoopenexported=1 to the command-line arguments. The easiest way to do this is by creating a shortcut to the NCS Dummy executable ("NcsDummy.exe") and add the command-line argument to the target properties.
[*:1zs5yuh0]The default folder where NCS Dummy looks for the NCS Expert DATEN is "C:\NCSEXPER\DATEN\". If yours is in a different location and you don't want to set it manually on each application launch, add command-line argument /ncsexpertdatenpath="path" (for example /ncsexpertdatenpath="D:\EDIABAS\NCSEXPER\DATEN\"). NCS Dummy supports remote locations (network shares) like \\remotecomputer\daten\.
[*:1zs5yuh0]By default NCS Dummy has "Control unit data" unchecked. If you work a lot with nettodata and wish to check this option automatically each time you launch the application, add /exportecudata=1 to the command-line arguments.
[*:1zs5yuh0]When using trace files with "chassis-module-filename.trc" filename structures (for example "E31-GM2.C25-NETTODAT.TRC"), NCS Dummy will automatically set the appropriate chassis and module. Sometimes this behavior may hinder working with different module versions. You can temporarily disable the automatic detection by holding down the shift key while clicking "Browse...". To disable the feature permanently, add /autodetectchassismodule=0 to the command-line arguments.
[*:1zs5yuh0]The trace functions can also export to a keyword trace file ("FSW_PSW.TRC"). this doesn't make much sense when starting from a keyword trace file, but can be used to create one from a nettodata trace file ("NETTODAT.TRC"). A situation where this can be handy is when existing keyword trace files suddenly contain unresolved keywords after updating the NCS Expert DATEN to a newer version. Creating new keyword trace files directly from the nettodata resolves this issue. That's why it's strongly recommended to always keep a copy of the "NETTODAT.TRC" trace files as backup.
[*:1zs5yuh0]When exporting to a sorted text files with "Control unit data" enabled, no groups will be included. Groups only make sense in the original order.
[*:1zs5yuh0]If you wish to compare trace files from different module revisions, it's best to load the one with the highest module revision number as trace file 1.
[*:1zs5yuh0]Because the default mode, without control unit (ECU) data, cannot export all data it is possible to get a file comparison (trace differences) where the log and header indicate differences, but no differences are shown. This is not incorrect behavior - just a limitation of the output without control unit (ECU) data. Tick the "Control unit data" checkbox for a detailed export which will include the differences.Quick reference for NCS Expert

Reading "FSW_PSW.TRC" and "NETTODAT.TRC" trace files with NCS Expert

Despite people's claims of how dangerous NCS Expert is, reading FSW/PSW trace files from a car is perfectly safe as long as you keep your head at the job. NCS Expert's default setting is to code, which we definitely don't want (at this point), but once the job type is changed to reading the program is harmless. You don't need to take special precautions for the car. Reading trace files takes just seconds, so there's absolutely no need for an external power supply. Low battery voltages cannot cause damage, but may of course drop the connection so you are unable to complete the trace file reading. Thus make sure your batteries are ok and properly charged.

Before you can start reading FSW/PSW trace files with NCS Expert you need a good profile. By default NCS Expert comes with the "Expertenmodus" profile ("FZG2.PFL"), which despite the name is not that expert at all. You can either use the "Fisterprofile" ("GOODFIST.PFL") from the founder of bmwecu.org, or my profile (download and unpack "REVTOR.PFL" from the zip archive to the "C:\NCSEXPER\PFL\" folder).

Navigate to the "C:\NCSEXPER\WORK\" folder and (if not yet existing) create a new empty text file called "FSW_PSW.MAN".

Now connect your diagnostic interface to the car and turn the ignition on (just the ignition - no need to start the engine). Test the connection with for example INPA. Don't forget to close INPA before using NCS Expert. The interface throws errors when multiple applications try to get access to it.[*:1zs5yuh0]Once the profile is in the PFL folder and the diagnostic link ok, launch NCS Expert. At this moment no profile is loaded, so the screen is quite empty.
[*:1zs5yuh0]From the "File" menu, choose "Load Profil".
[*:1zs5yuh0]In the "Choose profile" popup window, select "Fisterprofile" or "Revtor's NCS Expert Profile" and click "OK". Nothing much happens, but you'll notice some of the buttons on the bottom now have labels.
[*:1zs5yuh0]Click the "VIN/ZCS/FA" button (F1). The button labels change once again.
[*:1zs5yuh0]Click the "ZCS/FA f. ECU" button (F3).
[*:1zs5yuh0]In the "Choose CHASSIS" popup window, select your chassis and click "OK".
[*:1zs5yuh0]In the "Choose ECU" popup window, select one of the presented modules (for example "EKM", "EWS" or "CAS") and click "OK".
[*:1zs5yuh0]After a short moment, the top groupbox should now show information regarding your car.
[*:1zs5yuh0]Click the "Back" button (F6). The middle groupbox now shows the available modules and default job name. The default is "SG_CODIEREN" which we definitely don't want, so pay attention what buttons you press right now!
[*:1zs5yuh0]Click the "Process ECU" button (F4).
[*:1zs5yuh0]In the "Choose ECU" popup window, select the desired module and click "OK". If you want to read all modules, you'll have to work module by module.
[*:1zs5yuh0]A popup window displaying the *.C??, *.IPO and *.PRG files for the chosen module is shown. Write these filenames down as you need those for NCS Dummy. Click "OK".
[*:1zs5yuh0]Click the "Change job" button (F2). If "JOBNAME" in the middle groupbox already reads "CODIERDATEN_LESEN" you can skip the following steps and jump to 16.
[*:1zs5yuh0]In the "Choose job" popup window, select "CODIERDATEN_LESEN" and click "OK". The default job action is now reading instead of coding. Note that NCS Expert will still say "get coded" in the middle groupbox and during the read operation it says it's coding... but it will not. "CODIERDATEN_LESEN" is a safe read-only operation.
[*:1zs5yuh0]Confirm "JOBNAME" in the middle groupbox says "CODIERDATEN_LESEN".
[*:1zs5yuh0]Click the "Execute job" button (F3). The process takes only a few seconds. As said, NCS Expert may indicate it's coding but it's actually only reading.Head over to the "C:\NCSEXPER\WORK\" folder. In it are now two files that interest us: "FSW_PSW.TRC" and "NETTODAT.TRC". The first is the human readable keyword trace file, the second is the nettodata trace file. I strongly encourage to keep a backup copy of both "FSW_PSW.TRC" and "NETTODAT.TRC". Each time you read a module with NCS Expert these files are overwritten, so you must move or rename them (no need to copy - if the original files are missing, NCS Expert will write new ones). If you rename them to a "chassis-module-filename.trc" filename structure, NCS Dummy will automatically select the right chassis and module upon loading (for example: "E31-GM2.C25-FSW_PSW.TRC" and "E31-GM2.C25-NETTODAT.TRC").

If you want to read a trace files from another module, head back to NCS Expert, click the "Change ECU" button (F1) and repeat the steps starting from 11, but with a different module.

Coding modules from a manipulated "FSW_PSW.MAN" trace file with NCS Expert

First of all make sure you have a good NCS Expert profile. Read the previous chapter for more information on profiles.

Where little could go wrong with reading, coding is a different story. You don't want the battery voltage get too low during coding as this may render the module dead. Luckily older bimmers like the E31 don't take long to code - just seconds per module. So you don't need any special precautions if your batteries are good and properly charged. Nevertheless it's recommended to attach a small 13.8 V power supply to keep the voltage well over 13 V. A simple battery charger with power supply mode functionality and a current output of 5 A or better should be sufficient. Note that newer bimmers may take a lot longer to code, with a much higher current draw. BMW recommends power supplies that can deliver over 40 A for newer cars.

Open the keyword trace file ("FSW_PSW.TRC") you wish to make changes to in a plain text editor, make the changes and save the file to "FSW_PSW.MAN" in the "C:\NCSEXPER\WORK\" folder overwriting a previous version (if existing).

Connect your diagnostic interface to the car and turn the ignition on (just the ignition - no need to start the engine). Test the connection with for example INPA. Don't forget to close INPA before using NCS Expert. The interface throws errors when multiple applications try to get access to it.[*:1zs5yuh0]Launch NCS Expert. At this moment no profile is loaded, so the screen is quite empty.
[*:1zs5yuh0]From the "File" menu, choose "Load Profil".
[*:1zs5yuh0]In the "Choose profile" popup window, select "Fisterprofile" or "Revtor's NCS Expert Profile" and click "OK". Nothing much happens, but you'll notice some of the buttons on the bottom now have labels.
[*:1zs5yuh0]Click the "VIN/ZCS/FA" button (F1). The button labels change once again.
[*:1zs5yuh0]Click the "ZCS/FA f. ECU" button (F3).
[*:1zs5yuh0]In the "Choose CHASSIS" popup window, select your chassis and click "OK".
[*:1zs5yuh0]In the "Choose ECU" popup window, select one of the presented modules (for example "EKM", "EWS" or "CAS") and click "OK".
[*:1zs5yuh0]After a short moment, the top groupbox should now show information regarding your car.
[*:1zs5yuh0]Click the "Back" button (F6). The middle groupbox now shows the available modules and default job name.
[*:1zs5yuh0]Click the "Process ECU" button (F4).
[*:1zs5yuh0]In the "Choose ECU" popup window, select the desired module and click "OK". Make sure the manipulated "FSW_PSW.MAN" trace file is for the same module.
[*:1zs5yuh0]A popup window displaying the *.C??, *.IPO and *.PRG files for the chosen module is shown. Click "OK".
[*:1zs5yuh0]Click the "Change job" button (F2). If "JOBNAME" in the middle groupbox already reads "SG_CODIEREN" you can skip the following steps and jump to 16.
[*:1zs5yuh0]In the "Choose job" popup window, select "SG_CODIEREN" and click "OK". The default job action is now coding.
[*:1zs5yuh0]Confirm "JOBNAME" in the middle groupbox says "SG_CODIEREN".
[*:1zs5yuh0]Click the "Execute job" button (F3). The process takes only a few seconds on older cars like the E31.After NCS Expert has finished coding, close the application and turn the ignition back to off. That's all there is to it. The module has been coded. It's recommended to empty (not delete) the "FSW_PSW.MAN" file after coding.

Please note this coding method does not change the ZCS (Central Coding Key) or VO (Vehicle Order). In other words, if you ever recode the car using the ZCS/VO all your changes will be lost. So if you are happy with the new coding, keep a backup of the "FSW_PSW.MAN" file - just in case. I also strongly encourage to keep a backup of the original unmodified "FSW_PSW.TRC" and "NETTODAT.TRC" trace files.

Прикрепленные файлы


По пустякам не беспокойте. Если есть вопросы - создавайте темы на форуме.


#34 Artur

Artur

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 262 сообщений
  • ГородToronto

Отправлено 06 ноября 2010 - 10:57

Круто! Молодец revtor!

#35 АВАТАР

АВАТАР

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 07 ноября 2010 - 00:25

молодчина !!!!!

#36 MEN

MEN

    Администратор

  • Администраторы
  • 1 822 сообщений
  • ГородМинск BY

Отправлено 09 ноября 2010 - 11:34

Download NCS Dummy 0.4.0.0 beta 2

Прикрепленные файлы


По пустякам не беспокойте. Если есть вопросы - создавайте темы на форуме.


#37 pic

pic

    Пользователь

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 18 марта 2015 - 16:42

Блин.Ненахожу R56 кузова в NCS Dummy. У всех также?



#38 windinc

windinc

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 272 сообщений
  • ГородДнепр

Отправлено 18 марта 2015 - 20:30

Данные эксперта обнови



#39 pic

pic

    Пользователь

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 19 марта 2015 - 16:36

Данные эксперта обнови

 Ок. Понял. Спасибо.






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных