Moving the display-only ASCII recipe column to an internal HMI tag and reserving V2000–V2030 for the remaining recipe values stopped the overlap in the reported setup. The deciding rule is to treat each ASCII string as a multiword PLC value: map its full V-memory footprint before assigning the next recipe column.
Check which recipe column writes across the next addresses
When one ASCII recipe column starts at V2000, do not assume it occupies only V2000. The reported setup found writes reaching as far as V2007, and the same behavior occurred when ASCII was placed in column 2. That pattern points to the string occupying consecutive V-memory locations, not to a special address reserved for the first recipe column.
Read the configured recipe-column addresses and compare them with the PLC values that change when the recipe is loaded. If values after the ASCII start address change, identify whether they belong to the ASCII string before changing the recipe layout. A neighboring numeric or other recipe column may be receiving part of the string data.
Do not diagnose from the starting address alone. Record the ASCII column's start address, its configured length, the addresses assigned to following columns, and the last V-memory location that changes during a controlled recipe load. That gives you the evidence for the next check.
Estimate the string footprint before moving columns
The described PLC storage method uses one V-memory location for every two ASCII characters. Use that relationship to plan a first-pass footprint:
estimated V-memory words = ASCII character count ÷ 2
For an even-length string of 16 characters, the estimate is 8 V-memory words. If the character count is odd, the estimate must be rounded up to a whole word for planning. This is an estimate of the character data footprint based on the stated two-characters-per-location rule; it does not settle whether a specific HMI recipe configuration also writes other data.
The original test changed the configured length from 2 through 20 and still saw several locations used, so do not infer the exact write span from the length setting alone. Measure the actual changed addresses for the configured recipe. If the measured span is larger than your character-data estimate, reserve the observed range and inspect the HMI's recipe configuration and PLC data handling before assigning adjacent values.
Separate string overlap from a bad recipe address
| Observed result | Likely explanation | Next check |
|---|---|---|
| V-memory locations after the ASCII start change when loading a recipe | The string occupies multiple consecutive words. | Compare the changed span with the next recipe-column address. |
| The next column's value is corrupted, and it sits within the observed ASCII span | The column assignments overlap the string's storage range. | Move the string or the other column, then load a test recipe. |
| Several addresses change, but no assigned column appears to overlap | The address map or the assumed string footprint is incomplete. | Record all changed words and review the recipe's column mapping. |
| The ASCII display works after using an internal HMI tag | The display does not require the string to occupy the crowded PLC V-memory block in this setup. | Keep the display-only field internal if the PLC does not need its value. |
Use the address-change test to distinguish these cases. A multiword ASCII value can look like a recipe addressing fault because the neighboring PLC words change, but shifting unrelated columns without first measuring the string span can simply move the collision.
Choose whether the PLC needs the ASCII value
If the PLC never reads or writes the ASCII field and the field is needed only for HMI display, use the internal HMI tag arrangement that worked in the reported setup. The ASCII column remained visible on the HMI without consuming the crowded V2000 range. Confirm that the recipe display and any required operator workflow still work after the change.
If the PLC needs the string, assign it a dedicated block of V-memory and keep other recipe fields outside that block. In the reported DL450 plan, V1400 was already used for HMI-to-PLC and PLC-to-HMI communications, V1500 was planned for the program, and V1420 was proposed as the string start for a maximum of 16 characters. The proposed reservation was V1420–V1460. Treat this as that installation's memory plan, not a universal address recommendation.
Before adopting any range, inspect the PLC program and HMI communication map for existing use. Reserve the whole measured string range, not just the first word, and keep the recipe's next column beyond that range. If your map cannot identify free consecutive words, stop before downloading the revised configuration.
Apply the memory-map correction in a controlled order
- Back up the current HMI recipe configuration and PLC project, then document the addresses assigned to the ASCII field, following recipe columns, communication data, and program data.
- Load a controlled recipe and record every V-memory address that changes because of the ASCII field. Compare that measured span with the two-characters-per-word estimate.
- Decide whether the PLC needs the ASCII string. If not, assign the field to an internal HMI tag and retain the PLC address block for values that the PLC must exchange. If the PLC needs the string, select a verified unused block large enough for the measured footprint.
- Move any adjacent recipe columns out of the reserved string block. Check every recipe row or recipe entry that uses the same column map; the storage collision is determined by the addresses, not by which column appears first.
- Download or apply the revised recipe mapping using the site's normal change procedure, then load a test recipe before returning the machine to normal production.
Do not select V1420 merely because it was proposed in the example. Its suitability depends on the current PLC and HMI address map. Keep the communication range and application data ranges distinct, and document the string reservation where the next person editing the recipe can see it.
Verify the corrected recipe without sacrificing adjacent values
Test with an ASCII value at the intended maximum length and with representative values in columns before and after it. Monitor the string's assigned words and the neighboring recipe addresses while loading the recipe. The string should display correctly, values outside its reserved block should retain their expected contents, and the PLC should receive the ASCII value only if the design requires it.
Repeat the test after changing the recipe's configured string length or column mapping. The observed write span is the acceptance criterion: if any unreserved address changes, the block is not adequately isolated or the mapping still overlaps. Confirm the HMI display after using an internal tag; a successful display alone does not prove that the PLC has received the string.
For the reported arrangement, V2000–V2030 worked after moving the ASCII column to an internal HMI tag. For a PLC-mapped string, verify the actual span on the target configuration rather than copying that address range or the proposed V1420–V1460 reservation.
Know when to stop changing the recipe map
Stop if the test recipe changes PLC addresses outside the intended string and recipe blocks, if the actual write span cannot be reconciled with the column mapping, or if the proposed free-memory block conflicts with communication or program data. Do not keep moving addresses by trial and error; preserve the project and collect the configured string length, assigned column addresses, and observed changed-word range.
Escalate to official AutomationDirect support when the mapping and measured V-memory span still disagree or when you cannot establish a conflict-free block from the project and HMI configuration. Restore the last known-good configuration if the changed recipe mapping causes unintended PLC data changes.
Frequently asked questions
Does an ASCII recipe column use more than one V-memory address?
Yes. The described storage rule uses one V-memory location for every two ASCII characters, so a string spans consecutive words. Measure the actual changed range in the configured recipe before placing another column nearby.
Can I display an ASCII recipe field without using the nearby PLC V-memory?
In the reported setup, assigning the display-only column to an internal HMI tag kept it visible while avoiding the crowded V2000 block. Verify the display and recipe operation after making that change.
Can I use V1420 for a 16-character ASCII value?
V1420 was proposed in one DL450 memory plan, with V1420–V1460 reserved and V1400 and V1500 assigned to other uses. A 16-character string estimates to 8 words under the two-characters-per-word rule, but check your own map and measured write span before using that address.
Does changing the string length guarantee a smaller V-memory range?
No such guarantee follows from the reported test: settings from 2 through 20 produced a similar multiword symptom. Measure the addresses changed by a recipe load and reserve the observed range.
Stop and escalate to official AutomationDirect support if the measured write range remains inconsistent with the recipe map or you cannot identify a conflict-free block. Provide the recipe configuration, address map, configured string length, and changed-word observations.