Configuring Segnetics SMH2010 Modbus on One COM Port

Tom Garrett5 min read
ModbusOther ManufacturerTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

The SMH2010-1121-01-5 has one populated COM interface. That hardware limit determines the usable Modbus roles: the normal configuration supports Modbus slave operation on the available port, while Modbus master requests compete with the same port used for programming. An unpopulated connector footprint does not constitute a second serial channel.

Wrong fixes and their failure modes

The first attempted fix is often to assign master requests to the only working port. The programming environment rejects that arrangement because the requests are configured on the current programming port. Even if an older runtime accepts it, continuous master traffic can prevent the programming tool from reconnecting.

Soldering a 6P6C connector onto the unpopulated board footprint also fails. A serial port requires more than its connector: the interface path may depend on a transceiver, protection and bias components, power routing, controller signals, board-option population, and firmware support. The empty footprint provides no evidence that those dependencies exist.

Replacing only the suspected transceiver is equally unreliable. A partially populated option circuit cannot be reconstructed safely from component appearance or package family. Installing an incorrect device can damage the controller or the connected serial network.

Item Usable limit or condition Where to read it
Populated COM ports One on SMH2010-1121-01-5 Controller modification and physical inspection
Normal Modbus role Slave on the available COM port Target configuration in the programming software
Master configuration Conflicts with the current working/programming port Configuration or compilation diagnostic
Unpopulated 6P6C Not a functional second port Board population, circuit documentation, and supported hardware options

Single-port architecture

The number that matters is one: one physical serial channel must carry both engineering access and application communication. Modbus slave operation is workable because the controller remains passive until an external master sends a request. The application does not need to schedule outbound polling cycles on that port.

Modbus master operation changes ownership of the channel. The controller initiates requests, waits for responses, handles timeouts, and repeats the configured transactions. Those cycles can occupy the same communications service that the programming tool needs for download and online access. This is port arbitration, not a missing Modbus protocol stack.

The empty connector position does not change the channel count. A connector exposes an already implemented interface; it does not create the transmitter, receiver, signal routing, or firmware resource behind that interface.

Port-contention mechanism

Programming and Modbus master traffic both require predictable access to the serial channel. When master requests run continuously, the programming handshake may receive no usable interval in which to establish control of the port. The programming environment therefore blocks or warns about assigning master requests to the active working port.

An old logic/runtime option for the C2010 reportedly allows master operation on its single port. That route carries a specific recovery risk: if the application provides no way to disable master requests, the first download can start permanent polling and make the next download inaccessible through that port.

No safe polling period or timeout can be prescribed from the controller modification alone. Read those values from the actual slave-device requirements and the programming environment. More importantly, design an explicit inactive state in which no master transaction executes.

Working Modbus slave procedure

  1. Select the exact SMH2010-1121-01-5 target or its supported single-port configuration in the programming environment.
  2. Remove or disable every Modbus master request assigned to the current working port. Resolve the port-conflict diagnostic before downloading.
  3. Configure the available COM interface for Modbus slave operation. Set its serial format and slave address to match the external master; read the supported choices from the controller configuration dialogs rather than copying values from another controller.
  4. Map the application variables that the external master must read or write. Keep command data separate from status data so a communications test cannot unintentionally operate equipment.
  5. Download the application while the programming connection still owns the port.
  6. Disconnect the programming session as required by the interface arrangement, connect the external Modbus master, and issue a read to a known mapped status value.

The external device must be the master in this arrangement. If the application requires the controller to poll downstream devices, the standard slave configuration does not satisfy the architecture.

Exceptional single-port master path

Use the old C2010 master-capable logic only when the exact controller and programming package accept it and a recovery method has been proven. Treat the master-request enable as a commissioning interlock.

  1. Create a program state that leaves all master requests disabled after startup.
  2. Provide a controllable condition that enables polling only after commissioning. The condition must remain accessible without relying on the same Modbus exchanges it disables.
  3. Download and confirm that the programming tool can disconnect and reconnect while requests remain disabled.
  4. Enable one request and verify its response before enabling the remaining schedule.
  5. Return to the disabled state and prove that another program download is possible.

If the software cannot provide a dependable request-disable path, select hardware with a separately supported communications interface. Recoverability is part of the design requirement.

Verification and recurring pitfalls

For slave operation, verify three layers separately. First, confirm that the programming configuration contains no master request on the working port. Second, confirm that the external master receives a valid response from the configured slave address and serial format. Third, change a controlled test variable and verify that the mapped Modbus value follows it in both directions where writes are permitted.

For the exceptional master arrangement, the decisive test is not one successful poll. Disable the requests, reconnect the programming tool, and complete another controlled download. A design that communicates but cannot be serviced has failed commissioning.

Common pitfalls include treating a connector footprint as a complete interface, changing several serial settings at once, enabling every request before testing recovery, and using a write test on an active command variable. Keep the first test read-only and record the working address, serial format, role, and request-disable condition.

FAQ

How do I use Modbus on an SMH2010-1121-01-5?

Configure its single COM interface as a Modbus slave, then use an external device as the master. Match the slave address and serial format at both ends and test a known read-only mapped value first.

How do I add a second COM port to the SMH2010?

Soldering the unpopulated 6P6C connector does not create a working port. A second channel depends on the complete board option, signal routing, interface components, and firmware support; use a controller modification with the required supported interface.

How do I run Modbus master without losing programming access?

Use the old C2010 master-capable logic only if it accepts the exact target, and program a proven condition that disables all requests before testing communication. Stop if requests cannot be disabled or the programming tool cannot reconnect after a controlled test. Escalate to Segnetics official support for the supported hardware option, recovery procedure, or confirmation of the required controller modification.

Back to blog