AnalogConverter.TcPOU 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
  3. <POU Name="AnalogConverter" Id="{8f39fe70-29ba-499a-b68c-17df66b944c6}" SpecialFunc="None">
  4. <Declaration><![CDATA[FUNCTION_BLOCK AnalogConverter
  5. VAR_INPUT
  6. AnalogRdValue_In_Int: INT;
  7. AnalogResMin_In_Int: INT;
  8. AnalogResMax_In_Int: INT;
  9. AnalogPhyMin_In_Real: REAL;
  10. AnalogPhyMax_In_Real: REAL;
  11. AnalogRdOffset_In_Real: REAL;
  12. END_VAR
  13. VAR_OUTPUT
  14. ActRdValue_Out_Real: REAL;
  15. END_VAR
  16. VAR
  17. END_VAR
  18. ]]></Declaration>
  19. <Implementation>
  20. <ST><![CDATA[//模拟量输入限定范围
  21. AnalogRdValue_In_Int := LIMIT( AnalogResMin_In_Int , AnalogRdValue_In_Int , AnalogResMax_In_Int );
  22. ActRdValue_Out_Real :=
  23. ( INT_TO_REAL (AnalogRdValue_In_Int) - INT_TO_REAL (AnalogResMin_In_Int) ) / ( INT_TO_REAL (AnalogResMax_In_Int ) - INT_TO_REAL (AnalogResMin_In_Int) ) *
  24. ( AnalogPhyMax_In_Real - AnalogPhyMin_In_Real ) + AnalogPhyMin_In_Real + AnalogRdOffset_In_Real ;]]></ST>
  25. </Implementation>
  26. <LineIds Name="AnalogConverter">
  27. <LineId Id="89" Count="0" />
  28. <LineId Id="105" Count="0" />
  29. <LineId Id="81" Count="0" />
  30. <LineId Id="10" Count="1" />
  31. <LineId Id="9" Count="0" />
  32. </LineIds>
  33. </POU>
  34. </TcPlcObject>