Configuring Modbus Plus for Three 984-A145 Controllers

James Nishida6 min read
Best PracticesModbusSchneider Electric
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

After selecting MSTR for scheduled transfers and Specific I/O for continuous exchanges, the three 984-A145 controllers can communicate without adding an application acknowledgment merely to keep communications running. Both methods use Modbus Plus and the same transport media; the deciding factors are scheduling, response-time requirements, and whether the program must terminate a transfer.

Approach comparison

Before anything else, classify each controller-to-controller data exchange by timing and control requirements. Neither approach is inherently more robust because both operate through the same protocol and physical network. Changing the instruction type does not correct cabling, termination, addressing, or network-load problems.

Decision criterion MSTR Specific I/O / Peer Cop
Execution model Launched and scheduled by controller logic Runs continually once configured
Request timing The program controls when a transaction starts The exchange is not scheduled by application logic
Determinism Provides deterministic request scheduling when logic controls the launch sequence Cannot guarantee a response time because it operates continually and is not program-scheduled
Program termination The program can terminate the operation The program does not control each exchange as a discrete transaction
Application acknowledgment Not required to make communication operate Not required to make communication operate
Monitoring The function exposes operation status for logic supervision Operation can also be monitored with an MSTR-based diagnostic strategy

Method selection

Use MSTR when the application must control transaction order, allocate communication time among the other two controllers, detect completion before launching another request, or abort an operation. This is the recommended method when bounded sequencing matters more than continuous background exchange.

Use Specific I/O when the application needs a continually refreshed data area and does not require a guaranteed response time for each update. It reduces the need to launch every transfer from logic, but the application still needs a separate freshness or health decision if stale data could affect the process.

Do not treat the acknowledgment mentioned in a Specific I/O configuration as a prerequisite that makes the exchange execute. No application acknowledgment is required for either method. If the process needs proof that a remote controller has consumed a command or produced new data, implement that as an application handshake. That handshake validates data use; it does not drive the underlying Modbus Plus exchange.

MSTR commissioning procedure

  1. Define each transfer. Record the source controller, destination controller, data direction, starting data location, and transfer length. Check that the source and destination ranges represent the same data layout. Do not move on until every transferred word has one documented owner and meaning.
  2. Separate the peer transactions. Create distinct operations for the required paths among the three 984-A145 controllers. Avoid launching overlapping operations from one controller unless its documented execution model explicitly supports that pattern.
  3. Schedule each request. Trigger an MSTR operation from a controlled sequence rather than continuously asserting its launch condition. Wait for completion or error status before advancing that sequence. This makes request initiation deterministic even though physical-network faults can still delay or prevent completion.
  4. Handle termination. Add a program condition that terminates an operation when the machine state no longer permits the transfer or when the supervisory logic declares the attempt failed. Clear the launch condition before starting a retry.
  5. Supervise status. Evaluate the operation state and result supplied by MSTR. Permit dependent control logic only after a successful completion, and route an unsuccessful result to a defined retry, hold, or fault path.
  6. Commission one path at a time. Prove one request and its returned status before enabling the next controller path. Confirm that the intended destination changes and that unrelated data remains unchanged.

Specific I/O commissioning procedure

  1. Map the exchanged data. Define the producing controller, consuming controller, and data range for every continual exchange. Check for overlapping writers; a data item must not receive competing values from multiple peers.
  2. Activate one exchange. Enable a single Specific I/O relationship and observe the destination data. Do not move on until a controlled source change appears at the expected destination location.
  3. Add the remaining peers. Introduce each controller relationship separately. A staged startup isolates addressing, mapping, and network faults that would otherwise appear simultaneously.
  4. Separate transport health from process acknowledgment. Monitor whether communication remains active, but add a sequence number, toggled state, or command-response value only when the application must prove fresh data or remote action. The application handshake must not be mistaken for a requirement of Specific I/O itself.
  5. Define stale-data behavior. Decide whether the consuming logic holds the last value, inhibits dependent outputs, or enters a controlled fault state when freshness monitoring stops changing. Base that decision on process risk and the meaning of the transferred data.

Timing and acknowledgment mechanism

An MSTR transaction has a program-controlled lifecycle: launch, active execution, completion or error evaluation, and optional termination. The controller logic therefore decides when traffic is requested and can serialize communications with the other controllers. Deterministic scheduling means the program controls request order and launch conditions; it does not make a damaged or overloaded network deliver a response.

Specific I/O operates as a continual peer exchange. Because application logic does not schedule each individual transfer, the program cannot guarantee the response time of a particular update. It remains suitable where continual refresh is more important than knowing exactly when each request began.

Communication completion and application acknowledgment answer different questions. Communication status indicates whether the transfer mechanism operated. An application acknowledgment indicates that remote logic saw, accepted, or acted on a value. Add the second only when the control sequence requires that proof.

Diagnostics, verification, and recurring pitfalls

Observed symptom Check Action
An MSTR operation never completes Launch sequencing, active state, result status, destination definition, and Modbus Plus path Remove repeated launch conditions, inspect the reported result, and test one destination at a time
Specific I/O data appears stale Source value changes, configured mapping, peer identity, and freshness indicator Force a controlled source change and trace it through the mapped destination
Updates arrive but response time varies Whether the exchange uses continual Peer Cop operation Move timing-sensitive transfers to scheduled MSTR logic
Logic waits forever for an acknowledgment Whether the acknowledgment is a process handshake or was incorrectly added as a transport requirement Remove it from communication enable logic, or define both sides of a deliberate process handshake
Changing methods does not fix failures Shared protocol and transport components Inspect network media, termination, controller addressing, mapping, and load rather than treating the instruction type as the root cause

Verify communications with controlled data patterns, not a value that may legitimately remain constant. For MSTR, confirm launch, active state, successful completion, and correct destination data for every path. For Specific I/O, confirm repeated source changes reach the consumer and that the stale-data response activates when freshness stops.

Frequently asked questions

Why does MSTR provide more deterministic communication?

MSTR lets controller logic schedule each request, wait for its result, and control the order of transfers. That makes request initiation deterministic, while network faults can still prevent a response.

Why does Specific I/O need an acknowledgment?

It does not need an application acknowledgment to make the communication operate. Add a handshake only when the process must prove that remote logic received or acted on fresh data.

Why does Peer Cop response time vary?

Specific I/O runs continually and is not scheduled by application logic, so a particular update has no guaranteed response time. Use scheduled MSTR transactions when transfer order and timing must be controlled.

How do I verify all three 984-A145 controllers communicate?

Commission one peer path at a time, change a known source value, confirm the exact destination changes, and inspect the operation status. Finish by repeating that test for every required path while all configured exchanges are active.

Back to blog