background image

UM-0086-A2

 

CANgate User’s Manual 

Page 28 

Notes and Examples 

Extracting and Formatting Bit Fields 

In the following example two 16-bit fields plus four 4-bit fields are packed into the CAN message with identifier 0x118. The 
most recent value for each of these fields will be returned when polled by the host. 

  CONNECT 1 500   'Enable CAN port 1 at 500kbps 

 BEGIN

 

 

12 RECV 1 0x118 1 2 FORMAT "P1:%d\n" 

  13 RECV 1 0x118 3 4 
  14 RECV 1 0x118 5.8 5.5 

  15 RECV 1 0x118 5.4 5.1 FORMAT 10 -40 
  16 RECV 1 0x118 6.8 6.5 FORMAT .25 "Gibble Freq. %6.3f Hz\n" 

  17 RECV 1 0x118 6.4 6.1 
 END 

So if the last message that CANgate received (with CAN ID 0x118) happened to have the following 64-bit data field: 
 

019266401A9F0000 

and the above six memory slots were polled, for example using the command: 
 

RP 12 17 

then the following data would be returned: 
 

P1:402                  

(bytes 1-2 = 0x0192 = 402)

 

  6640                    

(bytes 3-4 = 0x6640)

 

  01                      

(byte 5 = 0x1A, bits 8-5 = 0x1)

 

  60.00                   

(byte 5 = 0x1A, bits 4-1 = 0xA, scaled by 10 with offset -40 = 60)

 

  Gibble Freq.  2.250 Hz  

(byte 6 = 0x9F, bits 8-5 = 0x9, scaled by 0.25 = 2.25)

 

  0F                      

(byte 6 = 0x9F, bits 4-1 = 0xF) 

In this case three of the memory slots use the 

FORMAT

 specifier to return their values in scaled engineering units, rather than 

raw hexadecimal. Slot #15 uses the default format string of 

"%f\n"

, ie. floating point, 2 decimal places, followed by CRLF. 

J1939 PGNs & SPNs 

Broadcast PGNs 

J1939 based systems typically have a multitude of SPNs (Suspect Parameter Numbers), each representing an individual 
measured quantity or status. A group of related SPNs will be broadcast over the CAN network under a particular Parameter 
Group Number (PGN), which is specified as part of the 29 bit identifier.  
Each 29 bit identifier carries with it one 64 bit packet of CAN data. Some PGNs with a data length larger the 64 bits require 
several packets to send them. CANgate automatically uses the J1939 transport protocol to send or receive large PGNs. 
Refer to 

RQSTJ – Request J1939 Data

 

(P20)

 or the SAE J1939/21 (Data Link Layer) standard for a more detailed description 

on PGN numbers and how they are encoded into CAN identifiers. 
An example of a J1939 SPN would be “Engine Speed”. In order to capture engine speed using CANgate, it is first necessary 
to determine the PGN which contains this parameter. This can be found in SAE J1939/71 (Vehicle Application Layer), which 
specifies: 

 

Electronic Engine Controller #1 

 

Update rate: 

Engine speed dependent 

 

Data length: 

8 bytes 

 Data 

page: 

 PDU 

format:  240 

 PDU 

specific:  4 

 Default 

priority 

3

 

 

Parameter Group Number:  

61,444

    (0x00F004) 

 Byte: 

Status_EEC1 

 

 

Bit: 8-5 

Not defined 

 

 

Bit: 4-1 

Engine/retarder torque mode 

 

Byte: 2 

Driver’s demand engine – percent torque 

 

Byte: 3 

Actual engine – percent torque 

 

Byte: 4-5 

Engine Speed 

 

Byte: 6-8 

Not defined 

 
The precise format of each SPN is also specified in SAE J1939/71: 

 

Engine Speed 

 

Data Length: 

2 bytes 

 Resolution: 

0.125 rpm/bit gain, 0 rpm offset

 

Summary of Contents for CANgate

Page 1: ...Intelligent Data Logging Products CANgate User s Manual A guide to programming wiring communications www datataker com...

Page 2: ...EPT AS EXPRESSLY PROVIDED IN THIS WARRANTY STATEMENT THERMO FISHER DISCLAIMS ALL OTHER WARRANTIES WHETHER EXPRESS OR IMPLIED ORAL OR WRITTEN WITH RESPECT TO THE INSTRUMENTS INCLUDING WITHOUT LIMITATIO...

