Loading…

Method Name: mthdCheckCharacterizationData

Method ID: 0x41EF

Method Label: Edit

Method Help: Control valves are often characterized to give a specific relationship between flow capacity (Cv) and percent opening of the valve. The valve can be characterized with special purpose trim or with the SVI2AP positioner. Selecting Custom Configuration displays an additional screen where the user can enter a custom characterization curve to fit his/her needs. The curve can have up to 9 points and points in between are linearly interpolated.


  • {
  • char nbr;
  • char prevMode;
  • char status[3];
  • char bTemp;
  • int result;
  • float slope;
  • float slope_rate;
  • int i;
  • int j;
  • int hold;
  • int bHold;
  • int a;
  • int b;
  • long ids[6];
  • long ids_show[20];
  • int bPointChanged[11];
  • int bFirstSlope;
  • send(249, status); if( status[0] != 0 ) { display_response_status(249, status[0]); DELAY(3,"|en|Procedure aborted \nTry Again."); process_abort();; }; if( (_ivar_value(16385) != 0) ) { ACKNOWLEDGE("|en|WARNING. This procedure requires to enter setup mode and will result in LOSS of PROCESS CONTROL. Do you wish to proceed ?"); PUT_MESSAGE("|en|Changing mode to Setup"); _add_abort_method(16390); _iassign(16684,(0)); send(135, status); if( status[0] != 0 ) { display_response_status(135, status[0]); DELAY(3,"|en|Procedure aborted \nTry Again."); process_abort();; }; nbr=0; do { nbr += 1; if( nbr == 10 ) { DELAY(3,"|en|Procedure aborted \nTry Again."); process_abort();; }; send(249, status); } while( _ivar_value(16385) != 0 ); };
  • _remove_abort_method(16390);
  • _add_abort_method(16685);
  • _add_abort_method(16390);
  • send(210, status);
  • _get_dev_var_value(("|en|Select Cam\n"),0,16515);
  • if ( _ivar_value(16515) == 0x04 )
  • {
  • result=SELECT_FROM_LIST("|en|Enter/edit cam characterization ?",
  • "|en|No;Yes");
  • if ( result == 1 )
  • {
  • ACKNOWLEDGE("|en|Input your 9 XY pairs of points between (0.0%, 0.0%) and (100.0%,100.0%).");
  • send(211, status);
  • do
  • {
  • result=0;
  • i=0;
  • do
  • {
  • i+=1;
  • _get_dev_var_value(("|en|X[%{i}]\n"),(ids),resolve_array_ref(16528,i));
  • _get_dev_var_value(("|en|Y[%{i}]\n"),(ids),resolve_array_ref(16539,i));
  • } while ( (i<9) );
  • j = 0;
  • i = 0;
  • do
  • {
  • j+=1;
  • i=j;
  • do
  • {


Please login for more