History of MembersPage/GasEngine/AutoDerivativeSmallGasEngine
Older Newer
2018-02-09 07:45:10 . . . . catv-86-101-250-44.catv.broadband.hu [split page; knock input typo]
2018-02-09 07:05:35 . . . . catv-86-101-250-44.catv.broadband.hu [moving 2nd serial MODBUS notes to separate page]
2018-02-09 06:50:13 . . . . catv-86-101-250-44.catv.broadband.hu [fw date note]
2018-02-09 05:54:36 . . . . catv-86-101-250-44.catv.broadband.hu [1.2.24 fw CompilationTime: 2014-03-13 09:23]
2018-02-08 08:29:58 . . . . 188-143-55-214.pool.digikabel.hu [specs]
2018-02-05 02:03:47 . . . . 188-143-116-225.pool.digikabel.hu [LPG injector Q]
2018-02-05 01:51:50 . . . . 188-143-116-225.pool.digikabel.hu [2nd serial special commands]
2014-04-04 03:19:20 . . . . 195-240-176-40.ip.telfort.nl [added example commands ]
See complete list (40 entries)


Changes by last author:

Added:
See MembersPage/GasEngine/AutoDerivativeSmallGasEngine/ModbusSlave (2nd serial is used for powerplant modbus integration)
Deleted:
2nd RS232 for CRC protected special commands, voltage measured from pin5 (GND) base

* PC side (male DSUB9) pin3=-6.4V

* ECU side (female DSUB9) pin2=-8V

** important: byte stuffing must be disabled in SD card logging

1st RS232TX (EC18/14) (female DSUB9/3)

1st RS232RX (EC18/15) (female DSUB9/2)

GND

2nd RS232TX (EC18/6) (female DSUB9/2)

2nd RS232RX (EC18/12) (female DSUB9/3)

GND EC18/17 (DSUB9/5)

* Modbus RTU 9600-38400(115200?),8n1 recommended, configurable up to 115200,8n1 (8e1 also possible, but rarely used)

* Modbus address configurable (2 in the examples: ALS_deactivation time=0.2 sec means modbus address=2)

Examples:

(02) 06 00 XX VV 00 (CRC CRC)

XX table:

* 0x31 iac forced pw = VV (IAC PWM output)

** example: (02) 06 00 31 40 00 (E9 F6) (0x31 register 0x40 00 = 25%) so VT shows IAC duty = appr 25% if all good (new, special fw needed)

* 0x32 debug.enable_flags = VV

** "mde02" equivalent covers wbo2 sensor heatup before engine start: 02 06 00 32 02 00 29 56

** 02 06 00 32 00 00 28 36 (mde00 equivalent, normal state, switches off the pre-running wbo2 control)

* 0x33 debug.disable_flags = VV

* 0x34 debug.forced_boost_tgt = VV; boost target (2kPa)

* 0x35 lambda target = VV

* 0x36 engine.prohibit_status = VV (00: reenables everything ... 0x42 for IGN_PROHIBIT, 0x41 for INJ_PROHIBIT, 0x50 for FUELPUMP_PROHIBIT)

* other functions that should be available (if not covered by above):

* engine.prohibit_status ... _BV(IGN_PROHIBIT) preferable also: _BV(INJ_PROHIBIT) _BV(STEPPER_PROHIBIT)

* Disable Fuel pump ... see prohibit above

* 0x37 debug.forced ign advance ( * 0.25 deg advance), 0 to disable forced advance

** example set a forced advance of 10 degrees: (02) 06 00 37 28 00 26 37

* 0x38 debug.forced dwell (* 0.064msec unit), 0 to disable forced dwell

** example set a forced dwell of 3.008 msec: (02) 06 00 38 2F 00 14 04

Read (subset or all) runtime vars command

Standard modbus command 03 (Read holding registers) example:

(02) 03 00 XX 00 LL (CRC) XX = index, LL = length in words (max 38)

** response is 2*LL bytes (as in modbus standard), from 2*XX byteoffset. The full set of runtime variables can be read in 1 or multiple queries.

* Nonstandard command example: (02) 44 (00 e3)

** where 02 is modbus addr, and last 2 bytes is CRC. ('D'=0x44 is actual command). This MIGHT CHANGE in future

Register/Address for reading

Eg XX=07 and LL=01 gives the RPM value (byteoffset=14) in big endian format 0..25500 RPM

Byte offsets (for some important values):

* 4 MAP_hi

* 5 MAP_lo

* 6 MAT in Celsius +100C (MAT manifold temp)

* 7 CLT in Celsius +100C (CLT=coolant preferrably measured at warmest point)

* 8 TPS

* 9 vbatt

* 10 egoADC0

** lambda0 = { (egoADC > 211) ? ((8 * egoADC - 1171) /32 /14.7) : (egoADC + 306) / 470 }

** so linear, but different slope from 1.1 lambda. Formula is (egoADC + 306) / 470 for 0..210 and (8 * egoADC - 1171) /32 for 211..254; while 255 is error state

* 11 ego0

* 12 egoADC2

** lambda2= ... see lambda0 above (but 2nd WBO2 not used in this engine anyway)

* 13 corr_warmup

* 14 rpm_hi (RPM=fordulatszám)

* 15 rpm_low

See <VT installdir> /config/vemsTune-v3-1.2.23.ini

* Eg RPM U16 (16 bit) varible at byteoffset 16 (wordaddress=7):

** rpmVHR = scalar, U16, 14, "rpm", 1.000, 0.000

Other:

* 40 latgtADC where 56 is stoich 1.0 lambdatarget according to formula: lambdatarget = { 256/(latgtADC + 200) }

* 23 iac_duty (0-255 means 0-100%) (fojtó parancsolt)

* 22 INTspark sparkadv, spark = { ((INTspark / 2) - 64)}

- EGT1, EGT2

- worst knock value

- relative knock values 0..7

- errors, trigger error (hibák)

- individual power (gyújtás kihagyás)

write:

- base timing ("TDC after trigger" value not changing during operation, set from VemsTune, primary trigger dialog).

- lambda SP (SP ?)

----

Changed:
Knock sensor 1pcs.
1 Knock sensor, only 1 of the knock inputs used (configure accordingly)
Changed:
* EC18/6 and GND
* GND

* EC18/6 (must be a typo ??)

** rather EC18/2 on customer's drawing

** Since EC18/6 is 2nd RS232, see MembersPage/GasEngine/AutoDerivativeSmallGasEngine/ModbusSlave

Deleted:

Files:

* [old vemscfg]

* [newer vemscfg, v3/8792]