Page 3: ...Summary 15 Command Reference 16 Commands and Parameters 16 Slot Definition Commands 16 RECV Receive Standard ID CAN Messages 16 RECVE Receive Extended ID CAN Messages 17 SEND Transmit Standard ID CAN...

Page 4: ...minal Control 30 KWP2000 OBD II ISO 14230 Requests 30 Reading Fault Codes 31 OBD II 31 J1939 31 Using CANgate with a DT8x Data Logger 32 Escaping Control Characters 32 Serial Sensor Direct Mode 33 Usi...

Page 5: ...N ports are hot pluggable and all CANgate settings are saved in non volatile flash memory so that the unit will resume its configured tasks following a power interruption Typical CANgate application A...

Page 6: ...Unit GPS Global Positioning System ID Identifier ISO International Standards Organisation NMEA National Marine Electronics Association OBD On Board Diagnostics PGN Parameter Group Number PID Parameter...

Page 7: ...ows Pin Signal Function 1 5V out 5Vdc output 200mA max 2 GND Ground 3 CAN1 HI CAN port 1 high 4 GPS RXD GPS port Receive Data input 5 CAN1 LO CAN port 1 low 6 CAN2 HI CAN port 2 high 7 CAN2 LO CAN por...

Page 8: ...agram Note By default the CANgate host port operates at a high baud rate 57600 baud At this speed the maximum cable length for the host computer or data logger connection is approximately 5 metres ass...

Page 9: ...ysical layer as defined in ISO 11898 2 SAE J2284 This is by far the most widely used physical layer The important characteristics of this standard are two wire 5V differential signalling bit rate 10kb...

Page 10: ...then an external termination resistor may be required Direct connection to a single ECU In this case a short 1m cable is used so the two 120 resistors are combined into one 60 resistor If a long cabl...

Page 11: ...ff off off x x x x off 38400 off off ON x x x x off 19200 off ON off x x x x off 9600 off ON ON x x x x off Host port baud rate 115200 ON off off x x x x off hardware x x x off x x x off Host port flo...

Page 12: ...sive and active For RECV RECVE RECVJ and GPS slots CANgate passively receives all matching messages then returns the last known data value either at a fixed rate or when requested by the host data log...

Page 13: ...ing Commands CANgate memory slots and other settings are configured by sending textual commands via the host port The available commands are detailed in the Command Reference P16 If CANgate is directl...

Page 14: ...cters after the apostrophe up until the end of the line will be ignored Run Mode and Program Mode CANgate has two operational modes Run Mode is the normal mode of operation Following power up CANgate...

Page 15: ...ddr sampleRate FORMAT options slot RECVJ CANport PGN startByte bit endByte bit ECUaddr priority sampleRate FORMAT options slot RQSTJ CANport PGN startByte bit endByte bit ECUaddr priority sampleRate F...

Page 16: ...ot specified then 8 is assumed If bit is not specified then 1 is assumed sampleRate is the rate at which to return values to the host integer in ms must be multiple of 100ms May also be ALL in which c...

Page 17: ...ed connect the two CAN ports together and set up the RECV slot on the other port Examples SEND 2 0x302 1122FF07 RP This will immediately send a CAN message on CAN port 2 The message s identifier will...

Page 18: ...negative response and indicates that an invalid request was made All messages are transmitted using the ISO 15765 network layer protocol This protocol fragments long messages into multiple CAN frames...

Page 19: ...slot That is it listens for CAN messages with a particular extended identifier extracts the required data field then returns it to the host when polled or at regular intervals or after every message...

Page 20: ...ter D or M or N default N If N normal is specified then the indicated field is returned as is Otherwise the indicated field and the next field are interpreted as a latitude or longitude value with for...

Page 21: ...specifies the data type integer floating point etc and possibly some other formatting details If no conversion specifier is present which is the default the data value will be output in raw hexadecim...

Page 22: ...that the last matching CAN message had the data 01234567AABBCCDD RECV 1 0x100 1 2 returns 0123 CR LF RECV 1 0x100 1 2 FORMAT 100 returns 29100 00 CR LF 0123 hex scaled by 100 RECV 1 0x100 1 2 FORMAT r...

