anhand vorhandenen feldern als zugehörig zu KLS-controllern identifiziert, aus ACAduserEnglishSetting.java ab zeile 323 kopiert: Calibration_Value_Array_KBLS0106 = strArr; strArr = new String[80][]; strArr[0] = new String[]{"000", "2", "7", "a", "Module Name", "0", "0", "1", "0", "Module Name,No range"}; strArr[1] = new String[]{"008", "2", "3", "a", "User Name", "0", "0", "1", "0", "User Name,the abbreviation of user,ASCII"}; strArr[2] = new String[]{"012", "2", "3", "h", "Serial Number", "0", "0", "1", "0", "Serial Number,No range"}; strArr[3] = new String[]{"016", "2", "3", "h", "Software Version", "0", "0", "1", "0", "Software Version,No range"}; strArr[4] = new String[]{"020", "0", "0", "uo", "Startup H-Pedel", "0", "1", "1", "1", "0:disable,1:enable,Startup H-Pedel Function,if throttle has effective signal when power-on,disable output and report this fault."}; strArr[5] = new String[]{"020", "0", "1", "uo", "Brake H-Pedel", "0", "1", "1", "1", "0:disable,1:enable,Brake H-Pedel,if throttle has effective signal when release brake,disable output and report this fault."}; strArr[6] = new String[]{"020", "0", "2", "uo", "NTL H-Pedel", "0", "1", "1", "1", "0:disable,1:enable,Neutral H-Pedel,if throttle has effective signal from N to Drive,disable output and report this fault."}; strArr[7] = new String[]{"020", "0", "4", "uo", "Joystick", "0", "1", "1", "1", "0:disable,1:enable, Joystick throttle."}; strArr[8] = new String[]{"020", "0", "6", "uo", "Three Gears Switch", "0", "1", "1", "1", "0:disable,1:enable,if enable Three Gears with Forward,Rev,NTL,if disable no NTL."}; strArr[9] = new String[]{"020", "0", "7", "uo", "Boost", "0", "1", "1", "1", "0:disable,1:enable,if enable Max Current Output when power on the Boost switch."}; strArr[10] = new String[]{"021", "0", "0", "uo", "Foot Switch", "0", "1", "1", "1", "0:disable,1:enable,if switch on,the throttle pedal is effective."}; strArr[11] = new String[]{"021", "0", "1", "uo", "SW Level", "0", "1", "1", "0", "0:SW Low-Level effective;1:SW High-Level effective"}; strArr[12] = new String[]{"021", "0", "3", "uo", "0,HIM;1,KIM", "0", "1", "1", "0", "Controller Type,0:HIM;1:KIM."}; strArr[13] = new String[]{"021", "0", "4", "uo", "Cruise", "0", "1", "1", "1", "0:disable,1:enable, The throttle to keep 3 seconds into the cruise state."}; strArr[14] = new String[]{"021", "0", "7", "uo", "Change Dir", "0", "1", "1", "1", "0:disable,1:enable,If the direction of Motor is different with correct direction,you can set the bit."}; strArr[15] = new String[]{"023", "2", "1", "uo", "Controller Volt", "0", "612", "1", "0", "Controller Voltage,Range 0~612"}; strArr[16] = new String[]{"025", "2", "1", "uo", "Low Volt", "0", "1000", "1", "1", "The min Voltage value of reporting this fault"}; strArr[17] = new String[]{"027", "2", "1", "uo", "Over Volt", "0", "1000", "1", "1", "The max Voltage value of reporting this fault"}; strArr[18] = new String[]{"029", "2", "1", "uo", "Hall Galvan Rate", "0", "1000", "1", "0", "Hall Galvanometer Rate,Range 0~1000A"}; strArr[19] = new String[]{"031", "2", "1", "uo", "PhaseCurr Max AD", "0", "1000", "1", "0", "The max Voltage value of reporting this fault"}; strArr[20] = new String[]{"037", "1", "0", "uo", "Current Percent", "20", "100", "1", "1", "Current Percent,Range 20~100%"}; strArr[21] = new String[]{"038", "1", "0", "uo", "Bat Current Limit", "20", "100", "1", "1", "Battry Current Limit,Limit the max value of Battry Current,Range 20~100"}; strArr[22] = new String[]{"056", "1", "0", "uo", "Motor Identify En", "0", "255", "1", "1", "Identify Motor Parameters Enable Flag,0x55 is disable,0xAA is enable"}; strArr[23] = new String[]{"092", "1", "0", "uo", "TPS Low", "0", "20", "1", "1", "If lower than the value,report the fault of TPS Type,Range 0~20%"}; strArr[24] = new String[]{"093", "1", "0", "uo", "TPS High", "80", "100", "1", "1", "If hifher than the value,report the fault of TPS Type,Range 80~100%"}; strArr[25] = new String[]{"095", "1", "0", "uo", "TPS Type", "0", "3", "1", "1", "TPS Type,0:None,1:0-5V,2:1-4V,3:0-5K"}; strArr[26] = new String[]{"096", "1", "0", "uo", "TPS Dead Low", "0", "80", "1", "1", "TPS Dead Zone Low,Range 0~40%."}; strArr[27] = new String[]{"097", "1", "0", "uo", "TPS Dead High", "120", "200", "1", "1", "TPS Dead Zone High,Range 60~100%."}; strArr[28] = new String[]{"098", "1", "0", "uo", "TPS Forw MAP", "0", "100", "1", "1", "TPS Forward MAP,Range 0~100,max TPS per when TPS is 50% Forward,determine Curvity."}; strArr[29] = new String[]{"099", "1", "0", "uo", "TPS Rev MAP", "0", "100", "1", "1", "TPS Reversed MAP,Range 0~100,max TPS per when TPS is 50% Reversed,determine Curvity."}; strArr[30] = new String[]{"100", "1", "0", "uo", "Brake Type", "0", "2", "1", "1", "Brake Type,0:NO,1:0-5V,2:Hall active pedal"}; strArr[31] = new String[]{"101", "1", "1", "uo", "Brake Dead Low", "5", "40", "1", "1", "Brake Dead Zone Low.Range 5~40"}; strArr[32] = new String[]{"102", "1", "0", "uo", "Brake Dead High", "60", "95", "1", "1", "Brake Dead Zone High.Range 60~95"}; strArr[33] = new String[]{"105", "2", "1", "uo", "Max Output Fre", "50", "1000", "1", "1", "Max Output Frequency,Range 50~1000Hz"}; strArr[34] = new String[]{"107", "2", "1", "uo", "Max Speed", "0", "15000", "1", "1", "Max speed,Range 0~15000rpm"}; strArr[35] = new String[]{"109", "1", "0", "uo", "Max Forw Speed%", "30", "100", "1", "1", "Forward Speed Limit,Range 30~100"}; strArr[36] = new String[]{"110", "1", "0", "uo", "Max Rev Speed%", "20", "100", "1", "1", "Reverse Speed Limit,Range 20~100"}; strArr[37] = new String[]{"111", "1", "0", "uo", "MidSpeed Forw Speed", "30", "100", "1", "1", "MidSpeed Forward Speed Limit percent.Range 30~100。"}; strArr[38] = new String[]{"112", "1", "0", "uo", "MidSpeed Rev Speed", "20", "100", "1", "1", "MidSpeed Rev Speed Limit percent.Range 20~100。"}; strArr[39] = new String[]{"113", "1", "0", "uo", "LowSpeed Forw Speed", "0", "255", "1", "1", "LowSpeed Forw Speed,Range 0~255"}; strArr[40] = new String[]{"114", "1", "0", "uo", "LowSpeed Rev Speed", "0", "255", "1", "1", "LowSpeed Rev Speed。Range 0~255"}; strArr[41] = new String[]{"126", "1", "0", "uo", "Three Speed", "0", "2", "1", "1", "0:Normal;1:Two Speed;2:Three Speed"}; strArr[42] = new String[]{"127", "1", "0", "uo", "PWM frequency", "10", "20", "1", "1", "PWM modulation frequency,10:10KHz, 20:20KHz"}; strArr[43] = new String[]{"226", "1", "0", "uo", "BRK_AD Brk %#", "0", "50", "1", "1", "BRK_AD Braking Percent.Range 0~50"}; strArr[44] = new String[]{"230", "1", "0", "uo", "RLS_TPS Brk Per%", "0", "50", "1", "1", "RLS_TPS Braking Percent,the per of Rleasing Pedel BRK in max BRK,Range 0~50"}; strArr[45] = new String[]{"231", "1", "0", "uo", "NTL Brk Per%", "0", "50", "1", "1", "NTL Braking Percent,the per of Neutral Braking in max BRK,Range 0~50"}; strArr[46] = new String[]{"239", "1", "0", "uo", "Accel Time", "0", "250", "1", "1", "Accel Time,the time of TPS Torque from 0 to max,0.1~25.0s,accuracy 0.1s"}; strArr[47] = new String[]{"240", "1", "0", "uo", "Accel Release Time", "0", "250", "1", "1", "Accel Release Time,the time of TPS Torque form max to 0,0.1~25.0s,accuracy 0.1s"}; strArr[48] = new String[]{"241", "1", "0", "uo", "Accel Release Time", "0", "250", "1", "1", "Brake Time,Accel Time,the time of Brake Torque from 0 to max,0.1~25.0s,accuracy 0.1s"}; strArr[49] = new String[]{"242", "1", "0", "uo", "Brake Release Time", "0", "250", "1", "1", "Brake Release Time,the time of Brake Torque form max to 0,0.1~25.0s,accuracy 0.1s"}; strArr[50] = new String[]{"243", "1", "0", "uo", "BRK_SW Brk Per%", "0", "100", "1", "1", "BRK_SW Braking Percent,the per of BRK_SW in max braking,Range 0~100"}; strArr[51] = new String[]{"244", "1", "0", "uo", "Change Dir Brk%", "0", "50", "1", "1", "Change direction Braking Percent,the per of 'Change direction Brk' in max braking."}; strArr[52] = new String[]{"246", "2", "1", "uo", "IVT BRK Max", "0", "10000", "1", "1", "IVT BRK Max Motor RPM.Range 0~10000"}; strArr[53] = new String[]{"248", "2", "1", "uo", "IVT BRK Min", "0", "5000", "1", "1", "IVT BRK Min Motor RPM.Range 0~5000"}; strArr[54] = new String[]{"250", "2", "1", "uo", "Torque Speed Kp", "0", "32767", "1", "1", "Speed Percent Kp in Torque mode,Range 0~32767,actually used 0~3.9999"}; strArr[55] = new String[]{"252", "2", "1", "uo", "Torque Speed Ki", "0", "32767", "1", "1", "Speed Integral Ki in Torque mode,Range 0~32767,actually used 0~3.9999"}; strArr[56] = new String[]{"254", "2", "1", "uo", "Speed Err Limit", "50", "4095", "1", "1", "Speed Error Limit in Torque mode,Range 50~4095"}; strArr[57] = new String[]{"258", "2", "1", "uo", "Motor Normal Curr", "0", "1000", "1", "1", "Motor Nominal Current,Range 0~1000A"}; strArr[58] = new String[]{"268", "1", "0", "uo", "Motor Poles", "2", "32", "1", "1", "Motor Poles,The pole number*2,Range 2~32"}; strArr[59] = new String[]{"269", "1", "0", "uo", "Speed Sensor Type", "0", "4", "1", "1", "Speed Sensor Type,0:NO,1:Quadrature encoder,2:Hall,3:Resolver"}; strArr[60] = new String[]{"272", "1", "0", "uo", "Resolver Poles", "2", "32", "1", "1", "Resolver Poles,he pole number*2,Range 2~32"}; strArr[61] = new String[]{"318", "1", "0", "uo", "Motor Temp Sersor", "0", "2", "1", "1", "Motor Temp Sersor,0:None;1:KTY83-122;2:KTY84-130 or 150.2:KTY83-122"}; strArr[62] = new String[]{"319", "1", "0", "uo", "High Temp Cut℃", "60", "170", "1", "1", "Motor High Temp Cut Temp,nominal value 130℃,Range 60~170"}; strArr[63] = new String[]{"320", "1", "0", "uo", "High Temp Resume", "60", "170", "1", "1", "Motor High Temp Resume Temp,nominal value 110℃,Range 60~170"}; strArr[64] = new String[]{"332", "2", "1", "uo", "Line Hall Zero", "1", "1023", "1", "1", "Linear hall sine and cosine signal of zero voltage value,0~1024 is equal to 0~5V."}; strArr[65] = new String[]{"334", "2", "1", "uo", "Line Hall amplitude", "1", "1023", "1", "1", "Linear hall signal amplitude of the sine and cosine,>1.25 times and <0.75 times is a mistake,0~1024 is equal to 0~5V."}; strArr[66] = new String[]{"336", "2", "1", "uo", "Line Hall High Err", "1", "1023", "1", "1", "Linear hall signal is greater than this value is an error,0~1024 is equal to 0~5V."}; strArr[67] = new String[]{"338", "2", "1", "uo", "Line Hall Low Err", "1", "1023", "1", "1", "Linear hall signal is less than this value is an error,0~1024 is equal to 0~5V."}; strArr[68] = new String[]{"340", "1", "0", "uo", "Exchange Phase AB", "0", "255", "1", "0", "Exchange Phase AB,0 is disable,1 is enable"}; strArr[69] = new String[]{"341", "2", "1", "uo", "Resolver Start Angle", "0", "65535", "1", "0", "Resolver Start Angle.Range 0~65535"}; strArr[70] = new String[]{"343", "1", "0", "uo", "0° Hall", "0", "255", "1", "0", "0° Hall.Hall BC"}; strArr[71] = new String[]{"344", "1", "0", "uo", "60° Hall", "0", "255", "1", "0", "60° Hall.Hall BA"}; strArr[72] = new String[]{"345", "1", "0", "uo", "120° Hall", "0", "255", "1", "0", "120° Hall.Hall CA"}; strArr[73] = new String[]{"346", "1", "0", "uo", "180° Hall", "0", "255", "1", "0", "180° Hall.Hall CB"}; strArr[74] = new String[]{"347", "1", "0", "uo", "240° Hall", "0", "255", "1", "0", "240° Hall.Hall AB"}; strArr[75] = new String[]{"348", "1", "0", "uo", "300° Hall", "0", "255", "1", "0", "300° Hall.Hall AC"}; strArr[76] = new String[]{"349", "1", "0", "uo", "Forw A Rise Hall", "0", "255", "1", "0", "Forw A Rise Hall"}; strArr[77] = new String[]{"350", "1", "0", "uo", "Forw A Fall Hall", "0", "255", "1", "0", "Forw A Fall Hall"}; strArr[78] = new String[]{"351", "1", "0", "uo", "Rev A Rise Hall", "0", "255", "1", "0", "Rev A Rise Hall"}; strArr[79] = new String[]{"352", "1", "0", "uo", "Rev A Fall Hall", "0", "255", "1", "0", "Rev A Fall Hall"}; monitor-werte, ab zeile 437: strArr = new String[19][]; strArr[0] = new String[]{"016", "2", "1", "h", "Error Status", "0", "65535", "1", "0", "错误状态,实时显示"}; strArr[1] = new String[]{"000", "1", "0", "uo", "TPS Pedel", "0", "255", "1", "0", "油门AD,Range 0~255 对应0~5V"}; strArr[2] = new String[]{"001", "1", "0", "uo", "Brake Pedel", "0", "255", "1", "0", "刹车AD,Range 0~255 对应0~5V"}; strArr[3] = new String[]{"002", "1", "0", "uo", "Brake Switch", "0", "2", "1", "0", "刹车开关状态,Range 0或1"}; strArr[4] = new String[]{"003", "1", "0", "uo", "Foot Switch", "0", "2", "1", "0", "油门安全开关状态,Range 0或1"}; strArr[5] = new String[]{"004", "1", "0", "uo", "Forward Switch", "0", "2", "1", "0", "前进开关状态,Range 0或1"}; strArr[6] = new String[]{"005", "1", "0", "uo", "Reversed", "0", "2", "1", "0", "后退开关状态,Range 0或1"}; strArr[7] = new String[]{"006", "1", "0", "uo", "Hall A", "0", "2", "1", "0", "HallA,编码器A,Range 0或1"}; strArr[8] = new String[]{"007", "1", "0", "uo", "Hall B", "0", "2", "1", "0", "HallB,编码器B,Range 0或1"}; strArr[9] = new String[]{"008", "1", "0", "uo", "Hall C", "0", "2", "1", "0", "HallC,Range 0或1"}; strArr[10] = new String[]{"009", "1", "0", "uo", "B+ Volt", "0", "200", "1", "0", "电池实际电压,Range 0~200V"}; strArr[11] = new String[]{"010", "1", "0", "uo", "Motor Temp", "0", "150", "1", "0", "电机温度,Range 0~150℃"}; strArr[12] = new String[]{"011", "1", "0", "uo", "Controller Temp", "0", "150", "1", "0", "控制器温度,Range 0~150℃"}; strArr[13] = new String[]{"012", "1", "0", "uo", "Setting Dir", "0", "2", "1", "0", "给定运行方向,0前进,1后退"}; strArr[14] = new String[]{"013", "1", "0", "uo", "Actual Dir", "0", "2", "1", "0", "实际运行方向,0前进,1后退"}; strArr[15] = new String[]{"014", "1", "0", "uo", "Brake Switch2", "0", "2", "1", "0", "刹车开关2状态,Range 0或1"}; # letzer wert ohne offset: Low Speed (status wird auch dann im monitor angezeigt, wenn der controller nicht auf berücksichtigung des pins konfiguriert ist) strArr[16] = new String[]{"015", "1", "0", "uo", "Low Speed", "0", "2", "1", "0", "刹车开关2状态,Range 0或1"}; # motor speed: auf position 20 (multiplikator) und 21 strArr[17] = new String[]{"018", "2", "1", "uo", "Motor Speed", "0", "10000", "1", "0", "电机速度,Range 0~10000"}; # phasenströme < 255 ampere getestet auf position 22 (multiplikator) und 23: strArr[18] = new String[]{"020", "2", "1", "uo", "Phase Current", "0", "800", "1", "0", "相电流有效值,Range 0~800"}; position 0, 17 und 34: anzahl gesendete bytes, bisher immer 16 position 18 und 19: error status: over volt: pos 18 = 000 , pos 19 = 002 low volt: pos 18 = 000 , pos 19 = 004 locking: pos 18 = 000 , pos 19 = 016 hall sensor error: pos 18 = 008 , pos 19 = 000 motor overtemp error: pos 18 = 064 , pos 19 = 000 fehlercodes, ab zeile 472: sieht sehr nach einem bitmuster-status aus: strArr = new String[16][]; strArr[0] = new String[]{"000", "Identify Err"}; 1 (?) strArr[1] = new String[]{"001", "Over Volt"}; 2 strArr[2] = new String[]{"002", "Low Volt"}; 4 strArr[3] = new String[]{"003", "Reserved"}; 8 strArr[4] = new String[]{"004", "Locking"}; 16 strArr[5] = new String[]{"005", "V+ Err"}; 32 strArr[6] = new String[]{"006", "Overtemp"}; 64 strArr[7] = new String[]{"007", "High Pedel"}; 128 strArr[8] = new String[]{"008", "Reserved"}; 256 strArr[9] = new String[]{"009", "Reset Error"}; 512 strArr[10] = new String[]{"010", "Pedel Error"}; 1024 strArr[11] = new String[]{"011", "Hall Sensor Error"}; 2048 strArr[12] = new String[]{"012", "Reserved"}; 4096 strArr[13] = new String[]{"013", "Emergency Rev Err"}; 8192 strArr[14] = new String[]{"014", "Motor OverTemp Err"}; 16384 strArr[15] = new String[]{"015", "Current Meter Err"}; 32768 controller temperature offset: gehäusetemperatur_C ausgelesene_temperatur_C 25 16 20 9 configdump: beispiel: WRITE | 242 003 064 016 000 069 242 : fix 003 : wert 064: wert 016 : fix 000 : wert 069 : checksumme: summe beider werte (vermutlich incl. modulo 256) + fix 2 (!?)