RANGEJD.TcPOU 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
  3. <POU Name="RANGEJD" Id="{d7453e68-226c-409d-a63d-b2bebd96b3c9}" SpecialFunc="None">
  4. <Declaration><![CDATA[FUNCTION_BLOCK RANGEJD
  5. VAR_INPUT
  6. ENABLE:BOOL;
  7. SV:LREAL;
  8. PV:LREAL;
  9. RANGE_ALARM_H:LREAL;
  10. RANGE_ALARM_L:LREAL;
  11. RANGE_WARNING_H:LREAL;
  12. RANGE_WARNING_L:LREAL;
  13. TIME_ALARM:LREAL;
  14. TIME_WARNING:LREAL;
  15. END_VAR
  16. VAR_OUTPUT
  17. ALARM:BOOL;
  18. WARNING:BOOL;
  19. END_VAR
  20. VAR
  21. TON_ALARM:TON;
  22. TON_WARNING:TON;
  23. STATUS_ALARM:BOOL;
  24. STATUS_WARNING:BOOL;
  25. END_VAR
  26. ]]></Declaration>
  27. <Implementation>
  28. <ST><![CDATA[IF ENABLE
  29. THEN
  30. IF PV >= (SV+RANGE_ALARM_H) OR PV <= (SV-RANGE_ALARM_L)
  31. THEN STATUS_ALARM:=TRUE;
  32. ELSE STATUS_ALARM:=FALSE;
  33. END_IF
  34. IF PV >= (SV+RANGE_WARNING_H) OR PV <= (SV-RANGE_WARNING_L)
  35. THEN STATUS_WARNING:=TRUE;
  36. ELSE STATUS_WARNING:=FALSE;
  37. END_IF
  38. TON_ALARM(IN:=STATUS_ALARM , PT:= LREAL_TO_TIME(TIME_ALARM)*1000, Q=> , ET=> );
  39. IF TON_ALARM.Q
  40. THEN
  41. ALARM:=TRUE;
  42. ELSE
  43. ALARM:=FALSE;
  44. END_IF
  45. TON_WARNING(IN:=STATUS_WARNING , PT:= LREAL_TO_TIME(TIME_WARNING)*1000, Q=> , ET=> );
  46. IF TON_WARNING.Q
  47. THEN
  48. WARNING:=TRUE;
  49. ELSE
  50. WARNING:=FALSE;
  51. END_IF
  52. ELSE
  53. STATUS_ALARM:=FALSE;
  54. STATUS_WARNING:=FALSE;
  55. ALARM:=FALSE;
  56. WARNING:=FALSE;
  57. END_IF
  58. IF NOT ENABLE
  59. THEN
  60. STATUS_ALARM:=FALSE;
  61. STATUS_WARNING:=FALSE;
  62. END_IF
  63. ]]></ST>
  64. </Implementation>
  65. <LineIds Name="RANGEJD">
  66. <LineId Id="248" Count="0" />
  67. <LineId Id="210" Count="0" />
  68. <LineId Id="247" Count="0" />
  69. <LineId Id="174" Count="2" />
  70. <LineId Id="196" Count="0" />
  71. <LineId Id="177" Count="3" />
  72. <LineId Id="197" Count="0" />
  73. <LineId Id="181" Count="6" />
  74. <LineId Id="198" Count="0" />
  75. <LineId Id="188" Count="5" />
  76. <LineId Id="9" Count="0" />
  77. <LineId Id="207" Count="0" />
  78. <LineId Id="212" Count="0" />
  79. <LineId Id="216" Count="1" />
  80. <LineId Id="213" Count="0" />
  81. <LineId Id="215" Count="0" />
  82. <LineId Id="214" Count="0" />
  83. <LineId Id="249" Count="0" />
  84. <LineId Id="241" Count="1" />
  85. <LineId Id="244" Count="2" />
  86. <LineId Id="243" Count="0" />
  87. </LineIds>
  88. </POU>
  89. </TcPlcObject>