Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Exercise 06 – Programming Bottom-up (One

Stripe)
Time for exercise : 90 minutes

1.1 Program stripe “Heating Coil” using existing I/Os from scratch
Task
Go to Programming and use the I/Os created in the IO configuration to program the Heat-
ing coil aggregate from scratch in the Programming editor. Drag and drop inputs, outputs
and program blocks (from the library) to the chart. Load the application to the controller
and test the program logic.

1.2 Set up local exception to stripe “Heating Coil”


Task
In case of Frost, it should be ensured that the valve is fully open, and the pump is active.
Program the blocks to achieve the same. Load the changes (Play) and test the program
logic.

Result
The stripe “Heating Coil” is programmed with a local exception and tested.

Page : 1
1.1 Program stripe “Heating Coil” using existing I/Os from
scratch

Step Action

1 Archive Project
Navigate to the Project overview and archive the already created project if nec-
essary. The project archive will be stored in the preconfigured folder.

2 Create Data points


Open again your created Project and navigate to the Engineering window.

If you have not already setup the data points the following four data points would
be needed for our programming exercise.

Channel Object Name Description Signal Type Unit Inactive/


No Type Active Text
On-board module, universal inputs/ outputs
U1 AI TSu Supply air LG-NI1000 °C
temperature
U9 AO VlvPos Valve position 0…10VDC %
(0-100%)
On-board module, binary outputs
DO3 BO PuCmd Pump Switch on/off, relay Off/ON
command normally inactive

3.7 BI FrPrtMon Frost protec- Switch on/off, con- Normal/


tion monitor tact normally closed Tripped

Page : 2
Step Action

3 Navigate to the programming editor

You have two different option to navigate to the programming editor (See below)

Choose the navigation you like more.

4 Drag and drop data points from Plant view to the chart

Drag/drop the points one-by-one or by multi-selection (Supply air temperature,


Valve position, Pump command). Arrange the inputs and outputs in vertical
groups on the left and right respectively. Observe the change in the icons in the
project tree.

Page : 3
Step Action

5 Check block interface


• For all input blocks: no action needed ☺
o Leave it as is (in this exercise, we will only use pin “PrVal”)
• For all output blocks: Only for the purpose of having the blocks already
prepared for the next steps, do
o Input-pins “…4” will be used in case of normal control / PID, there-
fore set:
- EnIn4 = 1
- PrioIn4 = 15

6 Add Function block Controller and adapt it as described


Add function block “Controller” to chart. In library, filter for “Controller” or “CTR”
and drag/drop block to chart

Page : 4
Step Action

Optional: Adjust pin visibility for function block “Controller”. In the exercise, we
will only use the following pins:
=> inputs: EnFnct. Sp, Xctr and outputs: Yctr

7 Set the properties and connect the blocks


Rename controller to e.g. [TCtr] Temperature controller
Hint: For best search options in text picker, go to properties page / BACnet
properties” / “Naming”.
Make setpoint of PID adjustable on BACnet
• Right-click on input pin “Sp” and choose “Read from BACnet” / “Analog
configuration value”
• Rename it to “Setpoint for supply air temperature”
• Adjust properties of the “Setpoint” BACnet object (set at least the follow-
ing: Present Value of BACnet object = 21)
Connect sensor value to PID,
• Connect PrVal of “Supply air temperature” to Xctr of PID

Page : 5
Step Action

Connect PID to Valve position,


• Connect Yctr of PID to ValIn4 of Valve Position
Add a SWI_2PH (Switch with on point & hys) function block from the library,
• Connect PrVal of Valve position to In of SWI_2PH
• Connect the Out of SWI_2PH to ValIn4 of Pump command
• Set the SwiOnPt to 4%. Do not forget to select the unit %
• Set the Hys to 2%
• Set Actg to 0

Page : 6
Step Action

You can show a grid or use align-functions for arranging the blocks from
the toolbar.
Use text boxes (context menu) as separator of stripes -> add the first text
box, adjust text box size from Properties, font size (e.g. 14), color, … (also
activate “textbox in background”) and afterwards duplicate it.

8 Load the application and go online to test the program

To use the Play function, the program must be running.


• Right click on the pins you want to test and check the checkbox “For test”

Page : 7
Step Action

• Change the Supply air temperature with respect to the setpoint and check
if the valve and pump behave accordingly. You can adapt the temperature
with the operation board X1 temperature poti.

If you Valve is not showing the right status, check the Process value 2 in
the Properties in Engineering editor. It should be set to 100.

Page : 8
1.2 Set up local exception to stripe “Heating Coil”

1 Add Frost Protection as local exception


Click on Pause. In case of frost, the following should be ensured: valve fully open
and pump active. Configure output block (its input pins), so that the above gets
accomplished in case of active source. Use input pins “…1” (you could use any
set of pins, but for the ease of reading the whole program afterwards, use upper
input pins for highest priority)
• Set the pins as follows
- ValIn1 = 100 (for valve) and ValIn1 = 1 (for pump)
- PrioIn1 = 4

2 Drag and drop the Frost Protection Monitor data point to the chart
• Connect PrVal of FrostProtection to EnIn1 of both output objects (valve,
pump)

Page : 9
3 Go Online
Click on Play. Test the frost protection scenario. You can also use the switch on
the operation board D1 to change the status of the frost protection.

Change the State text of frost protection to get a better result.

Page : 10
Simulation Board

You have now completed this exercise. Please take a pause and reflect what you learnt.
You can use the below section for the notes.

Page : 11

You might also like