Advantech AE Technical Share Document
Date 2016 / 2 / 17 SR# 1-2374089601
Category □ FAQ ■ SOP Related OS Microsoft Windows7
Abstract Describe how to use both local tag and script to achieve indirect tag function. Keyword WebAccess, Indirect Tag
Related Product N/A Problem Description:
Indirect tag is a common function in SCADA software. Instead of inserting physical tags to objects in Draw/DrawDAQ, user may assign local tags to the objects. Last step will be using script to assign physical tags to local tags dynamically.
Scenario:
WebAccess user has three exactly the same pumps; all of them have one digital tag (STATUS) and four analog tags (FREQ_FB, FREQ_CMD, HOA_POS and ETM_HRS). Because their physical tags are the same, user will create a block so it can be reused. Also, for future to easily maintain graph page, all three pumps will share the same pump.bgr page. The following main.bgr page has three push buttons.
By clicking any of them, WebAccess View/ViewDAQ will go to pump.bgr page and display pump info based on pump number.
Click pump 2:
Click pump 3:
User will use ModSim to simulate these three pumps
Procedure:
- Create parameters and a block
- Create local tag, TCLScript in pump.drw page - Create push buttons in main.drw page.
Brief Solution:
1. In Modicon driver, let’s create 5 parameters first, and then add a block. Modicon -> Add Parameter
2. Create a digital tag named STATUS with address 00001
- When State equals to 0, display “STOPPED” - When State equals to 1, display “START” Then click “submit” to complete it.
3. Click “Add Parameter” to add analog tag
- Parameter name: FREQ_FB
- Address: 40001
4. Repeat the same step to create “FREQ_CMD”, “HOA_POS” and “ETM_HRS”
- Parameter name: FREQ_CMD
- Address: 40002
- Parameter name: HOA_POS
- Address: 40003
- Parameter name: ETM_HRS
- Address: 40004
6. Add a Block named “PUMP”
7. PUMP block configuration - Name: PUMP
- Select “ETM_HRS”, “FREQ_CMD”, “FREQ_FB”, “HOA_POS” and “STATUS” Then click “Submit”
8. A message box will pop up and states creating a Block successful
10. Go to Device configuration and click “Add Block”
Note: User should know how to create a Project Node, SCADA Node, ComPort and Device.
11. Create a Block P1 for pump #1 Note: offset must be 0
12. Create a Block P1 for pump #2 Note: offset must be 10
13. Create a Block P1 for pump #3 Note: offset must be 20
14. Successfully create three block P1, P2 and P3
15. Create 8 local tags for Indirect tags
Set Graph Parameter -> Local Tag File -> enter “PUMP” -> Edit
16. Create a text tag “PUMP_NUM” for display pump number in Pump.bgr - Tag Name: PUMP_NUM
- Tag Type: Text
- Length: 21 (because max length of tag is 21 characters) Click “Add/Modify” button to complete it.
17. Create a text tag named “P_STATUS” - Tag Name: P_STATUS
- Tag Type: Text - Length: 21
Click “Add/Modify” button to complete it
18. Create a text tag named “P_FREQ_FB” - Tag Name: P_FREQ_FB
- Tag Type: Text - Length: 21
Click “Add/Modify” button to complete it
19. Create a text tag named P_FREQ_CMD - Tag Name: P_FREQ_CMD
- Tag Type: Text - Length: 21
20. Create an analog tag named P_HOA_POS - Tag Name: P_HOA_POS
- Tag Type: Text - Length: 21
Click “Add/Modify” button to complete it
21. Create an analog tag named P_ETM_HRS - Tag Name: P_ETM_HRS
- Tag Type: Text - Length: 21
Click “Add/Modify” button to complete it
23. Click “OK” to complete adding local tags
24. Create a bgr page that looks like the following, and assign Local Tags to corresponding text objects. - xxx object of PUMP => assign local tag “PUMP_NUM.VIEWVA”
PUMP_NUM can be found in I/O Tag
.VIEWVA can be found in Field
NOTE: .VIEWVA allows tag values pass from one page to another.
Add reference “@” sign in front of 5 tags: “P_STATUS”, “P_FREQ_FB”, “P_FREQ_CMD”, “P_HOA_POS” and “P_ETM_HRS”
- xxxxxxx object of STATUS => assign local tag “@P_STATUS” - xxxxxxx object of FREQ. FB => assign local tag “@P_FREQ_FB” - xxxxxxx object of FREQ. CMD => assign local tag “@P_FREQ_CMD” - xxxxxxx object of HOA POS => assign local tag “@P_HOA_POS” - xxxxxxx object of ETM HRS => assign local tag “@P_ETM_HRS”
25. Add TCLScript in Local Script File -> On Entry -> named “PUMP” Click “Edit” button to continue
26. On Entry TCLScript: PUMP.scr
if {[GETVAL PUMP_NUM.VIEWVA]==1} then { SETVAL P_STATUS=P1:STATUS
SETVAL P_FREQ_FB=P1:FREQ_FB SETVAL P_FREQ_CMD=P1:FREQ_CMD SETVAL P_HOA_POS=P1:HOA_POS SETVAL P_ETM_HRS=P1:ETM_HRS
} elseif {[GETVAL PUMP_NUM.VIEWVA]==2} then { SETVAL P_STATUS=P2:STATUS
SETVAL P_FREQ_FB=P2:FREQ_FB SETVAL P_FREQ_CMD=P2:FREQ_CMD SETVAL P_HOA_POS=P2:HOA_POS SETVAL P_ETM_HRS=P2:ETM_HRS
} elseif {[GETVAL PUMP_NUM.VIEWVA]==3} then { SETVAL P_STATUS=P3:STATUS SETVAL P_FREQ_FB=P3:FREQ_FB SETVAL P_FREQ_CMD=P3:FREQ_CMD SETVAL P_HOA_POS=P3:HOA_POS SETVAL P_ETM_HRS=P3:ETM_HRS }
27. Save this page to “pump.bgr” and “pump.drw”
28. Create a new page, then assign local tag file PUMP.ltg to Local Tag File
29. Create a Push Button that will go to pump #1
- Button Down Macro: <SETVAL>PUMP_NUM.VIEWVA=1 - Button Up Macro: <GOTO>GRAPH=pump.bgr
30. Create a Push Button that will go to pump #2
- Button Down Macro: <SETVAL>PUMP_NUM.VIEWVA =2 - Button Up Macro: <GOTO>GRAPH=pump.bgr
Put checkmark in “Group Objects”
31. Create a Push Button that will go to pump #3
- Button Down Macro: <SETVAL>PUMP_NUM.VIEWVA =3 - Button Up Macro: <GOTO>GRAPH=pump.bgr
Put checkmark in “Group Objects”
33. Go to SCADA Node and Download project
34. Result in ViewDAQ
When user click “go to pump #2” in main.bgr, ViewDAQ switches to pump.bgr with PUMP #2 tag information.