Bueno, he estado mucho tiempo buceando y “aprovechándome” de todos aquellos que como lynks, gmros, etc. han compartido sus conocimientos sobre Coding y programming en nuestros BMWs, creo que ya es hora de que aporte algo, este va a ser mi granito de arena. Es la primera vez que publico en un foro así que cualquier aporte o comentario será bien recibido.
Antes que nada quiero decir que llevo alrededor de tres meses leyendo información al respecto para lograr hacerme una idea clara de cómo comenzar mi andadura en este mundo de la codificación, por supuesto que he visto cientos de tutoriales sobre programas como NCSexpert, Winkfp, Tools32, etc, etc, etc. La inmensa mayoría de estos son secuencias de selección de opciones del programa sin explicar muy bien para qué sirve cada cosa y que hay detrás de cada acción… A mí me gusta entender qué hago y por qué, cómo funciona un programa y cuál es la filosofía de funcionamiento del coche. Por esto me he decidido a compartir con vosotros la información relativa a hacer coding con un el programa “NCS Expert” en esta Guía Basica de codificación Con NCS Expert para “tontos” como yo. Debo confesar dos cosas: la primera es que yo no he llegado a estas conclusiones sólo (ni mucho menos) son extractos de otros expertos de foros nacionales e internacionales “procesados” tras mucho tiempo de análisis. Segundo, no pretendo explicar cómo se instala, qué cables se utilizan o cómo se configura el programa para su utilización (para eso hay muchos otros hilos).
Esta es sólo mi interpretación y mi experiencia que no es mucha en estos temas, así que proceded asumiendo el riesgo que conlleva realizar estos trabajos.
En coches anteriores a 2002 el coding es un poquito diferente a aquellos de fecha de fabricación posterior, yo hablaré únicamente de codificar un modulo del coche. Para añadir opciones al VO, programar módulos y otras más cosas habrá que esperar un poco más tras aprender estos pasos básicos.
Lo primero es entender que es eso del ZCS/VO o “Vehicle Order”. Cuando BMW hace un coche, generan lo que se llama el “Vehicle Order” que básicamente es un conjunto de números y letras que dicen qué módulos están instalados en el vehículo, información regional, fecha de producción… Es el ADN del coche. Por ejemplo si un coche tiene parktronic o TV y fue hecho para España o Francia…. Como cada cioche tiene diferentes opciones y está hecho para un mercado u otro cada coche tendrá su ZCS (coches anteriores a 2002) o VO.
Este ZCS/VO está escrito generalmente en dos módulos del coche, depende del modelo y año en un M3 del 2002 estará en los módulos AKBM y ALSZ, en un 328ci del 2000 estará en el EWS y el KBM, en mi 530 LCI de 2008 está escrito en el módulo CAS y en el módulo LMA. No es nada más que una cadena de caracteres que se graban en la memoria flash de esos módulos. Os podéis preguntar que por qué se graba en dos módulos…bueno la explicación es que si uno de esos módulos falla podríamos utilizar el otro módulo para codificar el sustituto, por ejemplo, si en mi coche fallase el módulo CAS “Car Access System” y lo reemplazase por uno de recambio, utilizaría el módulo LMA de mi coche para codificarel sustituto a la configuración original. En el improbable caso de que ambos módulos fallaran a la vez habría que solicitar a BMW el VO del coche (BMW guarda registro de absolutamente todos los coches que construye).
Por lo tanto la diferencia inicial a efectos de coding entre los coches pre 2002 y post 2002 es que los primeros tienen ZCS (que actúa como VO). Lo que viene a continuación es prácticamente idéntico para ambos, salvo los parámetros individuales de codificación.
Comenzamos a Codificar con NCS Expert.-
1.- Cuando abrimos NCS expert lo primero que tenemos que hacer es seleccionar un perfil (dependiendo de qué versión de NCS expert utilicéis tendréis unos u otros). Estos perfiles definen la manera que el programa se comporta con el coche. Yo utilizo Expertmodus (often), para versiones anteriores del programa “Revtor’s expert profile”, se comportan básicamente igual, tienen una característica “manipulation enabled” de la que hablaré después.
2.- Una vez que el perfil esta cargado, debes seleccionar “VIN/ZCS/FA” (F1), posteriormente debes selccionar “ZCS/FA f ECU”(F3) para que el programa sea capaz de descargar el número de bastidor (VIN) de tu coche.Una vez seleccionada esta opción, el programa te va a pedir que selecciones tu carrocería
y posteriormente un módulo de una lista, en esta lista aparecen esos módulos de los que hablamos anteriormente y en los que el VO está copiado ( en mi caso CAS y LMA).
Al seleccionar uno de ellos lo único que le estás diciendo al programa es que en ese módulo se encuentra la información relativa al vehículo (el VO), para que la lea y descargue toda la información del vehículo. Cuando esto suceda en la pantalla del programa podrás ver tu VIN, y tu número de chasis (en mi caso“E60_”) seguido de una cadena de números y texto con “#” y “$” intercalados… ese es tu VO (que no aparecerá completo porque es muy largo y no cabe en la pantalla) NOTA: (En coches anteriores a 2002 no se verá FA seguido del VO, en su lugar se verá en la pantalla unas cuantas líneas con texto del tipo FG, GM, VN, SA… seguido de números). Ahora que NCS expert sabe la información de tu coche ya está dispuesto a codificar.
Es muy importante tener en cuenta que el PROCESO DE CODIFICACIÓN EN SI NO TIENE NADAQUE VER CON EL MÓDULO QUE ACABAMOS DE SELECCIONAR, ese modulo se selecciona para que el programa lea el VO, los datos del vehículo y nada más.
Después habrá que pulsar en el NCS expert la opción BACK (F6). Y tendremos algo así:
Ahora vamos a ver los pasos básicos de la codificación de módulos individuales en el coche. Los pasos para añadir equipo adicional al VO del vehículo y otras cosas se realizan de manera distinta y no las voy a tocar para no confundir a los más amateurs.
Ahora lo que necesitamos es pasar a nuestro PC los parámetros de nuestro coche, una vez seleccionado el módulo a codificar. Para ello debemos observar lo siguiente:
- El trabajo por defecto en el NCS expert es “SG_CODIEREN”, que viene a ser “Escribir/Codificar”, cómo todavía no hemos seleccionado qué módulo deseamos codificar, estarán seleccionados todos ellos.
3.- Vamos a seleccionar el módulo sobre el que queremos actuar. Pulsamos “Process ECU” (F4) y seleccionaremos de la lista desplegable el módulo (en mi caso CAPPL, voy a activar la TV en movimiento)
después de seleccionarlo nos saldrá una casilla con detalles del módulo... Hay que dar al ok...
4.- Ahora vamos a cambiar el trabajo de “SG_Codieren” a “CODIEREDATEN_LESSEN”, es decir cambiamos de escribir a leer dicho en cristiano. Esto lo realizamos con la opción “Change Job” (F2) en el NCS Expert.
5.- Ahora que ya tenemos seleccionado el módulo que queremos leer y la opción “leer” le podemos dar a la opción “Execute Job” (F3).
Saldrá algo así como Coding activ…. Y después ….Coding Ended.
En este momento en la Carpeta “WORK” dentro de la carpeta “NCSEXPER” habrá un archivo con nombre “FSW_PSW.TRC”
Este es el archivo que contiene la información que el NCS expert acaba de leer del coche, relativa al módulo seleccionado (“CAPPL” en nuestro caso). Lo primero que hay que hacer es salvar una copia de ese archivo (lo renombramos FSW_E60CAPPL_PSW.TRC, o como queramos) y lo guardamos en otro lado. He de recalcar que este archivo “.TRC” no es el que utiliza el programa para codificar el módulo del vehículo (como veremos ahora) pero nos interesa tenerlo por si las cosas no van bien.
Ahora tenemos que abrir el archivo ubicado en “C:/NCSEXPER/WORK” con nombre FSW_PSW.TRC con un editor de texto. No salgais del NCS Expert simplemente navegar por “mi Pc, c:, NXCSEXPER….” Hasta abrir el archivo con el editor de Texto)
Veremos una cantidad de líneas con frases en alemán, en nuestro caso buscaremos una línea que dice “
VIDEO_DENY_COB deny_low_key” y lo que haremos será editarla de manera que diga “
VIDEO_DENY_COB deny_never”.
Una vez hecho esto debemos salvar ese archivo como “FSW_PSW.MAN” (MUCHO OJO CON NO GUARDARLO COMO FSW_PSW.MAN.TXT, QUE ESTAIS UTILIZANDO UN EDITOR DE TEXTO) dentro de la misma ruta “C:/NCSEXPER/WORK”. (Probablemente ese archivo exista y este vacio así que si os pide la opción sobrescribid)
Que por qué tanto lio? Pues porque el archivo “.MAN” es el que utiliza el NCS expert para codificar con los perfiles con Manipulación Habilitada. Lo que hemos hecho es coger el archivo con la info original del módulo, cambiar sólo el parámetro que nos interesa y ponerlo en el “archivo de codificación” por así decirlo.
Existen programas como el NCS Dummy o el BMW coding Tool que traducen las lineas del archivo “.TRC” que vienen en alemán y que realizan automáticamente tanto la copia del archivo “.MAN” y el Backup del .TRC. pero eso es incluir otro programa más en el proceso y no es objeto de este brico, lo que hacen esos programas al fin y al cabo es lo descrito anteriormente.
Bueno ya casi estamos llegando….
Si no hemos salido de NCS Expert, seguiremos teniendo seleccionado el módulo que leímos previamente (CAPPL) por lo tanto sólo tendríamos que cambiar el tipo de trabajo pulsando “Change Job” (F2) y seleccionar “SG_CODIEREN”, una vez hecho esto habría que hacer click en “EXECUTE JOB” (F3) y esperar a que aparezca “Coding ended” en el centro de la pantalla del NCS Expert. Y Ya esta!!!!!
Si hemos salido del NCS Expert habrá que repetir los pasos iniciales: cargar el perfil (load profile) seleccionando el que convenga, después seleccionar “VIN/ZCS/FA” (F1), posteriormente selccionar “ZCS/FA f ECU”(F3), seleccionar el módulo para que lea el Vo del coche, pulsar Back (F6) y después seleccionar el módulo a codificar pulsando “PROCESS ECU” (F4) (CAPPL en nuestro caso)… Nos aseguramos que el trabajo es “SG_CODIEREN” y una vez hecho esto habría que hacer click en “EXECUTE JOB” (F3) y esperar a que aparezca “Coding ended” en el centro de la pantalla del NCS Expert. Y Ya esta!!!!!
¿Y si hemos metido la pata?
Lo que hay que hacer es borrar el contenido del archivo FSW_PSW.MAN y guardarlo vacio, seleccionar el módulo adecuado, tener SG_CODIEREN seleccionado y hacer click en EXECUTE JOB. Lo que hace el NCS Expert es que como el archivo .MAN esta vacio, busca los datos originales del modulo en la base de datos que tiene el propio programa (y que habremos metido al instalarlo y actualizar los DATEN, eso es parte de la instalación del programa y tampoco es objeto de este BRICO). Os preguntareis ¿Cómo sabe el programa que datos son los que hay que cargar? Pues porque el programa sabe vuestro VIN y vuestro VO y sabe en que carpeta debe buscar la información del modulo seleccionado para vuestro coche.
Espero que os sea de ayuda, tomáoslo con calma, no intentéis ir muy rápido… Por otro lado yo todavía sigo buceando en muchas otras cosas de las que con paciencia y apoyo de los foreros espero obtener respuestas.