An object that circles an indexing table on an HMI is a point list, not a curved motion. Draw the circle, split it into equal sectors, and put one point animation position on each intersection. A PLC tag holding the station number selects the point, one step per 360° divided by the station count, and the object stays upright because point animation moves position only.
An object that circles an indexing table on an HMI screen is built as a point list, not as a curved motion. Draw the table circle with the drawing tools, divide it into as many equal sectors as the machine has stations, and put one point animation position on each intersection. One animation step equals 360° divided by the station count, and an integer tag in the PLC picks the position. The object stays upright the whole way around, because point animation sets position only; it does not spin the object about its own axis. This page walks through the build: the drawing, the coordinates, the value mapping, and the checks to run before the screen goes on the machine.
Why the demo path looks haphazard
The built-in animation demos place example points by eye, so the object hops from spot to spot with no geometry behind it. A machine graphic needs the opposite: positions that mean something. On an indexing table the meaningful positions are the stations, and stations sit at equal angles. When every point sits on a station and the station tag selects the point, the on-screen movement matches the machine one index at a time.
Drawing the path first also gives you something to check against. The circle is the travel path, the radial lines are the sector boundaries, and the intersections are the only places the object should ever land.
What you need
- Your HMI configuration software, with its drawing tools and its point-to-point position list animation.
- The station count N of the table. Every coordinate and the tag range follow from it.
- One integer tag in the PLC that holds the station number, 0 through N-1.
- The index direction as the operator sees the screen, clockwise or counterclockwise, so the point order matches the machine.
- If the graphic runs with no controller behind it, standalone display animation without PLC logic covers the scripted case. Everything below is the PLC-driven version.
Draw the circle and mark the stations
- Draw the circle with the drawing tools, sized to the graphic area. Note the center (cx, cy) and the radius R in pixels; the coordinates need both.
- Draw radial lines from the center to the rim, one per sector boundary, spaced 360° / N apart.
- Count the intersections of the lines with the rim. That count is your point count, one intersection per station.
Place one animation point per intersection
- Open the point animation settings for the object and add one position per intersection, in index order, station 0 first, following the machine's index direction as it appears on screen.
- Compute each position: x = cx + R x cos(θ) and y = cy - R x sin(θ), where θ is the station number times 360° / N. The minus sign on y is there because screen pixel rows count downward.
- Round each coordinate to a whole pixel, because HMI position fields take integers.
- Leave rotation unset on the object. The point method keeps the marker upright at every station, which suits a table graphic. An object that must point outward at each pocket is a rotation animation job, covered in the recommendation below.
Example: eight stations on a 15 in HMI screen
Inputs. The machine is an indexing dial with eight pockets, so N = 8 and the station tag runs 0 through 7. The panel is a 15 in HMI. The graphic is built on a circle of radius R = 150 px centered at screen pixel (400, 300). The dial size and the panel come from the machine; the center and radius are example drawing values, so substitute the ones your layout gives.
Rule. The step angle is 360° / N. Station i sits at θ = i x 360° / N, measured from station 0 at the 3 o'clock position, at x = 400 + 150 x cos(θ) and y = 300 - 150 x sin(θ).
Arithmetic. Station 1: θ = 45°, cos 45° = 0.707, so x = 400 + 150 x 0.707 = 400 + 106 = 506 px, and y = 300 - 106 = 194 px. Station 3: θ = 135°, cos 135° = -0.707, so x = 400 - 106 = 294 px, and y = 300 - 106 = 194 px. Station 6: θ = 270°, cos 270° = 0 and sin 270° = -1, so x = 400 px and y = 300 + 150 = 450 px.
The full point list:
| Tag value | Angle | x, px | y, px |
|---|---|---|---|
| 0 | 0° | 550 | 300 |
| 1 | 45° | 506 | 194 |
| 2 | 90° | 400 | 150 |
| 3 | 135° | 294 | 194 |
| 4 | 180° | 250 | 300 |
| 5 | 225° | 294 | 406 |
| 6 | 270° | 400 | 450 |
| 7 | 315° | 506 | 406 |
Result. Eight points spaced 45° apart, one per pocket, each selected by its tag value. One machine index advances the tag by 1 and steps the object one sector.
Decision. At eight stations the build is eight coordinate pairs and eight tag values, a few minutes of arithmetic. One point per station remains the right build up to 16 stations, where the points sit 22.5° apart. Above 16 stations, drive a rotating pointer from the same tag and carry one animated object instead of a 16-entry position list.
Drive the position from the station tag
- In the PLC, write the station number to the tag after each index completes, in the order the table moves: 0, 1, 2 through 7, then wrap to 0. The indexer's own control logic runs the table; the tag is the display value the graphic mirrors.
- If the value only matters while this screen is shown, gate the write on the screen number, the pattern PLC logic that runs only on the current HMI screen lays out.
- Expect the object to cross the chord between neighboring points. Point animation runs straight from one configured position to the next, so the rim between stations is decoration.
Before the cell runs parts, watch one full cycle in a safe test state and compare the drawn station, the tag value and the machine's real pocket at each step. The graphic mirrors the tag; the indexer's position feedback is what stops the dial in the pocket.
Check it worked
- Put the raw tag value on the screen next to the animation while you commission, alongside the station sensors if the machine has them. Display PLC I/O bits on one screen shows the layout.
- In a safe test state, force the tag to each value from 0 through 7 and confirm the object lands on the matching drawn station every time.
- Run one automatic cycle, including the wrap from 7 back to 0, and confirm the step count equals the machine's index count.
- Check direction: an index that steps the machine clockwise must step the object clockwise on screen. If it runs mirrored, reverse the order of the point list; the coordinates stay where they are.
Recommendation: Build one point per station for any table of 16 stations or fewer, map the tag values to the points in index order, and write the tag from the PLC after each index completes. Above 16 stations, or whenever the marker must aim outward like a pointer, drive a rotation animation from the same tag and skip the coordinate list.
Questions
How close do the points sit to the rim as the station count rises?
The gap shrinks with the sector angle: 8 stations put points 45° apart, 16 stations 22.5° apart, 32 stations 11.25° apart. The polygon of positions hugs the drawn circle more tightly each time, but every added station is another coordinate pair to compute and another value to map, which is where the build time goes.
Does the object follow the rim between stations?
Point animation moves the object straight from one configured position to the next, so it crosses the chord. On the eight-station layout with a 150 px radius, the chord between neighboring points dips about 11 px inside the rim, since 150 x (1 - cos 22.5°) is about 11 px. Add points on the rim between stations if the drawn path matters as much as the station positions.
The object and the table disagree about the station. Which one is wrong?
Read the raw tag first, while the dial sits in a known pocket. If the tag matches the pocket and the object sits elsewhere, the point list or the value mapping is at fault. If the tag itself is wrong, the logic that writes it after each index is stepping out of sequence, so fix the write before touching the screen.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.