A vision controller can capture images correctly yet still have no usable way to exchange inspection data with the PLC. An Ethernet connector does not establish protocol compatibility, and a serial port does not identify the message format. This guide helps you choose a documented communication path, define the inspection-result handshake, and test the connection before ordering hardware. The starting point is the installed software and interface documentation—not a guessed cable pinout or an assumed protocol feature.
Choose the common protocol before the cable
For vision controller Modbus communication, both endpoints need a compatible transport, complementary application roles, and an agreed data map. If any of these is missing, changing the cable will not solve the integration.
Work through the options in this order:
- Check whether the installed controller application and PLC support the same industrial Ethernet protocol.
- If considering Modbus TCP, confirm that both endpoints explicitly support it and offer complementary client/server roles.
- If considering serial Modbus, verify RTU or ASCII support, the physical interface, and compatible settings.
- If no common path exists, evaluate a documented gateway or a supported software interface.
A generic TCP client or server exchanges byte streams. It does not automatically implement Modbus TCP. Similarly, an Ethernet port already carrying one industrial protocol does not prove that its PLC module can run another.
A gateway must implement the required protocols and roles on both sides. An Ethernet-to-serial converter may only transport serial bytes; that is not necessarily protocol conversion.
For broader integration choices, use the camera acquisition software compatibility guide. For a smaller data exchange that may not require a PLC intermediary, the scanner communication architecture guide explains a related decision.
Verify transport, roles, and software support
Record the exact controller application version, PLC interface, firmware revision, and enabled communication options. Obtain documentation through the manufacturer or an authorized distributor. Hardware capability and application-level protocol support are separate checks.
Build a compatibility table before configuring either endpoint:
| Connection | Required agreement | What does not prove compatibility |
|---|---|---|
| Modbus TCP | Client/server roles, addressing, supported functions, connection settings | Ethernet connectors or generic TCP support |
| Modbus RTU | Client/server roles, serial framing, device address, electrical interface | A serial connector or RS-485 label alone |
| Modbus ASCII | Explicit ASCII support, serial framing, device address, electrical interface | A statement that only says serial Modbus |
| Protocol gateway | Supported protocol and role on each side, mapped data, fault behavior | An Ethernet-to-serial product description alone |
In a typical polling arrangement, the client initiates requests and the server responds. Either the PLC or controller may occupy either role if its documented implementation permits it. Two endpoints configured only as servers will not initiate the required exchange.
Serial Modbus is not synonymous with RTU. RTU uses binary message framing and a CRC; ASCII uses character-encoded framing and an LRC. They cannot communicate merely because baud rate and wiring match.
Check which function codes are implemented, which register areas are accessible, and whether application variables can actually be mapped there. Also verify connection limits and behavior after a communication interruption.
Separate serial wiring from message framing
RS-232 and RS-485 describe electrical interfaces, not the inspection-result protocol. Neither specifies your connector pin assignment, application register map, or whether the software uses RTU or ASCII.
RS-232
RS-232 generally provides a point-to-point connection with separate transmit and receive signals and a signal reference. Determine signal direction from each endpoint's documentation. Connector gender does not establish direction or the required cable arrangement.
Check whether hardware flow control is required, disabled, or unsupported. Do not bridge control pins or assume that every connector follows a familiar computer pinout. Use the documented cable arrangement for both endpoints.
RS-485
Confirm whether both interfaces use a compatible two-wire or four-wire arrangement. For a typical two-wire bus, verify the documented differential pair, reference connection, termination, and biasing requirements.
Labels such as A/B, D+/D−, and D0/D1 are not sufficiently consistent across equipment to establish a universal connection rule. Match the electrical definitions in the endpoint manuals rather than connecting similar-looking labels.
Apply termination at the locations specified for the bus topology and cable. Biasing must also follow the interface design; adding it indiscriminately can overload the network. Follow the documented reference and shield arrangements rather than improvising connections to protective earth.
With wiring verified, match baud rate, data bits, parity, stop bits, device address, and RTU or ASCII framing. Change one setting at a time and record the outcome.
Browse cables and the accessory finder only after defining the interfaces. A connector match alone is not a compatibility check. For electrical precautions involving discrete ports, use the separate camera GPIO wiring guide.
Write a register contract before programming
A successful read proves that messages can pass. It does not prove that the PLC and vision application interpret the same inspection.
Create a shared mapping document with a row for every command, status, and result. Include register area, protocol address, displayed address, data type, access direction, scale, valid range, and update conditions.
The following is an illustrative application contract, not a product register map:
| Application field | Direction | Purpose |
|---|---|---|
| Request identifier | PLC to vision | Identifies the requested inspection |
| Recipe request | PLC to vision | Selects a validated inspection configuration |
| Request accepted | Vision to PLC | Confirms that the request was recognized |
| Busy | Vision to PLC | Indicates that an inspection is active |
| Result identifier | Vision to PLC | Associates the payload with its request |
| Result valid and outcome | Vision to PLC | Separates valid pass/fail data from invalid inspection data |
| Result acknowledgment | PLC to vision | Confirms that the PLC has consumed the payload |
| Fault code and heartbeat | Vision to PLC | Supports diagnostics and communication monitoring |
Modbus registers contain 16-bit values, but application data may span multiple registers. Define signedness, scaling, and multi-register word order explicitly. Do not assume that a floating-point value has the same word order in both implementations.
For example, an application could encode a measurement of 12.34 mm as the integer 1234 with a scale of 0.01 mm per count. That is an application convention, not an automatic Modbus conversion.
Address displays also vary. Some tools use reference numbers; others expect zero-based protocol offsets. Confirm the relationship using a documented test register before mapping the full inspection payload.
Make each result a complete transaction
A persistent pass bit is not enough to identify a new result. The PLC must distinguish a fresh inspection from retained data, a repeated request, and an interrupted transfer.
Use a documented state machine with the following behavior:
- The PLC presents a new request identifier and any required recipe data.
- The vision application accepts that identifier or reports a specific rejection.
- The application enters busy and acquires the required image or image set.
- The application completes the payload, publishes the matching result identifier, and asserts result ready.
- The PLC reads and validates the payload, then acknowledges that result identifier.
- The application releases the completed transaction according to the agreed reset behavior.
Define payload ownership carefully. One workable application contract holds the completed payload unchanged from result-ready publication until acknowledgment. A new result must not overwrite it while the PLC is reading.
This requires documented publication ordering and memory consistency in the controller application. Do not assume that writing several registers makes them an atomic snapshot. If the platform cannot hold a stable payload, use its supported snapshot mechanism or a specifically designed versioned transfer.
The PLC should verify the expected result identifier before acting. Specify duplicate-request handling, identifier wraparound, startup values, and recovery after either endpoint restarts. Repeated reads must not repeatedly operate the same reject mechanism.
Keep invalid inspection data separate from a genuine failed inspection. Missing images, unavailable recipes, and processing faults need distinct status handling. The vision diagnostics and PLC alarm mapping guide develops that separation further.
Calculate the communication budget
Serial throughput can limit polling before image processing becomes the bottleneck. Estimate transmission time using the configured framing:
Consider an illustrative RTU read of 10 holding registers. The request contains 8 bytes. A normal response contains 1 address byte, 1 function byte, 1 byte-count field, 20 data bytes, and 2 CRC bytes: 25 bytes total.
At 9600 baud with 11 bits per character:
That estimate excludes frame separation, server processing, turnaround, PLC scheduling, and retries. A complete polling cycle cannot fit within 20 ms under these assumptions.
For either transport, budget acquisition, processing, polling delay, data transfer, and PLC execution separately. Measure worst-case behavior with the intended payload and other communication traffic active.
Choose timeouts from measured performance and the documented recovery behavior. For example, a bench trial might start with a 200 ms polling interval and a 1 s communication watchdog. Those are illustrative test settings, not production recommendations. The process deadline and acceptable stale-data interval determine the final values.
Commission in layers and verify recovery
Start with a stationary, controlled test that cannot command hazardous motion. Keep production actuators inhibited through the machine's approved commissioning method.
- Record configuration. Save endpoint versions, protocol settings, interface selection, and addressing assumptions.
- Prove the physical connection. Check the Ethernet link or documented serial wiring before debugging registers.
- Read one known value. Use a documented register or an application test field with a deliberately selected value.
- Test a permitted write. Confirm it in the receiving application, not merely in the sender's successful-request counter.
- Verify data representation. Exercise negative values, scaling, and multi-register ordering where applicable.
- Run complete transactions. Check accepted, busy, ready, identifier matching, acknowledgment, and reset behavior.
- Interrupt communication. Under controlled conditions, test cable loss, application restart, and PLC restart.
- Repeat under load. Run intended inspections while logging latency, errors, stale identifiers, and missed deadlines.
Useful test patterns include 0, 1, 255, and 256 for a permitted unsigned test field. The transition across the byte boundary helps expose representation mistakes. Only write designated test fields, never unknown control registers.
Record what each endpoint retains after reconnection. A restored connection must not make an old result appear new. Keep engineering access restricted and limit network access to the endpoints and services required by the application.
Choose hardware only after the interface is proven
Compare vision controllers against the validated application requirements: camera interfaces, processing load, software entitlement, communication support, and recovery behavior. Port count is only one part of that decision.
The MV-VC3301H-128G66 is a catalog candidate for a controller-based architecture. Its listing does not establish the Modbus transport, role, or application mapping required for your PLC connection.
- LAN ports
- 5+ LAN ports
- USB 3 ports
- 3-4 USB 3 ports
- Light outputs
- 4 built-in channels
- Memory
- 8 GB
The MV-VC2140-128G40-1T provides another controller candidate. Apply the same protocol verification before treating it as an integration alternative.
- LAN ports
- 3-4 LAN ports
- USB 3 ports
- 2 USB 3 ports
- Light outputs
- 4 built-in channels
- Memory
- 8 GB
Ask for written confirmation of the exact supported transport, client/server role, serial electrical interface if needed, supported functions, and application mapping method. Include any required software options or licenses in that confirmation.
For cable selection, specify both endpoint connectors, documented pin assignments, electrical interface, routing conditions, and required length. A camera data cable or an I/O breakout is not automatically a suitable serial communication cable.
Camera data, power and I/O cables
401 models · from $22.00Recognize when Modbus is the wrong answer
Modbus suits many exchanges of inspection commands, status, identifiers, and compact numerical data. It is less attractive when the process needs large image transfers, tightly scheduled motion coordination, or richer structured messages than the application can conveniently map.
Do not replace a working hardware acquisition trigger merely to consolidate everything onto a polled register interface. Trigger timing and result transfer are different requirements. The external camera trigger timing guide explains the acquisition side.
A gateway is also the wrong shortcut if nobody owns its mapping, diagnostic behavior, and restart sequence. Adding another device without a transaction contract creates another place for stale data to persist.
Before ordering, confirm:
- A common protocol and complementary roles are documented.
- Serial framing and electrical interfaces are compatible where used.
- Addresses, data types, scaling, and word order are agreed.
- Result publication and acknowledgment prevent stale or mixed data.
- Communication loss and restart tests have defined outcomes.
- Measured timing meets the process deadline with margin.
- Required software permissions and licenses are included.
Use the accessory configuration step once the interface specification is complete. If protocol support or the register contract remains uncertain, send the endpoint documentation and timing requirements through application support before selecting hardware.
Questions
Does a TCP client setting mean the controller supports Modbus TCP?
No. Generic TCP support provides a connection for exchanging bytes, while Modbus TCP defines specific application messages. Both endpoints must explicitly implement compatible Modbus TCP roles, or supported application software must supply that functionality. Confirm the exact implementation rather than relying on an Ethernet port or TCP setting.
Is serial Modbus always Modbus RTU?
Serial Modbus can use RTU or ASCII framing. Both endpoints must support and select the same mode, along with compatible serial settings and electrical interfaces. A description that only says serial Modbus is incomplete for integration planning; obtain the detailed communication documentation before choosing the cable.
Should the PLC or vision controller be the Modbus client?
Either device can initiate requests if its documented implementation supports the client role. The other endpoint must provide the corresponding server interface and accessible data map. Choose the arrangement that fits the application software, PLC scheduling, and recovery requirements, rather than assuming the PLC must always initiate communication.
Can RS-485 terminals be connected by matching A/B or plus/minus labels?
Do not determine wiring from those labels alone. Label conventions can differ, and the connector may support a different electrical arrangement. Compare the documented signal definitions, connector assignments, reference requirements, and termination instructions for both endpoints before making or purchasing the connection.
How can the PLC avoid accepting an old inspection result?
Use a transaction identifier and a defined acknowledgment sequence, not only a retained pass bit. The PLC should accept a payload only for the expected inspection and reject stale or invalid data. Specify how completed data is held stable, how duplicate requests behave, and what happens after either endpoint restarts.

