Successful commissioning produces a Delphi 7 client that reads a known CJ2M value, writes an approved test value, receives a valid response, and confirms the same value by reading it back. Treat the RJ45 connector only as the physical Ethernet interface; select either direct FINS messaging or an OPC server before writing application code.
Connection-Path Selection
Before anything else, confirm whether the project requires a custom protocol implementation or a packaged communications layer. Both paths can read and write controller data, but they move different responsibilities into the Delphi application.
| Path | Delphi responsibility | Commissioning advantage | Primary risk |
|---|---|---|---|
Direct FINS
|
Create packets, manage Ethernet transport, validate replies, and convert PLC data types | No intermediate server | Incorrect routing, packet layout, response handling, or byte conversion |
| OPC server | Connect to configured items, read or subscribe, write values, and check item quality | PLC protocol handling is supplied by the server | Incorrect device, item, data-type, or access configuration |
- Select direct
FINSwhen the application must own the communications stack and the engineering team can implement the documented packet format. - Select OPC when faster commissioning and centralized tag configuration outweigh adding a server component.
- For direct development, use Omron manual
W342-E1-11as the packet-format reference. Do not infer packet fields from the RJ45 connection.
Gate check: Record one selected path and identify who owns PLC addressing, data conversion, timeout handling, and write authorization. Do not move on until those responsibilities are assigned.
Ethernet and PLC Prerequisites
- Read the controller project and record the Ethernet settings for the interface connected to the Delphi computer. Use the configured values rather than defaults copied from another machine.
- Place the computer on a network path that can reach that interface. Check its address, subnet configuration, cabling, switch link indication, and any routing between the two endpoints.
- Confirm that the selected PLC communications service is enabled and that no network security device blocks it. Obtain the transport and endpoint settings from the controller configuration and applicable Omron manual; an Ethernet link alone does not prove that
FINSor OPC traffic can pass. - Test basic network reachability, then test the selected application service. A successful network-layer test verifies the path but does not validate PLC routing fields, item definitions, or write permission.
Keep the engineering connection available during commissioning. Controller diagnostics are needed to distinguish malformed or misrouted requests from requests that never reach the PLC.
Gate check: Confirm stable network reachability and a listening communications service before developing variable reads.
Variable Access Map
The word “variable” must be converted into an explicit client contract. A Delphi identifier is not automatically a PLC address, and a symbolic PLC name is not automatically accepted by a raw FINS request. For direct access, obtain the address representation required by the protocol. For OPC, configure an item that resolves to the intended controller data.
| Field | Value to record | Failure prevented |
|---|---|---|
| PLC item | Configured address or server item | Reading the wrong location |
| Data type | Bit, integer, real, string, or structured representation used by the project | Invalid conversion or length |
| Element count | Number of elements requested | Truncated or oversized transfer |
| Byte and word order | Conversion required by the selected data type | Plausible but incorrect values |
| Engineering conversion | Scale, offset, and units defined by the PLC application | Displaying raw counts as engineering units |
| Access policy | Read-only or read/write | Unintended production writes |
| PLC ownership | Logic that reads or rewrites the item | A successful write appearing to revert |
- Choose one stable read-only value whose expected state can be observed in the PLC project.
- Choose a separate writable test location approved by the controls owner.
- Record the raw value and its interpreted Delphi value side by side during the first tests.
Gate check: Read the selected read-only item in the PLC engineering environment and record its expected type and value before requesting it from Delphi.
Direct FINS Client Sequence
- Configure the Delphi client with the verified Ethernet endpoint and the routing information required by
FINS. Take every field and transport choice from the PLC configuration andW342-E1-11. - Open the selected Ethernet transport and apply bounded connection and response handling. Treat no reply, a transport failure, and a PLC error reply as separate diagnostic results.
- Build a read request for the single approved item. Populate the documented header, routing, command, address, and length fields in the required binary order.
- Send the request and retain the complete raw response during commissioning.
- Validate the response before decoding data: check message length, request-response correlation, returned command information, and the PLC completion result. Do not display payload bytes from an unsuccessful response as process data.
- Decode the payload according to the access map. Apply signedness, byte or word ordering, and engineering conversion only after the raw reply passes validation.
- Repeat the same read while changing or observing the value in the PLC project. The two views must track each other.
A packet capture can show whether requests leave the computer and replies return, but the Omron manual remains the authority for interpreting packet fields. If the PLC replies with an error, compare the returned result with the manual and recheck routing, address, command, and length before changing network settings.
Gate check: Require multiple valid reads with matching raw and interpreted values before adding any write command.
OPC Server Client Sequence
- Install or select an OPC server with Omron controller support and an interface usable by Delphi 7.
- Create the server channel or connection with the verified PLC Ethernet settings.
- Add one read-only item from the access map. Set its PLC address and data type explicitly.
- Use the server's diagnostic client to read the item before connecting Delphi. Check the returned value, communication state, timestamp if exposed, and item quality or status.
- Connect Delphi to the configured server and item. Reject values reported with a failed communication state or unusable quality; a numeric value can be stale.
- Add the approved writable item only after the read path is stable. Configure write access in both the server and application authorization model.
The server removes packet construction from Delphi, but it does not remove address, type, scaling, or write-ownership errors. If the server diagnostic client works while Delphi fails, isolate the Delphi-to-server interface. If the server itself cannot read, return to the device and network configuration.
Gate check: The server diagnostic client and Delphi must show the same live value and valid communication state.
Controlled Write and End-to-End Verification
- Place the machine in an approved commissioning state and select only the documented test item.
- Read and log its current raw value.
- Write one valid test value through
FINSor OPC. - Accept the write only after checking the protocol response or server write result.
- Immediately read the item back through the same path.
- Compare the readback with the requested raw value and inspect the item online in the PLC project.
- Restore the original value when the test plan requires restoration, then read it back again.
| Symptom | Next check |
|---|---|
| No reply | Endpoint, transport, network path, blocked traffic, and PLC service state |
| PLC error reply |
FINS routing, command, address, element count, and manual-defined completion result |
| Read succeeds but value is wrong | Address mapping, type, signedness, byte or word order, and scaling |
| Write reports success but value returns | PLC logic, HMI, recipe, or another client rewriting the same location |
| OPC value is present but unusable | Item quality, communication state, and stale-data handling |
Gate check: Complete read, write, response validation, readback, PLC-side observation, restoration, and restored-value readback without an unexplained mismatch.
Frequently Asked Questions
How do I read a CJ2M variable through its RJ45 connection?
Configure the Ethernet path, then use either direct FINS packets or an OPC server with Omron support. RJ45 identifies the connector, not the application protocol or PLC data address.
How do I choose between FINS and OPC for Delphi 7?
Use FINS when Delphi must own packet construction and response validation. Use OPC when a configured server should handle the Omron protocol while Delphi reads and writes server items.
How do I find the packet format for a direct FINS client?
Use Omron manual W342-E1-11 and match its transport, routing, command, address, and response definitions to the controller configuration. Do not guess endpoint settings or packet bytes.
How do I diagnose a CJ2M write that immediately changes back?
Check whether PLC logic, an HMI, a recipe, or another client writes the same location. Compare the accepted write response with an immediate readback and online PLC observation.
How do I verify that Delphi 7 is writing the correct PLC variable?
Read the original value, write one approved test value, validate the response, read it back, and observe the same location in the PLC project. Restore the original value and finish with a final readback that matches it.