1. System Overview and Component Identification
The integration described in this reference combines four field assets on a single Omron Host Link segment:
- Omron C200HS CPU — the controller that owns all DM and CIO memory.
- Omron C200HS-LK201-V1 — a rack-mounted Host Link module providing one RS-232C channel toward the HMI and one toward the PC.
- Proface touch screen — the operator interface, configured with a "System Area" of DM100.
- Barcode scanner — ASCII string source that must reach both the PLC and the PC.
The C200HS does not execute Protocol Macro (PMCR) instructions; that capability was added on the CJ1/CS1 platforms. Any serial string handling on this generation must either be offloaded to an intelligent module (such as the C200H-ASC02 ASCII/BASIC module) or be passed through the HMI's pass-through function if the HMI supports it.
2. LK201-V1 Front-Panel DIP Switch Configuration
The LK201-V1 module has two rotary switches (SW1, SW2) on the front panel for the Host Link unit number and two banks (SW3, SW4) that select baud rate and command level. Field-confirmed values for a Proface touch screen at 9600 baud are listed below.
| Switch | Function | Recommended Setting | Notes |
|---|---|---|---|
| SW1 (×10) | Host Link unit number, tens digit (BCD) | 0 | Must match Proface host address |
| SW2 (×1) | Host Link unit number, ones digit (BCD) | 0 | 00–31 valid for C200HS Host Link |
| SW3 | Baud rate | 5 | Position 5 = 9600 baud (confirmed working) |
| SW4 | Command level / parity / stop bits | 2 | Position 2 = 7-E-2 Host Link frame |
SW3 decode (Host Link standard, valid for C200HS-LK201-V1):
| SW3 Position | Baud (bps) | SW3 Position | Baud (bps) |
|---|---|---|---|
| 0 | 300 | 4 | 4800 |
| 1 | 600 | 5 | 9600 |
| 2 | 1200 | 6 | 19200 (verify CPU support) |
| 3 | 2400 | 7+ | Reserved / CPU-dependent |
SW4 select bits for Host Link frame format:
| SW4 | Frame | Use Case |
|---|---|---|
| 0 | 7-E-2, level 1,2,3 | Default Host Link (C-mode) |
| 1 | 7-N-2, level 1,2,3 | No-parity legacy devices |
| 2 | 7-E-2, level 1,2,3 | Proface default (field-confirmed) |
| 3 | 7-N-2, level 1,2,3 | No-parity HMI variant |
3. Host Link Communication Parameters
Omron Host Link (C-mode) is a polled master/slave ASCII protocol running at RS-232C levels. For the C200HS-LK201-V1 the recommended baseline is:
| Parameter | Value |
|---|---|
| Baud rate | 9600 bps |
| Data bits | 7 |
| Parity | Even |
| Stop bits | 2 |
| Flow control | None (Host Link uses X-on/X-off, not RTS/CTS) |
| Protocol | Host Link (C-mode) — ASCII framed with @ … * CR |
| Unit number | 00 (set by SW1=0, SW2=0) |
A typical Host Link read of DM0100 is sent as the following 17-byte ASCII frame:
@00RD01000001*
Where:
-
@— start of text -
00— unit number (matches SW1/SW2) -
RD— read DM area command -
0100— starting word (DM100) -
0001— number of words -
*— terminator identifier -
\r(0x0D) — carriage return
For the C200HS, the address encoding is 4-digit BCD for DM, IR/CIO, HR, AR, LR, and T/C flag areas. The FCS (frame check sequence) byte is computed as the two's complement of the lower 8 bits of the sum of every ASCII byte from @ through the byte just before *.
4. Proface System Area and DM Register Mapping
The Proface "System Area" is a reserved DM block that the HMI writes automatically to indicate screen number, control status, error codes, and the current values of any numerical display or input field bound to a DM address. Configuring the System Area to DM100 allocates a contiguous block starting at DM100.
| Word | Function (typical, GP-Pro default) |
|---|---|
| DM100 | Current screen number (write by HMI) |
| DM101 | Reserved |
| DM102 | Error status / system code |
| DM103–DM109 | User data area 1 (mapped to numeric display parts) |
| DM110+ | Additional user-controlled data area |
Writes to DM100 and the surrounding block are expected behavior; the HMI is updating them on every screen change and on every numerical input. The PLC ladder should treat DM100–DM109 (or however many words the System Area spans) as HMI-owned and never overwrite them from a MOV or arithmetic instruction.
5. Why DM100, DM260, DM6000–DM6030 Are Changing
Three independent writes explain the field observations:
- DM100 — Proface System Area base. The HMI is writing screen number and status here every cycle. This is normal.
- DM260 — Falls inside an expanded user-data portion of the System Area (offset 160 from DM100) or is being used as a numeric display/entry part's address inside the GP-Pro project. Confirm the System Area size in the GP-Pro screen setup; default can be 10, 20, or 30 words. A value showing up at DM260 implies the System Area was expanded or a control was bound to a specific DM address within it.
- DM6000–DM6030 — C200HS Error History storage area. Per the C200HS Operation Manual (W130-E1-□, page 55), this range records non-fatal error log entries when error history is enabled in PLC Setup. Any recorded communication error, syntax error, or expansion rack fault will be timestamped and written here. Values appearing here are the PLC's own log of the very Host Link error the HMI may also be showing.
6. C200HS-LK201-V1 Host Link Frame: Quick Diagnostic
Use a passive RS-232C tap (Y-cable or breakout) to monitor the LK201-V1 port with a laptop running a terminal at 9600-7-E-2. Expected traffic after a Proface screen change:
PC -> LK201 : @00RD00100001F7*<CR>
LK201 -> PC : @00RD001000014000010000F6*<CR>
Common error returns that will populate DM6000:
| Host Link Response Code | Meaning | Likely Cause |
|---|---|---|
| 00 (normal completion) | OK | — |
| 13 (FCS error) | Frame Check Sequence mismatch | Noise, baud mismatch, broken cable |
| 14 (format error) | Command length or syntax | HMI sending wrong address format |
| 15 (entry number invalid) | Word count out of range | HMI reading more than 1000 words at a time |
| 18 (frame length error) | Length byte wrong | Exceeds 131 chars including @ and *CR |
| 21 (address range error) | Address exceeds DM6143 | Proface System Area set too high |
7. Barcode Scanner Integration Options
On a C200HS, three viable paths exist for getting ASCII barcode data into the controller:
7.1 Proface Pass-Through (preferred, no extra hardware)
Many Proface GP-series panels expose a "Bar Code" or "Pass-Through" part that writes the scanner's serial string into a consecutive DM block. The PLC then sees the scan data in ladder-usable ASCII words. The Proface serial port (RS-232C) is configured for the scanner, the LK201-V1 port is independent. Verify in the GP-Pro project whether the target firmware supports this — older GP units do not.
7.2 C200H-ASC02 ASCII/BASIC Module
The C200H-ASC02 is a special I/O module that runs a BASIC program to parse incoming ASCII strings and write them into allocated DM words. It occupies one slot in the C200HS rack, requires its own RS-232C port configuration, and a BASIC program written with the ASC02 Support Software. The C200HS ladder reads the result words with normal MOV(021) instructions.
| Module | Catalog | I/O Words Used | Ports | Notes |
|---|---|---|---|---|
| C200H-ASC02 | C200H-ASC02 | 10 words (allocation) | 2 × RS-232C | BASIC interpreter, no PMCR needed |
| C200H-ASC11 | C200H-ASC11 | 10 words | 1 × RS-232C + 1 × RS-422/485 | Same BASIC, different connector mix |
7.3 Direct PC Routing (no PLC involvement)
If the objective is strictly "barcode → PC," connect the scanner to the Proface and use the Proface's Pass-Through feature, or connect the scanner directly to the PC's COM port. The PLC is bypassed entirely. This is the simplest path when the PC is the only required data sink.
8. PC Serial Connection Wiring (LK201-V1 25-pin ↔ PC 9-pin)
The LK201-V1 presents a DB-25 male RS-232C port. The PC standard COM port is DB-9 male. A null-modem (crossover) cable is required because both are DTE.
| Signal | LK201-V1 DB-25 pin | PC DB-9 pin | Direction |
|---|---|---|---|
| FG (Frame Ground) | 1 | Shell | — |
| TD (Transmit Data) | 2 | 3 | LK201 → PC |
| RD (Receive Data) | 3 | 2 | PC → LK201 |
| RTS (Request To Send) | 4 | 8 | LK201 → PC |
| CTS (Clear To Send) | 5 | 7 | PC → LK201 |
| DSR (Data Set Ready) | 6 | 4 | PC → LK201 |
| SG (Signal Ground) | 7 | 5 | — |
| CD (Carrier Detect) | 8 | 1 | PC → LK201 |
| DTR (Data Terminal Ready) | 20 | 6 | LK201 → PC |
| RI (Ring Indicator) | 22 | 9 | Not connected |
Recommended null-modem wiring for Host Link use (only TD, RD, SG, plus looped handshakes):
DB-25 (LK201) DB-9 (PC)
2 TD ----------- 3 RD
3 RD ----------- 2 TD
4 RTS --+------- 8 CTS
5 CTS --+--loop-- 7 RTS
6 DSR -----+----- 4 DTR
20 DTR -----+----- 6 DSR
7 SG ----------- 5 SG
1 FG ----------- Shell
9. CX-Programmer Address Encoding (CIO vs DM)
When the user asked "how do I write a program to use the Host Link address?" the answer is that the address numbers 3809 to 3855 must be interpreted in the correct memory area. C200HS has two parallel numbering schemes:
| Area Prefix in CX-Programmer | Word Range (C200HS) | Use |
|---|---|---|
| IR / CIO | 000–255 (IR 000–227, 228–255 reserved) | Inputs, outputs, work bits, expansion rack |
| HR | HR 00–99 | Retentive work bits |
| AR | AR 00–27 | System flags (read-only most bits) |
| LR | LR 00–63 | 1:1 link area |
| SR | SR 244–255 | System flags (errors, pulses) |
| DM | DM 0000–6143 | Data words, retentive |
| TC | TC 000–511 | Timer/Counter PVs and completion flags |
Registers 3809–3855 do not correspond to any standard C200HS area. They are most likely Proface-internal offsets into the System Area, or a misread of the GP-Pro address printout (GP-Pro often shows addresses without the leading area letter). Confirm in the Proface project what data type (binary bit, BCD word, ASCII string) each address carries, then map it to the corresponding CX-Programmer address type:
- For a Proface word write that needs to control a C200HS output: import the value with MOV(021) from DM into CIO, then OUT to the physical output.
- For a bit display: use TST(350) or LD/AND with the corresponding CIO bit.
Example ladder snippet that reads the System Area's first user word (DM103) and turns on CIO 100.00 if the value is greater than 100:
| LD P_On Always-on contact (differential)
| MOV(021) DM103 DM200 Copy HMI word to a work area
| CMP(020) DM200 #0100 Compare to 100
| AND 25505 Greater-than flag from CMP
| OUT 100.00 Drive output
10. PLC Setup Parameters for Host Link
The C200HS PLC Setup (DM 6600–DM 6644) holds the port configuration that the CPU applies to its built-in RS-232C port and the LK201-V1's port. Relevant words for a Proface installation:
| PLC Setup Word | Bit(s) | Setting | Effect |
|---|---|---|---|
| DM 6600 | 00–07 | 0000 (default) | Built-in port: Host Link, 9600-7-E-2 |
| DM 6601 | 08–15 | 0000 | Built-in port: unit number 00 |
| DM 6613 | 00–07 | 0000 | Host Link mode (no Protocol Macro — C200HS limitation) |
| DM 6625 | 00–15 | 0000 | Error history = enabled (writes to DM6000+) |
For the LK201-V1 in an expansion rack, similar setup is allocated in the words corresponding to the slot's installed module. Refer to the C200HS Operation Manual for the exact mapping; on a 3-slot expansion the LK201-V1 typically uses DM 6700–DM 6704 for its port parameters.
11. Proface GP-Pro Project Configuration
- Open the GP-Pro EX (or older GP-PRO/PBIII) project.
- Select System Settings → I/O Driver → Omron SYSMAC CS/CJ/CP (or "Omron Host Link C-Mode" for older units).
- Set the host address to 00 (must match SW1=0, SW2=0).
- Set communication to 9600, Even, 7, 2.
- Open System Area Settings, enable the System Area, and set the starting word to DM100. Set the area size to the smallest value that covers all HMI-owned words (10 is a safe minimum).
- Bind numeric input/display parts to DM103+ for any data the PLC must read or write.
- For barcode pass-through, add a "Bar Code" part in the screen and bind it to a DM block large enough to hold the longest expected scan (e.g., 20 words for a 40-character ASCII string).
- Transfer the project to the panel over USB or serial and cycle power on the LK201-V1 and the panel together.
12. Verification Procedure
- Power the C200HS rack and confirm the RUN LED is solid green.
- Watch the LK201-V1 RD/TD LEDs during Proface polling. Each Host Link read should produce a brief RD flash followed immediately by a TD response.
- From the Proface, navigate to a screen that displays a numeric part bound to DM103. Force DM103 from CX-Programmer (online → Monitor → set value 1234) and confirm the Proface display updates within one scan cycle.
- Trigger a screen change on the Proface and confirm DM100 changes to the new screen number (CX-Programmer online monitor).
- Read DM6000 from CX-Programmer and verify that no new error codes have been appended since the last clean test.
- Run a Host Link "Test" from the Proface diagnostic menu — it should report "Communication OK" with the unit number 00.
- Test barcode pass-through by scanning a known string and confirming it appears in the bound DM block.
13. Troubleshooting Matrix
| Symptom | Likely Root Cause | Action |
|---|---|---|
| Proface shows "Communication Error" | Baud/parity mismatch, wrong unit number | Verify SW1/SW2 = Proface address, SW3 = 5, SW4 = 2, Proface = 9600/7/E/2 |
| ALARM LED on LK201-V1 lit | Framing error or scan-time overrun | Check PLC Setup, reduce HMI polling rate, inspect cable for noise |
| DM100 changing unexpectedly | Normal — HMI writing screen number | Do not write DM100 from the ladder; treat as HMI-owned |
| DM260 changing unexpectedly | System Area expanded past 160 words, or part bound to that address | Reduce System Area size in GP-Pro; audit part bindings |
| DM6000–DM6030 filling up | PLC logging non-fatal Host Link errors | Read error history, clear with FAL(06)/FALS(07), fix root cause |
| Barcode data not reaching PLC | Proface does not pass through, or pass-through not configured | Add a Bar Code part, bind to DM block; or install C200H-ASC02 |
| CX-Programmer Host Link won't connect | COM port settings, cable type | Set 9600/7-E-2, use null-modem cable, try another PC COM port |
| Registers 3809–3855 unknown to ladder | These are likely Proface offsets, not PLC addresses | Recompute the actual C200HS address from the GP-Pro address map |
| PC cannot see barcode data | No routing from Proface serial port to LK201 | Add ladder that copies DM block to a DM the PC polls, or use Proface Pass-Through-to-PC if supported |
14. Field Commissioning Notes
- Always verify the LK201-V1 unit number (00–31) is unique on the segment. Two modules set to 00 will collide on every poll.
- The C200HS does not support PMCR(260) instructions. Do not attempt to write a Protocol Macro sequence on this platform.
- When the Proface System Area is set to DM100, never use DM100–DM100+(N−1) inside the ladder for anything other than reading HMI status. Overlay will cause the HMI to overwrite ladder writes within one cycle.
- If the C200HS is communicating with the Proface on the LK201-V1 port, the built-in RS-232C port of the CPU remains free for CX-Programmer and remains at 9600-7-E-2 by default. Do not change it to Toolbus (CX-Programmer default is "Toolbus" — switch to "Host Link" in the driver setup before connecting).
- DM6000+ error log retention is across power cycles. Clear it after every major fix to keep the log meaningful.
- For barcode pass-through on legacy GP-377, GP-477, and GP-577 series panels, consult the GP-Pro part library — not all barcode parts support serial pass-through to a Host Link-bound DM area.
Why does DM100 keep changing on its own once the Proface is connected?
DM100 is the base of the Proface System Area. The HMI writes the current screen number and HMI status there every cycle. This is expected behavior, not a fault — treat DM100 as HMI-owned and never write it from the ladder.
What is the correct DIP switch setting for the C200HS-LK201-V1 to talk to a Proface panel at 9600 baud?
Set SW1 = 0, SW2 = 0 (unit number 00), SW3 = 5 (9600 baud), SW4 = 2 (7-E-2 Host Link frame). Match the Proface driver to the same unit number and to 9600, 7 data bits, Even parity, 2 stop bits.
How do I integrate a barcode scanner on a C200HS that does not support Protocol Macro?
Use either the Proface Bar Code pass-through part (if your GP-Pro version and panel support it) or add a C200H-ASC02 ASCII/BASIC module to the rack, run a BASIC program to parse the scan string, and read the result words from the ladder with MOV(021).
What is in the DM6000–DM6030 area, and should I worry about it changing?
DM6000–DM6030 is the C200HS error history storage area, enabled in PLC Setup word DM 6625. Each entry encodes the error code, time, and address of a non-fatal PLC error. Treat changes here as a diagnostic log; clear it with the FAL/FALS routine after fixing the root cause.
How do I wire the LK201-V1 25-pin port to a PC 9-pin COM port for Host Link?
Use a null-modem cable. Cross TD (DB-25 pin 2) to RD (DB-9 pin 3), RD (DB-25 pin 3) to TD (DB-9 pin 2), and connect SG (DB-25 pin 7) to SG (DB-9 pin 5). Loop RTS/CTS and DTR/DSR on each end to satisfy the DTE handshake.