FUNCTION "RtoI_Dec" : VOID TITLE = VERSION : 0.1 VAR_INPUT RealIn : REAL ; Dec : INT ; END_VAR VAR_OUTPUT IntOut : INT ; END_VAR VAR_TEMP i : INT ; MulVal : REAL ; TempReal : REAL ; END_VAR BEGIN NETWORK TITLE = SET ; SAVE ; L #RealIn; //Read Input T #TempReal; // Save In Storage Area L #Dec; // # Decimal Places To Move ITD ; // Make Into A Double For Comparison L 0; // Add Zero +D ; // To Setup Compare For Jumps JP Rt; // Set Multiplier For Move Right JM Lft; // Set Multiplier For Move Left JZ Cvt; // Skip Move, Jump To Convert Lft: L -1; // Multiply Places By -1 *D ; // To Make Positive Value T #i; // Store Places To Move L 1.000000e-001; // Multiply By 0.1 (Move Left) T #MulVal; // Save Multiplier L #i; // Return Places Needed To Move (Counter) JU L1; // Start Move Rt: L 1.000000e+001; // Default Multiply By 10 (Move Right) T #MulVal; // Save Multiplier L #Dec; L1: T #i; // Save As Loop Count L #TempReal; // Real Value To Make INT L #MulVal; // Multiply To Move Decimal 1 Place *R ; T #TempReal; // Save New Value L #i; // Load Loop Count LOOP L1; // Loop Cvt: L #TempReal; // Load Final Answer RND ; // Convert to INT T #IntOut; // Thank you bye SAVE ; BEC ; END_FUNCTION