The GS20A-CM-ENETIP card can pass a read while a Productivity 2000 write fails because the read result does not prove that the write instruction and adapter are using the same application protocol. For GSR and GSW, configure the card for Modbus communication. Set P09.74 to 0, which enables both EtherNet/IP and Modbus TCP, instead of 1, which selects EtherNet/IP only.
Skip the quick fixes that do not address the protocol
Do not start by changing the polling offset, replacing the option card again, or treating a successful read as proof that the whole channel is correct. Those actions leave the protocol mismatch untouched.
| Observation or attempted fix | What it tells you | Next action |
|---|---|---|
| Read reports success | The network path and at least one transaction can work. It does not validate the write instruction's protocol or target. | Identify the PLC instruction used for writing. |
| Write shows “No Parameters” while off | The write operation is not active or does not have an active request to process. | Trigger it under controlled conditions and capture the active result. |
| Write shows “slave device fa” when triggered | The request reaches the point where the slave transaction fails. Check protocol selection before offsets. | Read P09.74 from the drive. |
| Replacement communication card behaves the same way | A repeated configuration or protocol problem is more likely than two identical card failures. | Compare the card parameter and PLC instruction type. |
| Polling offset separates read and write | The transactions are time-separated, but timing cannot translate one protocol into another. | Correct P09.74 first. |
Get it running, then fix it properly: restore the correct protocol selection, prove one write, and only then revisit scheduling or polling performance.
Identify which protocol the PLC instruction actually uses
Start at the Productivity 2000 program, not at the Ethernet connector. The GSR and GSW instructions use Modbus communication. A GSW request therefore needs the adapter to accept Modbus TCP, even though the option card is named GS20A-CM-ENETIP and can also handle EtherNet/IP.
This is the mechanism behind the confusing symptom. Ethernet is only the network transport. EtherNet/IP and Modbus TCP are different application protocols with different request formats and object or register models. A live cable, reachable IP endpoint, or successful transaction through one configured path does not make a request encoded for the other protocol valid.
- Open the write rung and confirm that the failing operation is
GSW. - Confirm that the read operation is
GSRor record how it differs from the write path. - If the write is
GSW, follow the Modbus TCP branch and inspectP09.74. - If the write uses a different instruction or messaging method, stop this branch and verify that method's required protocol in the applicable PLC and drive documentation.
Read P09.74 and take the matching branch
Read the actual stored value of P09.74 from the drive. Do not rely on a project note or a value copied from another machine.
P09.74 value |
Communication mode | Decision |
|---|---|---|
0 |
EtherNet/IP and Modbus TCP | Compatible with GSR/GSW. Continue to request validation if the write still fails. |
1 |
EtherNet/IP only | Wrong branch for a Modbus-based GSW. Change it to 0. |
2 |
Modbus TCP only | Provides Modbus TCP, but removes EtherNet/IP operation. Use it only when the installation does not need EtherNet/IP. |
The stated default for P09.74 is 1. A drive configured according to EtherNet/IP-only guidance can therefore read successfully through one path yet reject a GSW transaction. For a system that may need both protocols, 0 resolves the mismatch without disabling EtherNet/IP.
Prove the write request before changing its offset
After confirming that Modbus TCP is enabled, examine the request itself. The polling offset only controls when the read and write are launched; it does not correct the protocol, destination, parameter selection, or write data.
- Record the drive's present command state and the value that the write will change.
- Use a harmless test value or a command condition that cannot unexpectedly start the motor. Keep the run command inhibited if the machine state is not safe for motion.
- Trigger one write request rather than leaving it continuously retriggered.
- Capture the instruction status while active. Distinguish an inactive “No Parameters” indication from the active “slave device fa” result.
- If the failure remains with
P09.74set to0, verify the configured drive address or parameter reference, write quantity, data layout, and destination IP in the PLC project. Read these items from the working project and current documentation rather than guessing values.
Only adjust the polling offset after an isolated request succeeds. If several motors share PLC communication resources, avoid overlapping one-shot requests while troubleshooting; otherwise a scheduling problem can hide the result of the protocol correction.
Apply the protocol correction in a controlled state
- Place the driven equipment in a state where an unintended command cannot create motion or process risk.
- Open the GS drive communication settings and locate
P09.74, Comm Master Protocol. - Record the original value.
- Set
P09.74to0for combined EtherNet/IP and Modbus TCP operation. - Apply the parameter change using the drive's normal configuration method. If the interface indicates that an activation step is required, follow the drive documentation rather than cycling power blindly.
- Confirm that the displayed or uploaded value remains
0. - Trigger a single
GSWrequest and monitor its completion status.
Setting P09.74 to 2 can also expose Modbus TCP, but it selects Modbus TCP only. That is the wrong repair when another controller or supervisory connection still needs EtherNet/IP.
Verify recovery and document the permanent fix
Prove both communication directions after the change. A cleared instruction error alone is not enough; the target value must change and read back correctly.
- Write one known, safe value with
GSW. - Wait for the write instruction to report successful completion without “slave device fa.”
- Read the same target back through the configured read path.
- Compare the commanded and returned values, accounting for the project's established data representation.
- Repeat the transaction several times using the normal polling sequence.
- Confirm that the other motors using Modbus communication continue to update and that any required EtherNet/IP connection remains operational.
- Save the corrected drive parameter set and annotate the PLC project:
GSR/GSWrequire Modbus communication, andP09.74 = 0enables Modbus TCP while retaining EtherNet/IP.
If writes fail only after multiple requests begin running, move to scheduling diagnostics: watch for simultaneous triggers, requests that never clear, or logic that launches a new operation before the previous one completes. Do not use larger offsets to mask a request that fails even when run alone.
FAQ
How do I make GSW write to a GS20A-CM-ENETIP card?
Configure the card to accept Modbus TCP because GSW uses Modbus communication. Set Comm Master Protocol P09.74 to 0 when both EtherNet/IP and Modbus TCP are needed.
How do I interpret P09.74 on a GS20 drive?
0 enables EtherNet/IP and Modbus TCP, 1 selects EtherNet/IP only, and 2 selects Modbus TCP only. The stated default is 1.
How do I troubleshoot “slave device fa” on a Productivity 2000 write?
First identify the write instruction's protocol. For GSW, read P09.74; if it is 1, change it to 0, then test one isolated write before changing offsets.
How do I verify that the GS20 write is really fixed?
Write one safe known value, confirm successful instruction completion, and read the same target back. Then repeat the test through the normal polling sequence and check every required communication path.
How do I know when to stop troubleshooting the GS20 connection?
Stop if P09.74 is 0, an isolated GSW still fails, and the destination, parameter reference, quantity, and data layout match the documentation. Record the drive model GS23-55PO1, card model GS20A-CM-ENETIP, parameter value, PLC instruction status, and test results, then escalate through AutomationDirect's official support channel; also stop immediately if a test could cause unsafe motion.