Page 23: ...of responses may not match the order of the memory slots Examples RP 1 150 Poll all defined memory slots RQSTJ 2 65226 3 6 FORMAT f n RP SEND 1 0x142 112233 RP The RP command is often appended when d...

Page 24: ...time all incoming CAN messages on the specified port are received For each distinct CAN identifier that was received the following information is displayed identifier type standard 11 bit STD or exte...

Page 25: ...cified both CAN ports are measured This command measures the traffic load on one or both CAN ports and reports it as a percentage of the theoretical maximum for the bit rate in use It should be noted...

Page 26: ...es 2 8 end Flags c0820000 Sample 0 ms 1 RECV CAN1 RxID 0x0001 RxBytes 1 8 1 1 Flags c0020000 Sample 0 ms 2 RECV CAN1 RxID 0x0002 RxBytes 1 8 1 1 Flags c0020000 Sample 0 ms 3 RECV CAN1 RxID 0x0003 RxBy...

Page 27: ...s sent by CANgate will be displayed eg CAN2 TX 18EC00FF 132C0007 FFEBFE00 which shows that a message has been sent on CAN2 with identifier 0x18EC00FF and the indicated data value if bit 1 1 then all C...

Page 28: ...adcast PGNs J1939 based systems typically have a multitude of SPNs Suspect Parameter Numbers each representing an individual measured quantity or status A group of related SPNs will be broadcast over...

Page 29: ...d causes the memory slot to be immediately polled which will cause the request to be immediately sent Note that it doesn t make sense to poll a RECVJ slot immediately after defining it because at that...

Page 30: ...at any one time Terminal Control The following example is intended to be used with an ANSI VT100 terminal or emulator Two data values are extracted from received CAN messages with ID 0x212 and one fro...

Page 31: ...eg RQST 1 0101 RP 81066060 The most significant 8 bits 81 of the 32 bit result contains the most pertinent information In this case b31 is set which indicates that the Malfunction Indicator Light MIL...

Page 32: ...ed memory slots a number of 1SERIAL commands within one or more logger schedules typically one 1SERIAL command per parameter of interest These commands will normally send a poll command RP memslot the...

Page 33: ...logger connection from now on will be ignored by the logger and will instead be forwarded to the serial sensor port ie to CANgate Furthermore all normal text output from the logger eg real time data...

Page 34: ...also flash during the snoop If the CAN LED gives a brief flash at two second intervals then this may indicate that bus errors are occurring causing CANgate to disconnect from the bus then retry every...

Page 35: ...pear in the received data stream which will probably disrupt the parsing of the returned data With the logger in pass through mode verify that CANgate is configured for normal operation with no extran...

Page 36: ...message returned if in verbose mode CAN1 BUS ERROR DISCONNECTED The most common cause for this is an incorrectly configured bit rate although it may also be caused by noise or an intermittent electri...

Page 37: ...version 6 Type RESET to clear any existing CANgate configuration 7 Type VXVX All CANgate LEDs will turn on to indicate that the bootloader is active Some random characters may be returned as the bootl...

Page 38: ...1 stop bit Flow Control Not supported Protocols NMEA 0183 Host Data Logger Computer Interface 1 RS232 port Port Speeds 9600 19200 38400 57600 default 115200 baud Serial Parameters No parity 8 data bi...

Page 39: ...r Consumption Idle 0 75W 50mA 15V Maximum CANgate only 2 25W 150mA 15V Maximum CANgate external device drawing 200mA from 5V output 3 75W 250mA 15V Physical Construction Anodised aluminium plastic sur...

Page 40: ...ly to a mode 0x01 request The second byte is the PID and the third and subsequent bytes are the actual data value PID hex Data Size bytes Description Scale Offset Units 00 4 PIDs supported b31 0 PIDs...

Page 41: ...e travelled since DTCs cleared 1 0 km 32 2 Evaporative system vapour pressure 0 25 8192 Pa 33 1 Barometric pressure 1 0 kPa abs bytes 1 2 Sensor 1 WR lambda 1 Equivalence ratio 0 0000305 0 34 4 bytes...

Page 42: ...rain B body C chassis or U network For example P0118 Engine Coolant Temperature Circuit High Input P0203 Injector Circuit Malfunction Cylinder 3 U0003 High Speed CAN Communication Bus Open When a DTC...

Reviews: