CoDeSys connecting with CAN Bus J1939 Module Parameters

psandel
2011-07-20
2011-09-07
  • psandel - 2011-07-20

    I am new to the CoDeSys programing and communicating with the J1939 Can Bus. Can someone help with the id format. Example to get Engine Coolant temp of the bus the ID = 16#18FEEE00. This works, but I was given this code with no explanation of how it was dervied. Can somene breakdown the code so I can add more code for different PGN numbers. Looking to add Charge Air Temp and Transmission Oil Temp.

     
  • spfeif - 2011-08-16

    I can help. The PGN stands for Parameter Group Number. When you look up the PGN in the J1939 standard it will tell you which SPN Suspect Parameter Number that are in the Group number and where they are located in the CAN frame. You then look up the SPN number in the J1939 standard and it will tell you the data type, units etc of the SPN. It is all defined in the J1939-71 "Surface Vehicle recommended practice".

    What you were given is the 29 bit header 16#18FEEE00. It is broken down like this:

    18 = some reserve bits and the Priority in this case the priority is 6.
    FE = PDU format code (PF)
    EE = PDU specific code (PS)
    00 = Source Address in this case 00 is always the engine. Source address are defined in the J1939 standard as well

    To decode the PGN = 16#FEEE = 65262 = Engine Temperature 1

    the transmission rate of this can frame is every 1sec and has 8 data byte

    The data is the following:
    Byte1 = Engine Coolant temperature SPN 110
    Byte2 = Engine Fuel temperature 1 SPN 174
    Byte3-4 = Engine Oil temperature 1 SPN 175
    Byte5-6 = Engine TurboCharger Oil temperature SPN 176
    Byte7 = Engine Intercooler temperature SPN 52
    Byte8 = Engine Intercooler thermostat opening SPN 1134

    Let me know what you need and I can send you more info offline.

    The transmission oil temperature is

    PGN 65272 = Tramsmission Fluids 1

    data rate = 1sec priority 6 data bytes 8
    Byte1 = Clutch pressure SPN 123
    Byte2 = Trans oil level SPN 124
    Byte3 = Trans filter differential pressure SPN 126
    Byte4 = trans Oil pressure SPN 127
    Byte5-6 = trans Oil temperature SPN 177
    Byte7 = trans oil level high / low SPN 3027
    byte8.1 = trans oil level countdown timer SPN 3028
    byte8.5 = trans oil level measurement status SPN 3026

    One problem is if the engine is not connect to the transmission the data may be comming directly from an ECU on the J1939 from the transmission itself which means the address portion of the CAN frame will not be 00.

     
  • asifdip - 2011-09-07

    Hi,
    I am completely new in CodeSys 2.3 and I am using PCI-card (Peak-system) with Codesys RTE as master node.I have an actuator motor canopen DSP402.But I dont understand how I start to configure canopen Node DSP 402 actuator in codeSys.I am already save EDS file in
    C:\Program Files\Common Files\CAA-Targets\3S\PLCConf_NTRT
    and now it is showing in PLC configuration under CANmaster-in append Subelemnt (EncoTrive(EDS)). But i cant understand how i go forward.I do not get that I have to configure first send PDO or Receive PDO or SDO.
    I know I am in very initial stage of canopen configuration but unfortunate I am new .
    Can you tell me how can I go step by step to configure DSP402 node?

    Thanks,
    Asif

     
  • spfeif - 2011-09-07

    Please place this in another thread this thread is for J1939 not CANopen / CoDeSys / DSP402. I can help if you send me a link in another thread.

     

Log in to post a comment.