background image

UM-0086-A2

 

CANgate User’s Manual 

Page 32 

  7 RECVJ 1 65226 9.8 9.6 FORMAT "FMI: %x " 
  8 RECVJ 1 65226 10.7 10.1 FORMAT "Count: %x\n" 
 END 

When polled using 

RP 1 8

 this might return: 

 15FF

 

5E000401

 

6F000201

 

5B000401

 

61000301

 

6C000401 

 

(lamp)(DTC 1)        (DTC 2)       (DTC 3)        (DTC 4)       (DTC 5)

 

 MIL: 

  SPN: 752  FMI: 4   Count: 1 
  SPN: 888  FMI: 2   Count: 1 

In this case five fault codes are active (spaces have been manually inserted in the hex data for clarity). 
 
If CANgate is connected to a data logger then you would typically dispense with the decoding and just return the hex data, 
eg: 
 

BEGIN 

  1 RQSTJ 1 65230 1 1  ' number of fault codes 
  2 RECVJ 1 65226      ' fault code data 

 END 

The DT80 would then be programmed to regularly poll the slots using 

RP 1 2

, then parse the returned hex string and log 

individual fault codes. 

Using CANgate with a DT8x Data Logger 

CANgate can be readily interfaced to a 

DT80

 series data logger. The supplied host port RS232 cable plugs directly into the 

DT80's 

serial sensor

 port. 

The 

DT80's 

1SERIAL

 channel type can then be used to send commands to the CANgate host port and interpret the 

responses. Refer to the 

DT80 User's Manual

 for more information on programming the logger. 

The logger program will generally consist of: 

 

a number of immediate schedule 

1SERIAL

 commands (channel definitions). These are executed once only and 

serve to configure CANgate's operating parameters and define the required 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

) then parse the response 

and either log it directly or assign it to a channel variable (CV). As well as polling the pre-defined memory slots, these 
commands may also set up a Slot 0 request then poll it and interpret the response. 

A typical program structure would be: 
 

BEGIN"CANNY" 

  ' ***** Immediate Schedule (execute once only) ***** 

  ' Initialise DT80 port that CANgate is connected to 

 PS=RS232,57600,8,N,1,HWFC 

  ' Initialise CANgate settings 
 1SERIAL("{VERBOSE 

OFF^M}",W) 

  1SERIAL("{CONNECT 1 250^M}",W) 

 1SERIAL("{GPSBAUD 

9600^M}",W) 

  ' define CANgate memory slots 

 1SERIAL("{BEGIN^M}",W) 
  1SERIAL("{1 RECVJ 1 61444 4 5 256 3 FORMAT .125^M}",W) 
  1SERIAL("{2 GPS \034GPGLL\034 1 D^M}",W) 
 1SERIAL("{END^M}",W) 
 
  ' ***** "A" Schedule (execute once per second) ******* 

 RA1S 
 1SERIAL("\e{RP 

1^M}%f","EngSpd~RPM") 

 1SERIAL("\e{RP 

2^M}%f","Lat-Deg~Degrees") 

  1SERIAL("\e{RQSTJ 1 65256 3 4 FORMAT 0.00390625; RP^M}%f","NavSpd~km/h") 
 LOGON 
 END 

Escaping Control Characters 

A frequent source of confusion when using 

DeTransfer

 (dataTaker terminal software), the DT80 serial sensor control 

language, and CANgate, is the process of "escaping" control characters. Each of these pieces of software parses input text 
strings and performs certain actions when particular characters are seen. For example, CANgate uses the backslash 
character to introduce special character sequences, eg 

\n

 is used to indicate that a CR, LF character sequence should be 

inserted into a format string, or 

\003

 for an ETX character. 

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: