Object Placeholder
Overview
Object Placeholders are dynamic wildcards used within text entities to automatically insert variable data at the time of marking. Unlike static text, placeholders allow the marking system to retrieve live values from external devices or internal controller registers, enabling automated serialization, traceability, and real-time data integration.
Placeholders are located in the Other Codes section and are embedded directly into a text string. During a marking cycle, the software resolves the placeholder and replaces it with the current value from its assigned source.

Purpose of Object Placeholders
Object Placeholders are used to:
- Eliminate manual text edits between marking cycles
- Automatically mark changing data such as serial numbers, batch IDs, or production values
- Enable integration with PLCs, scanners, databases, or networked control systems
- Support traceability and compliance requirements
- Reduce operator error and improve marking consistency

Placeholder Syntax
There are two types of Object Placeholders, distinguished by capitalization:
|
Placeholder |
Type |
Data Source |
|
%p# |
Placeholder Text (lowercase) |
Modbus / Serial |
|
%P# |
Placeholder Text (uppercase) |
Register / EtherNet/IP |
Note: The # represents the object number assigned to the placeholder.

Type 1: %p# — Placeholder Text (Modbus / Serial)
Description
The %p# placeholder retrieves data from Modbus or Serial communication sources. This type is typically used when the marking system receives data from legacy equipment, barcode readers, serial devices, or external controllers communicating over Modbus or serial protocols.
Behavior
- The value is retrieved at runtime, just before or during the marking cycle
- The placeholder resolves the current value stored in the assigned Modbus or serial object
- The marked text updates automatically without user interaction
Common Use Cases
- Serial numbers provided by an external PLC
- Lot or batch numbers sent from a production line controller
- Operator-entered values passed through a serial interface
- Data from legacy systems without EtherNet/IP capability
Example
PART SN: %p1
If %p1 is mapped to a Modbus register containing A45792, the marked result will be:
PART SN: A45792

Type 2: %P# — Placeholder Text (Register / EtherNet/IP)
Description
The %P# placeholder retrieves data from internal registers or EtherNet/IP-connected devices. This is the preferred method for modern industrial environments using networked PLCs and EtherNet/IP communication.
Behavior
- Reads directly from controller registers or EtherNet/IP data tags
- Supports high-speed, real-time communication
- Ideal for automated, network-driven marking systems
Common Use Cases
- PLC-driven serialization
- Production counters
- Shift, station, or line identifiers
- Automated traceability systems tied to MES or SCADA platforms
Example
LOT: %P3
If register %P3 contains LOT-2026-014, the marked result will be:
LOT: LOT-2026-014

Key Differences Between %p# and %P#
|
Feature |
%p# |
%P# |
|
Capitalization |
Lowercase p |
Uppercase P |
|
Communication Type |
Modbus / Serial |
Register / EtherNet/IP |
|
Typical Environment |
Legacy or serial-based systems |
Modern networked systems |
|
Data Source |
External device |
PLC or controller register |
Important: Capitalization matters. %p1 and %P1 are treated as entirely different placeholders.

Using Object Placeholders in a Layout
- Create or select a Text Entity in the layout
- Enter static text as needed
- Insert the placeholder code (%p# or %P#) at the desired position
- Download the layout to the controller
- Ensure the placeholder object is properly configured and mapped
At runtime, the software automatically replaces the placeholder with its current value.

Best Practices
- Always verify placeholder mappings before running a Start cycle
- Perform a Trial Run to confirm positioning and formatting
- Use clear naming conventions for placeholder object numbers
- Avoid mixing placeholder types unless required by the system architecture
- Document placeholder usage for maintenance and troubleshooting
Summary
Object Placeholders allow I-Mark software to dynamically insert live data into marking layouts. By using %p# for Modbus/Serial communication and %P# for Register/EtherNet/IP communication, operators can create flexible, automated, and scalable marking solutions that support modern manufacturing traceability requirements.
Created with the Personal Edition of HelpNDoc: Transform Your Documentation Process with HelpNDoc's Project Analyzer