Loading…
Loading…
方法名称: perform_tuner_method
方法ID: 0x431A
方法标签: Performance Tuner
方法描述:
- {
- float qa;
- float qb;
- float qc;
- float qd;
- float qe;
- int q;
- int q0;
- int q1;
- int q2;
- int q3;
- char S[3];
- int packet_byte_0;
- int packet_byte_num;
- int num_pts_to_collect;
- int diag_byte;
- int num_tvl_reversals;
- int num_drv_reversals;
- int start_byte;
- int packet_index;
- int TvP;
- int iDvP;
- int flag;
- int num_of_steps;
- int system_state;
- int tuning_state;
- int old_tuning_state;
- int b8;
- int i;
- int bFlag;
- int iTime;
- int iSec;
- float fTravel;
- int iWait;
- int iColVar;
- float fCurrPos1;
- float fCurrPos2;
- float fPosDiff;
- long ids[7];
- long Stp;
- float temp;
- int iTempRamp;
- float fRoundingFactor;
- float fsecPerTick;
- float frampRate;
- float fRemTvl;
- float Tv[150];
- float fDriveSig[150];
- float fTv0;
- float fDriveSig0;
- float Mx;
- float Mn;
- int t;
- float g;
- float v;
- float m;
- float sign;
- float g_bak;
- float v_bak;
- float m_bak;
- float step_size;
- float MaxOvershoot;
- float t80_minus_t10;
- float write_implied_valve_position;
- float local_travel_value;
- float x;
- float y;
- float z;
- float t10;
- float t80;
- float Gs;
- float Ts;
- float fDeadZone;
- char st[3];
- _set_device_status(0xFF,0);
- _set_xmtr_device_status(0xFF,0);
- _set_all_resp_code(1);
- _set_resp_code(8,0);
- _set_no_device(2);
- send(151,S);
- if (_ivar_value(16804) > 1)
- {
- ACKNOWLEDGE(literal_string(1930));
- return;
- }
- ;
- if (!((_ivar_value(16465) & 0x0008) == 0x0008))
- {
- ACKNOWLEDGE(literal_string(2189));
- }
- else
- {
- send_trans(129,34,S);
- if (0x02 == _ivar_value(16509))
- {
- ACKNOWLEDGE(literal_string(2190));
- return;
- }
- send(138,S);
- if ((_ivar_value(16789) & 0x01) > 0)
- {
- ACKNOWLEDGE(literal_string(2191));
- return;
- }
- ;
- send_trans(129,0,S);
- _vassign(16452,16427);
- save_values();
- if (1 == _ivar_value(167))
- {
- ACKNOWLEDGE(literal_string(2180));
- process_abort();
- }
- if (_ivar_value(16427))
- {
- if ((_ivar_value(16465) & 0x01C0) == 0x0100)
- {
- _get_dev_var_value(literal_string(2181),0,16452);
- }
- else
- {
- _get_dev_var_value(literal_string(2182),0,16452);
- }
- save_values();
- if (_ivar_value(16452) > 0)
- {
- ACKNOWLEDGE(literal_string(2183));
- process_abort();
- }
- else
- {
- send_trans(130,6,S);
- }
- }
- send_trans(129,0,S);
- if (1 == _ivar_value(16472) || 5 == _ivar_value(16472))
- {
- if (1 == _ivar_value(16472))
- {
- ACKNOWLEDGE(literal_string(2162));
- }
- else
- {
- ACKNOWLEDGE(literal_string(2163));
- }
- process_abort();
- }
- _add_abort_method(17169);
- DELAY(1,literal_string(2127));
- if (1 - SELECT_FROM_LIST(literal_string(2192),literal_string(2136)))
- {
- i = 0;
- send(138,S);
- if ((_ivar_value(16789) & 0x02) > 0)
- {
- send_trans(142,0,S);
- send_trans(129,29,S);
- send_trans(142,1,S);
- if (0x7FA00000 == _lvar_value(16940))
- i = 0x01;
- if (0x7FA00000 == _lvar_value(16938))
- i = i | 0x02;
- if (0x7FA00000 == _lvar_value(16939))
- i = i | 0x04;
- if ((i & 0x01) > 0 && (_ivar_value(16465) & 0x0200) == 0x0200)
- {
- ACKNOWLEDGE(literal_string(2193));
- }
- if ((i & 0x02) > 0)
- {
- ACKNOWLEDGE(literal_string(2194));
- }
- if ((i & 0x04) > 0)
- {
- ACKNOWLEDGE(literal_string(2195));
- }
- }
- switch (_ivar_value(16434))
- {
- case 7:
- qb = 0.689;
- qd = 0.1;
- break;
- case 12:
- qb = 68.9;
- qd = 10.0;
- break;
- case 10:
- qb = 0.703;
- qd = 0.1;
- break;
- default:
- qb = 10.0;
- qd = 5.0;
- break;
- }
- if (!(i & 0x01))
- {
- qa = _fvar_value(16947);
- _fassign(16947,qb * 15.0);
- send_trans(130,88,S);
- send(42,S);
- send_trans(142,0,S);
- send_trans(129,28,S);
- q = 0;
- while (_fvar_value(16439) < qb && !q)
- {
- send_trans(129,28,S);
- q = SELECT_FROM_LIST(literal_string(2196),literal_string(2197));
- }
- send_trans(142,1,S);
- qc = _fvar_value(16439);
- if (qc > qa)
- {
- qa = qc + qb / 2.0;
- q0 = qa / qd;
- qa = q0 * qd;
- }
- _fassign(16947,qa);
- send_trans(130,88,S);
- send_command(42);
- if (1 == q)
- process_abort();
- if (_fvar_value(16439) < qb)
- {
- i = i | 0x08;
- }
- }
- ;
- send(138,S);
- q0 = 0;
- q1 = 1;
- while ((_ivar_value(16792) & 0x08) > 0)
- {
- if (1 == q1)
- {
- send_trans(129,34,S);
- if (1 == _ivar_value(16464) && _ivar_value(16794) & 0x08)
- {
- q0 = SELECT_FROM_LIST(literal_string(2198),literal_string(2199));
- if (0 == q0)
- {
- q == SELECT_FROM_LIST(literal_string(221),literal_string(2200));
- aux_term_mode = 2 * q;
- send_trans(130,86,S);
- }
- }
- }
- if (0 == q0)
- {
- q0 = SELECT_FROM_LIST(literal_string(2201),literal_string(2202));
- }
- if (1 == q0)
- {
- remove_all_abort();
- _add_abort_method(17169);
- process_abort();
- }
- if (1 == q1)
- {
- q2 = _ivar_value(16529);
- if (2 == q2)
- q2 = -1;
- q2 = q2 * (-2 * _ivar_value(16508) + 1);
- if (0 == 0)
- {
- if (_ivar_value(171) == 0)
- {
- if (2 == _ivar_value(16529))
- {
- qa = 0.0;
- }
- else
- {
- qa = 1.0;
- }
- _fassign(16640,qa);
- send_trans(130,78,S);
- }
- local_inst_mode = 1;
- save_values();
- send_trans(130,6,S);
- }
- }
- if (_ivar_value(171) == 0)
- {
- if (1 == q1)
- {
- q1 = 2;
- _fassign(16405,qa * 100.0);
- save_values();
- send_trans(130,4,S);
- }
- if (1 == _ivar_value(16464))
- {
- ACKNOWLEDGE(literal_string(2203));
- }
- else
- {
- ACKNOWLEDGE(literal_string(2204));
- }
- }
- else
- {
- if (1 == _ivar_value(16464))
- {
- if (q2 < 0)
- {
- ACKNOWLEDGE(literal_string(2205));
- }
- else
- {
- ACKNOWLEDGE(literal_string(2206));
- }
- }
- else
- {
- if (q2 < 0)
- {
- ACKNOWLEDGE(literal_string(2207));
- }
- else
- {
- ACKNOWLEDGE(literal_string(2206));
- }
- }
- }
- send(138,S);
- }
- if (0 == 0)
- {
- local_inst_mode = 0;
- save_values();
- send_trans(130,6,S);
- send_trans(129,0,S);
请登录以获得完整内容