Problem Overview
Integrating a Siemens SIMATIC MP277 operator panel with a legacy GE Fanuc Series 90-30 PLC is a routine brownfield requirement on retrofit machines where the original HMI has failed or is being upgraded. Communication fails most often because engineers assume that a generic RS232-to-RS485 converter plus the WinCC flexible "GE Fanuc SNP" driver is enough to bring up the link, when in reality the GE Fanuc SNP protocol requires a station address (SNP ID) to be explicitly configured on both the PLC and the HMI driver, and the serial port parameters on the MP277 must be byte-for-byte identical to those programmed into the Series 90-30 CPU configuration.
The failure presents as a "No connection" or "Connection failed" status in the WinCC flexible runtime, an offline state on the HMI, or successful communication from a laptop running Logicmaster 90-30 (LM90) but no traffic from the MP277. The root cause in nearly every documented case is one of three issues: an SNP ID mismatch between the WinCC bus address and the LM90-30 configuration, a serial parameter mismatch (baud rate, parity, data bits, stop bits), or a wiring error between the RS422 differential pair and the MP277 IF1B connector.
Hardware Reference and Identification
Before configuring any software, verify the exact hardware revisions on the bench. Component part numbers matter because the MP277 family was offered in several variants with different interface options, and the 90-30 CPU family spans more than ten models with varying COM port capabilities.
| Component | Common Part Numbers | Relevant Interface |
|---|---|---|
| Siemens MP277 6" Touch | 6AV6 643-0CB01-1AX1 | IF1B: RS422/RS485, IF2: USB |
| Siemens MP277 10" Touch | 6AV6 643-0DD01-1AX1 | IF1B: RS422/RS485, IF2: USB |
| Siemens MP277 6" Key | 6AV6 643-0BA01-1AX1 | IF1B: RS422/RS485 |
| Siemens MP277 10" Key | 6AV6 643-0DC01-1AX1 | IF1B: RS422/RS485 |
| GE Fanuc 90-30 CPU311 | IC693CPU311 | COM1: RS232 only |
| GE Fanuc 90-30 CPU313 | IC693CPU313 | COM1: RS232 only |
| GE Fanuc 90-30 CPU323 | IC693CPU323 | COM1: RS232 only |
| GE Fanuc 90-30 CPU331 | IC693CPU331 | COM1: RS232, COM2: RS485 |
| GE Fanuc 90-30 CPU340 | IC693CPU340 | COM1: RS232, COM2: RS485 |
| GE Fanuc 90-30 CPU341 | IC693CPU341 | COM1: RS232, COM2: RS485 |
| GE Fanuc 90-30 CPU350/351/352/360 | IC693CPU350, 351, 352, 360 | COM1: RS232, COM2: RS485 |
| GE Fanuc 90-30 CPU374 | IC693CPU374 | Ethernet + RS232 + RS485 |
| Programming Software (PLC) | Logicmaster 90-30 (LM90) v9.02 or later | SNP ID configured in CPU slot |
| HMI Configuration Software | WinCC flexible 2008 SP3 or later | "GE Fanuc Series 90-30/90-70 SNP" driver |
Cable and Converter Selection for MP277 to Series 90-30
The MP277 IF1B port is a male 9-pin sub-D wired for RS422 / RS485 differential signaling. It is not an RS232 port. The Series 90-30 CPU provides either an RS232 port (COM1) or an RS485 port (COM2) depending on the CPU model. To bridge a Series 90-30 RS232 (COM1) to the MP277 RS422 (IF1B), an active converter such as the Siemens RS232-to-RS422/485 converter (6AV6 671-8XE00-0AX0) is required; if you connect COM2 (RS485) directly, you can wire the differential pair straight to the MP277 IF1B without a converter, provided the shield is grounded at one end only.
Pin assignments for the MP277 IF1B (RS422 / RS485) connector as documented in the MP277 operator panel manual:
| Pin (DB9 Male) | Signal | Direction |
|---|---|---|
| 2 | TXD-/RXD- (negative differential) | Bidirectional |
| 3 | TXD+/RXD+ (positive differential) | Bidirectional |
| 4 | RTS- (hardware handshake, optional) | Output |
| 5 | CTS- (hardware handshake, optional) | Input |
| 7 | +5 V (do not connect; reserved) | N/A |
| 8 | Signal Ground (GND) | Reference |
When wiring directly to a 90-30 COM2 RS485 port, the GE Fanuc pinout for the 15-pin sub-D on COM2 maps TX+/RX+ to pin 12 and TX-/RX- to pin 13 with shield on pin 6. Always cross-check against the GFK-0582 GE Fanuc Serial Communications User's Manual before energizing.
Protocol Architecture: SNP over RS422/RS485
SNP (Serial Network Protocol) is the GE Fanuc master/slave serial protocol used for programming, HMI, and peer-to-peer traffic on the Series 90-30 platform. The slave (PLC) listens for an attach request from the master (LM90 laptop or MP277 HMI) and responds with its SNP ID. SNP supports point-to-point and multi-drop topologies, but for HMI use, point-to-point (one master, one slave) is most common.
An SNP master/slave session proceeds as follows:
- Master transmits an Attach Request (0x04) to the slave's SNP ID.
- If the ID matches the configured slave, the slave responds with Attach Response (0x0C).
- Master issues a Memory Read or Write request to a specific register, %AI, %AQ, %R, %M, etc.
- Slave replies with the requested data or an SNP NAK (0x32) on error.
- Master transmits a Detach Request (0x04 0x07) to release the session cleanly.
Because SNP is address-driven, a master that broadcasts an attach request to SNP ID 0 or to an ID that the PLC does not recognize will time out and the link will fail. This is the root cause of most "no connection" failures on the MP277 to 90-30 link.
Root Cause: Bus Address / SNP ID Mismatch
In WinCC flexible 2008 Communication (Part 2), the "GE Fanuc Series 90-30/90-70 SNP" driver exposes a connection parameter called Address or Station Address, sometimes labeled "Bus Address" in older 2005-era dialog boxes. This value must equal the SNP ID configured in the LM90-30 CPU configuration. The PLC ignores any attach request addressed to a different SNP ID and never replies, so the HMI logs a connection timeout.
Field-validated root causes, in order of frequency:
| # | Cause | Symptom |
|---|---|---|
| 1 | WinCC bus address left at default (0 or 1) while LM90 CPU configured with SNP ID = 2 or higher | Connection timeout within 5 s, "General connection error" |
| 2 | Baud rate mismatch (HMI at 19200 baud, PLC at 9600) | Garbled bytes; LM90 "com timeout" but HMI "no response" |
| 3 | Parity mismatch (HMI even, PLC none) | Periodic successful reads interspersed with NAKs |
| 4 | RS232-to-RS485 converter in 2-wire mode | Attach request never seen by PLC, no ACK |
| 5 | Tx/Rx polarity reversed on the differential pair | PLC sees noise on bus, returns NAK |
| 6 | IF1B of MP277 configured for RS232 in WinCC project instead of RS422 | HMI transmits single-ended, PLC ignores |
Configuring LM90-30 SNP ID
The SNP ID is set in the CPU configuration under Logicmaster 90-30. The valid range is 0 to 254 (0 is reserved for broadcast and should not be used as a slave ID). Use a unique non-zero ID for every 90-30 CPU on an SNP multi-drop segment.
- Connect the programming laptop to CPU COM1 (RS232) via the GE Fanuc SNP adapter cable (IC693CBL316 or equivalent USB-to-RS485 SNP adapter such as the GE USB-SNP cable).
- Launch Logicmaster 90-30 and go online with the target CPU.
- Open the Configuration rack view and double-click the CPU slot.
- In the CPU configuration dialog, select the SNP tab (or Serial Ports tab on CPU350/360).
- Set SNP ID to a value such as
2for a single-PLC HMI link. Avoid ID 0 and avoid duplicate IDs on multi-drop networks. - Set the SNP Baud Rate to 19200 (recommended) or 9600 (CPU311/313/323 maximum).
- Set Parity to
None, Data Bits to8, Stop Bits to1. - Store the configuration to flash with F2 or via the menu File > Store, then cycle the CPU key from STOP to RUN to apply.
Configuring WinCC Flexible 2008 Connection
The "GE Fanuc Series 90-30/90-70 SNP" driver is bundled with WinCC flexible 2008 but is not installed by default. Verify it appears in the Connections dialog of your project before continuing.
- Open the WinCC flexible project and select Project > Connections.
- Double-click an empty row to add a new connection. Set Communication Driver to "GE Fanuc Series 90-30/90-70 SNP".
- Set HMI Device to MP277.
- Set Interface to
IF1B(this selects the RS422/485 port on the panel). - Set Baud Rate to the same value configured in LM90 (e.g., 19200).
- Set Parity, Data Bits, and Stop Bits identically to the LM90 CPU configuration.
- Set Address (or Station Address) to the SNP ID entered in LM90-30, e.g.,
2. - Set CPU Slot to
0(rack slot where the CPU is mounted; usually 0 for 90-30 base rack). - Click OK and rebuild the project, then transfer to the MP277 panel.
For tag addressing in WinCC flexible, map GE Fanuc memory types as follows:
| GE Fanuc Memory | WinCC Flexible Address Format | Example |
|---|---|---|
| %I (Discrete Input) | I <byte>.<bit> |
I 10.0 |
| %Q (Discrete Output) | Q <byte>.<bit> |
Q 5.7 |
| %M (Internal Coil) | M <byte>.<bit> |
M 100.3 |
| %AI (Analog Input) | AI <word> |
AI 1 |
| %AQ (Analog Output) | AQ <word> |
AQ 4 |
| %R (Register) | R <word> |
R 100 |
Serial Parameter Reference Table
| Parameter | Valid Values for SNP | Recommended Default | Where Set on MP277 Side | Where Set on 90-30 Side |
|---|---|---|---|---|
| Baud Rate | 1200, 2400, 4800, 9600, 19200, 38400 | 19200 | WinCC flexible connection | LM90 CPU SNP tab |
| Parity | None, Even, Odd | None | WinCC flexible connection | LM90 CPU SNP tab |
| Data Bits | 7, 8 | 8 | WinCC flexible connection | LM90 CPU SNP tab |
| Stop Bits | 1, 2 | 1 | WinCC flexible connection | LM90 CPU SNP tab |
| SNP ID (Address) | 0-254 (avoid 0) | 2 | WinCC flexible "Address" | LM90 CPU SNP ID |
| Protocol | SNP, SNP-X | SNP | WinCC flexible driver selection | LM90 CPU port mode |
| Hardware Flow Control | None, RTS/CTS | None | WinCC flexible connection | LM90 CPU flow control setting |
Step-by-Step Commissioning Procedure
- Verify bench power and isolation. Confirm 24 VDC on the MP277, the 90-30 rack is powered, and any RS232-to-RS485 converter is correctly terminated.
-
Connect LM90 to CPU COM1. Use the GE Fanuc SNP adapter cable. Go online and verify you can read/write a known register such as
%R00001. -
Configure the SNP ID. In LM90 CPU configuration, set SNP ID =
2, baud =19200, parity =None, data bits =8, stop bits =1. Store and cycle CPU key. - Disconnect LM90. Remove the programming cable so the MP277 has exclusive use of the COM port. On COM2 (RS485) you can leave LM90 attached and daisy-chain the HMI.
- Wire the MP277 IF1B to the chosen 90-30 port. For RS232 (COM1) use an active converter. For RS485 (COM2) wire pin 2 to PLC pin 13 and pin 3 to PLC pin 12; connect shield to PLC pin 6 at one end only.
- Open the WinCC flexible project. Edit the connection: set interface = IF1B, baud = 19200, parity = None, 8/1, Address = 2. Save and rebuild.
- Transfer the project to the MP277. Use serial transfer, Ethernet, or USB depending on what is available. Do a power cycle on the panel.
- Verify online status. On the MP277, navigate to Start > Settings > OP > Properties or use the WinCC flexible system diagnostics to confirm the connection state shows "Connected".
-
Test a tag animation. Force a bit in LM90 (
%M00001 = 1) and verify the indicator on the panel changes.
Verification and Diagnostics
Three reliable verification methods are available without external instruments:
- WinCC flexible Runtime Diagnostics: On the MP277, go to Start > Settings > OP > Diagnostics. A healthy connection shows the configured connection with a green status indicator and the last-poll timestamp updating.
-
Force a bit and observe: From LM90, force a discrete output such as
%Q00001 = 1. The corresponding indicator on the HMI should change state within one HMI poll cycle (typically 250-1000 ms depending on tag group update rates). - Sniffer LED on converter: Most active RS232-to-RS485 converters have TD and RD LEDs. On a successful link you should see brief flickers every poll period. Constantly-on LEDs indicate a stuck driver, often a 2-wire vs 4-wire mode mismatch.
Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic Action | Remedy |
|---|---|---|---|
| HMI shows "No Connection", no comm activity | SNP ID mismatch or wrong interface (IF1A vs IF1B) | Verify WinCC Address matches LM90 SNP ID | Set WinCC Address = LM90 SNP ID |
| LM90 communicates, HMI does not | Converter in 2-wire mode or Tx/Rx swapped | Check converter DIP switch and polarity | Set 4-wire; correct differential polarity |
| Intermittent NAK every 30 s | Parity mismatch | Compare Parity fields in WinCC and LM90 | Set both to None |
| Successful connection for 5 s then drops | RS485 termination missing on long cable runs | Measure cable length; if > 10 m add 120 ohm termination at last node | Add 120 ohm resistor across + and - lines at far end |
| Runtime shows "General connection error" | Wrong CPU slot in WinCC project | Verify slot where CPU is installed (usually 0) | Set CPU Slot = 0 in connection |
| WinCC build warns "driver not licensed" | GE Fanuc SNP driver not installed in WinCC flexible | Check installed options in WinCC flexible setup | Reinstall WinCC flexible with "GE Fanuc SNP" option selected |
| HMI connects but tags show "###" or stale | Address mapping mismatch (WinCC AI vs LM90 %AI) | Read same register from LM90 and HMI; compare | Re-map tags using the address translation table |
| All registers read as 0 from HMI | CPU in STOP or program not loaded | Check CPU RUN LED; verify program logic writes to polled registers | Place CPU in RUN and confirm logic is scanning |
Edge Cases and Field Notes
Multi-drop SNP: When multiple 90-30 CPUs are chained on a single RS485 bus, each CPU must have a unique SNP ID. The MP277 WinCC project must define a separate connection per CPU with each connection's Address field set to the corresponding SNP ID. The HMI will poll each connection sequentially based on its configured update rate.
CPU311/313/323 COM1 limitations: These older CPUs have RS232 only on COM1; they do not provide COM2 in the base CPU. To connect an RS422 HMI you must use an external RS232-to-RS422 converter. Verify the converter is configured for 4-wire full-duplex before commissioning.
SNP-X versus SNP: SNP-X is the multi-drop variant used in some larger Series 90-70 configurations. WinCC flexible 2008 only supports the standard SNP protocol; do not select SNP-X in the LM90 configuration or the HMI will not attach.
Ethernet alternative: If the application can be re-architectured, a CPU374 or an ETM001 Ethernet module on the 90-30 will deliver deterministic SRTP communication over Ethernet at 10/100 Mbps. The Pro-face GE Fanuc PLC Connection Manual (GPW-GEF_ETH-MH02E) documents the SRTP / Ethernet path for legacy integration.
MP277 panel commissioning via USB: When project transfer from PC to MP277 is over USB, the IF1B RS422 port remains free for SNP. Make sure the WinCC flexible "Transfer" settings are configured for USB and the runtime "Connection" settings are configured for IF1B; mixing these up is a common commissioning-day mistake.
Firmware compatibility: WinCC flexible 2008 SP3 is the last service pack that shipped the GE Fanuc SNP driver. Later WinCC versions (TIA Portal WinCC) do not include the legacy driver; if you migrate the HMI to TIA Portal you must use either an S7-1200/S7-1500 front-end or a third-party gateway (e.g., Modbus/TCP to SNP) to bridge.
Frequently Asked Questions
Why does my Siemens MP277 show "No connection" to a GE Fanuc 90-30 PLC even though Logicmaster 90-30 can communicate from the laptop?
The most likely cause is an SNP ID mismatch. The WinCC flexible "Address" field in the connection must equal the SNP ID configured in LM90-30 under the CPU configuration's SNP tab. Both sides must also agree on baud rate, parity, data bits, and stop bits (recommended: 19200, None, 8, 1).
Where exactly do I find the SNP ID setting in Logicmaster 90-30?
Open the LM90 configuration, select the CPU slot, then open the SNP (or Serial Ports) tab. The SNP ID field accepts integers 0 to 254; avoid 0 because it is the broadcast address. Click Store and cycle the CPU key from STOP to RUN to apply.
Can I connect the MP277 directly to the Series 90-30 COM2 (RS485) without a converter?
Yes. Wire MP277 IF1B pin 3 (TX+/RX+) to 90-30 COM2 pin 12 and pin 2 (TX-/RX-) to pin 13. Connect shield to pin 6 at one end only. Use 120 ohm termination at the far end if the cable run exceeds 10 m.
What baud rate should I use for an MP277 to 90-30 SNP link?
Use 19200 baud on any CPU that supports it (CPU331 and later). The CPU311/313/323 supports up to 19200 as well, but no higher. Newer CPUs (CPU350/360) accept 38400 on COM2. Match the WinCC flexible baud rate field exactly to the LM90 SNP baud rate.
Do I need a special driver in WinCC flexible to talk to a GE Fanuc 90-30?
Yes. Install the "GE Fanuc Series 90-30/90-70 SNP" option during the WinCC flexible 2008 SP3 setup. Without that option selected at install time, the driver will not appear in the connection list and the project will fail to compile when an SNP connection is referenced.
Can I multi-drop several 90-30 CPUs to one MP277 panel?
Yes, on RS485 (COM2). Assign each CPU a unique SNP ID (for example 2, 3, 4), wire all CPUs in parallel on the RS485 bus with 120 ohm terminations at each end, and create one WinCC flexible connection per CPU with the Address field set to the matching SNP ID.