# Delta HMI DOPA indirect register Example

1.Human Machine Interface indirect register \$ arithmetic application.
2. Overview:
Delta Terminal Panel DOP HMI offer 65536 indicator registers \$ for user application.When HMI direct connect to AC Motor Drive or AC Servo Drive or Temperature Controller without through Programmable Logic Controller. We can utilize HMI’s Marco instruction to performed various mathematics operation, Do this can simplify programming and less procedure for debugging. On
Temperature-Controller, DTB can collected maximum 64 heating curve and times most, Following example we utilize HMI indirect register
\$ to finish the adding of all the times.
3. Configuration:
Utilize the Macro function of HMI, reveal after adding the sum total of a lot of registers of DTB Temperature Controller.

4. Application benefit:

Register 1—-> Register 2—>  Register 3—> Register 4—> Register 5—> Register 6

Normally, While adding above 6 register, must write 6 lines of addition orders add up them separately, but if want summation is much large, then the procedure will be very huge, and will waste much programming time.
Using the addition way of \$:
When the way to use \$ for get the total amount, so long as cooperate with For —Next instruction. No matter add the total number of number of times, only need to change the number of times that For close loop and can achieve the goal of calculating, so will shorten the editor on the procedure greatly.
5.Required hardware and software components
Hardware   :Delta HMI DOP- A(AE)  series
Software      :Screen Editor

6. Connect Diagram:
HMI hardware has built-in RS485 communication interface.
Connect Temperature Controller RS485 to HMI 9 PIN D-SUB like below. Read more detail from the HMI and TC manual.
7. Principle of instruction
Down load the HMI software,
1. Connect to the Temperature Controller. And get the register values from the Temperature Controller (TC).
2. Or use the off line simulation to implement the calculation.
3. When set value to the register from 1 to 24, Screen show like below.
·
·
Sum column: the register of addition.
·
Display column: The total amount of register.
8. Program:
Following Macro’s instruction get summed up to calculate, finish with 8 lines of procedures altogether.
1.Choose BMOV to create duplicate 24 registers for calculate procedure. Utilize register \$100 to \$123 block as the buffer.
2.Make register \$500 to 0 before the sum total process.
3.Appointed Indirect register \$200 as 100 (Determine from register \$100 begins).
4.Set FOR- NEXT times, so 24 times of circulation.
5.Add the indirect register.
6.Add the next register.
7.NEXT (cooperate with FOR to enclose using).
8.Will add the total final result while reaching \$501 in order to be shown in HMI picture.
9. Other:
a. Temperature Controller must use DTB or DTC series.
b. HMI software ScreenEdit version must 1.05.74 or above.
c. Another example:
1. Originally we have been doing the calculation that is summed up to these 24 register all the time, while only needing to accomplish the 15th step on the customer’s use, it sets 0 to the 16th
register then, procedure will add, reduce to 15th stop automatically.
2. In real using, we must calculate the 16th to bring this value into the execution step of the warm
accusing of device after 0, could let the control of the warm accusing of device operate step 15
actually too (will not still operate 24 sections), But because there is no use which uses the indirect register *\$ in the operation type in the middle, so this component will not be listed in proving.
3. Below program show when check the indirect register value is 0, Then calculation procedure  stop. Only add the front registers which not equal to zero.
Operate the picture:
1.When set value to the register from 1 to 24, Screen show like below.
2. Zero register No. column: Indicate the zero value register number. Fro example 13th
3.Sum column: the 1 to 12 register of addition.
Display column: The total amount of register.
1.Choose BMOV to create duplicate 24 registers for  block as the buffer. calculate procedure. Utilize register \$100 to \$123
2.Set \$150 =1 (show that begins to judge from the first  register)
3.\$200 =100, Show the content of *\$200 equals the content of \$100.
4.Utilize FOR to enclose judging whether this register is 0.
5.If 0, leave, go back, enclose. Present \$150 content shows promptly this position is 0.
6.If not 0, add \$200 by 1, in order to judge the next materials.
7.\$150 adds by 1, i.e. add the position that will judge next time by 1.
8.NEXT (cooperate with FOR to enclose)
9.LABEL1 (cooperate with IF judging type of 5th line)
10.The same 5
11.The same
12.FOR at this moment goes back to enclose the summation, it is 24 that it is fixed that not, but the parameter \$150 (the position of 0) .
13. The same
14.The same
15.The same
16. The same