Resolving CX-Supervisor 1.3 MBCS Script Compiler Unicode Errors

James Nishida10 min read
OmronSCADA ConfigurationTroubleshooting
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

Problem Overview

CX-Supervisor 1.3 introduces Unicode language support to Omron's PC-based SCADA development environment, but a documented upgrade-path defect can leave a system partially converted. When the wrong installer mode is selected, the developer remains in MBCS (Multi-Byte Character Set) mode even though Help → About reports version 1.3 (20). The visible symptom is a script editor that refuses to accept any string literal containing non-ASCII characters (Serbian Latin, Cyrillic, Polish diacritics, Russian Cyrillic, etc.) and returns a <UNTERMINATED STRING> parser error at compile time.

This article documents the field-confirmed failure, the exact error pattern, the root cause traced by the Omron CX-Supervisor development team, and the verified remediation procedure using the Web Upgrade patch.

Affected Versions and Platforms

Component Verified Version Notes
CX-Supervisor Developer 1.3 build 20 (1.3 (20)) Reported via About box after failed upgrade
Predecessor build 1.25 (4) MBCS base prior to Unicode patch
Earliest verified build 1.22 (9) Migration path: 1.22(9) → 1.25(4) → 1.3(20)
Bundled CX-Server 2.4 Installed automatically with CX-Supervisor 1.3
Bundled PLC Tools 3.1 Installed automatically with CX-Supervisor 1.3
Bundled MDAC 2.8 Microsoft Data Access Components for ODBC/OLE DB
OS Windows XP Professional SP2 (English) with regional language packs Unicode-based Windows SKU
Important: The defect is not a Unicode string-handling bug in the compiler. The binary that shipped as 1.3 (20) via a Full Package Repair/Upgrade is actually an MBCS build. The version number is identical; only the About dialog suffix and behavior under non-ASCII input reveal the difference.

Symptoms

Engineers migrating from CX-Supervisor Reference Manual (W09E) examples or from scripts that previously contained accented characters observe all of the following:

  1. Script compiler rejects literal strings containing Latin Extended characters such as š, č, ć, ž, đ (Serbian Latin) or Cyrillic characters (ш, ч, ж, ь).
  2. The error message reads exactly:
    tText = "š?ž?Syntax error
    <UNTERMINATED STRING>
    2 compilation error(s)
  3. Runtime continues to display legacy string values correctly (because runtime was upgraded to Unicode), but the developer will no longer compile new scripts containing those characters.
  4. When Language for non-Unicode programs in Windows Regional and Language Options is set to English (United States), the editor renders non-ASCII bytes as vertical bars (|); pasting into Microsoft Word confirms the underlying byte sequence is correct.
  5. When Language for non-Unicode programs is set to Serbian (Latin), the characters display correctly but the compiler still rejects the string.
  6. Simple ASCII strings such as tText = "testing" compile cleanly.

Reproduction Steps

  1. Install CX-Supervisor 1.22 (9) on a Unicode-based Windows XP Professional SP2 host.
  2. Apply the 1.25 (4) patch, then apply the 1.3 (20) Full Package in Repair / Upgrade mode rather than the dedicated Web Upgrade patch.
  3. Set Regional and Language Options → Advanced → Language for non-Unicode programs to a non-English locale such as Serbian (Latin).
  4. Open the Developer, create a button, attach a script, and enter:
    tText = "Latin letters are š???ž"
  5. Press OK. Observe <UNTERMINATED STRING> and the parser truncating the literal at the first non-ASCII byte.

Root Cause

Omron's CX-Supervisor 1.3 ships in two internally different builds under the same external version stamp:

Build Variant About-Box Suffix Compiler Behavior
Unicode (no suffix on build tag) Accepts all 8-bit and multi-byte string literals; matches runtime behavior
MBCS (legacy) 1.3 (20) MBCS Treats high-bit bytes as string terminators; aborts parse with <UNTERMINATED STRING>

Per the Omron CX-Supervisor development team's response, running the Full Package installer in Repair / Upgrade mode on a system that already contains a previous CX-Supervisor installation overwrites files with the MBCS variant instead of upgrading to the Unicode variant. The About dialog reports 1.3 (20) with an MBCS suffix, which is the diagnostic signature of the failure.

The compiler in the MBCS build treats bytes with the high bit set (the leading byte of any UTF-8 code point above 0x7F) as the C-style null terminator marker, so any string that begins with or contains a non-ASCII byte is parsed as an unterminated literal — exactly as reported.

Why runtime still works: The runtime and the developer can be on different code paths after a partial upgrade. If the runtime DLLs were overwritten by the Unicode build but the developer stayed MBCS, projects continue to display correctly at execution time but cannot be recompiled. This is the classic asymmetric failure that masks the underlying mismatch.

Resolution: Web Upgrade Patch Procedure

The supported remediation is the Web Upgrade patch available to registered users from the Software Download section of the Omron Europe web site. The patch is a free delta installer that targets Unicode-aware Windows hosts and replaces only the components that changed between 1.25 (4) and the Unicode variant of 1.3 (20).

Prerequisites

  • Active CX-Supervisor registered-user account on the Omron support portal.
  • Existing installation of CX-Supervisor 1.22 (9) or 1.25 (4).
  • Administrator privileges on Windows XP Professional SP2 (or later supported OS).
  • Network access to myomron.com / the regional Omron download server.

Step-by-Step

  1. Confirm the failure signature. Launch Developer → Help → About. If the dialog reads Version 1.3 (20) MBCS, the upgrade is corrupt and the Web Upgrade patch is required.
  2. Uninstall the corrupt install via Add or Remove Programs (Windows XP) or Apps & Features (Windows 10/11) → CX-Supervisor → Remove.
  3. Wipe residual registry keys. Open regedit and delete every key containing CX-Supervisor and the SCS.exe entry under HKLM\Software and HKCU\Software. This step is mandatory; the Full Package Repair/Upgrade mode keys must be cleared or the next install will short-circuit to the MBCS build again.
  4. Reinstall CX-Supervisor 1.22 (9) from the original media.
  5. Apply the 1.25 (4) patch from the registered user portal.
  6. Download the 1.3 Web Upgrade patch from the Software Download section. Do not launch the Full Package installer.
  7. Run the Web Upgrade patch with administrative rights. Confirm the target is the just-installed 1.25 (4) tree.
  8. Verify the install by relaunching Developer → Help → About. The string MBCS must be absent.
  9. Compile the test script:
    tText = "Latin letters are š???ž"
    The script editor must accept the literal without an <UNTERMINATED STRING> error.
  10. Repeat the test with Cyrillic:
    tText = "?????"
    When the keyboard layout is set to Serbian (Cyrillic), the editor should render the characters rather than vertical bars.
Do not invoke the Full Package installer in Repair or Upgrade mode against an existing CX-Supervisor installation on a Unicode Windows host. Use the Web Upgrade patch exclusively. This is the explicit instruction issued by the Omron CX-Supervisor development team.

Verification Matrix

Test Expected Result (Healthy Install) Failure Indicator
Help → About suffix No MBCS tag 1.3 (20) MBCS
Compile ASCII string Success
Compile Latin Extended string Success, characters visible <UNTERMINATED STRING>
Compile Cyrillic string Success, characters visible <UNTERMINATED STRING> or |||| placeholder
Runtime display of legacy project strings Correct glyphs Vertical bars / boxes
CX-Server version (in About) 2.4 Older than 2.4
PLC Tools version (in About) 3.1 Older than 3.1
MDAC version 2.8 Older than 2.8

Companion Components Installed by 1.3

Beyond the developer Unicode support, CX-Supervisor 1.3 bundles the following updates. Confirm each is present after a successful Web Upgrade install:

  • CX-Server 2.4 — PLC communication service; required for runtime data exchange.
  • PLC Tools 3.1 — utilities for PLC program upload/download.
  • MDAC 2.8 — Microsoft Data Access Components for ODBC, OLE DB, and ADO connections used by CX-Supervisor's database logger.
  • USB Dongle copy protection driver — new option for hosts without a parallel port (LPT1), selectable during install.
  • CX-Diagnostics integration — automatic bug-report dispatch from the developer.
  • Russian and Polish localized UI resources — additional language packages; further languages can be added via the Multilingual Applications chapter of the CX-Supervisor User Manual.

The reference manual section on extending multilingual support covers the project-level locale switching that determines which resource is displayed at runtime. See the CX-Supervisor Reference Manual (W09E) for the ErrorProc ActiveX property and the Multilingual Applications workflow.

Related Product Lines and Migration Targets

Engineers maintaining installations in the CX-Supervisor product family should be aware of the following catalog entries when planning upgrades beyond 1.3:

Catalog Number Description Status
CX-SUPERVISOR-TRIAL-V3 Trial edition of CX-Supervisor V3, used for evaluation prior to licensed install Discontinued by Omron
CX-SUPERVISOR-RUN-PLUS-V4 Runtime-only package for V4 PLUS, includes USB dongle copy protection Active SKU (verify with distributor)
CX-Supervisor 1.3 (20) — Web Upgrade patch Delta patch from 1.25 (4) to Unicode-aware 1.3 (20) Available to registered users via Omron Software Download

If a site must migrate to a newer CX-Supervisor major version, replicate the same clean-uninstall-then-Web-Upgrade discipline. Sites still on the MBCS 1.3 (20) build are not eligible for direct upgrade; first remediate to the Unicode 1.3 (20) build, then proceed.

Field Notes and Caveats

  • About-box diagnostic is definitive. If Help → About shows 1.3 (20) MBCS, the developer is MBCS regardless of any other symptom. Do not attempt to patch by retyping scripts in different Windows locales — locale changes do not convert a binary build.
  • Registry cleanup is required. Skipping step 3 of the remediation procedure leaves the installer in a state where the next Full Package invocation will revert to MBCS.
  • USB dongle option is install-time. If a site is moving hosts and the new PC has no LPT port, choose the USB dongle copy-protection mode during the Web Upgrade install. Switching modes later requires a fresh install.
  • MDAC 2.8 prerequisite. The Web Upgrade patch installs MDAC 2.8; do not block this step or database logging to SQL/Access will fail with older provider errors.
  • Windows XP SP2 minimum. CX-Supervisor 1.3 is the first release formally tested on Windows XP Professional SP2. Earlier service packs may exhibit additional Unicode edge cases; apply SP2 before the patch.
  • Hardware baseline observed in the field: 2 GHz Intel Celeron, 512 MB RAM, NVIDIA GeForce FX 5500 256 MB. The Unicode build is no heavier than the MBCS build, so the same hardware baseline remains valid after remediation.
  • Bulk alarm edit feature. CX-Supervisor 1.3 introduces copy/paste of alarms to Excel; this is a developer convenience unrelated to the Unicode defect but useful to confirm a healthy install — paste an alarm list and verify the round trip.

Reporting Unresolved Cases to Omron

If the Web Upgrade patch does not resolve the issue, capture the following data before opening a support ticket with the Omron CX-Supervisor development team:

  1. Full text of the Help → About dialog (especially the MBCS suffix).
  2. Windows version, service pack level, and SKU (32-bit / 64-bit).
  3. Locale settings: Regional and Language Options → Advanced → Language for non-Unicode programs.
  4. Exact script line that triggers <UNTERMINATED STRING> and the literal byte sequence (from a hex dump if necessary).
  5. Hardware inventory and CX-Server / PLC Tools / MDAC versions reported in About.
  6. Output from CX-Diagnostics automated bug report (now integrated into 1.3).

Submit via the regional Omron support channel (e.g., Omron Europe registered-user portal) referencing this build: CX-Supervisor 1.3 (20) — MBCS upgrade defect on Unicode Windows.

Summary

The <UNTERMINATED STRING> script compiler error in CX-Supervisor 1.3 (20) on Unicode Windows hosts is a build-variant defect, not a Unicode-handling bug. The Full Package installer in Repair/Upgrade mode deploys the MBCS binary under the 1.3 (20) version stamp. The supported remediation is a clean uninstall, registry scrub, reinstall of 1.22 (9) or 1.25 (4), and application of the Web Upgrade patch from the Omron registered-user download portal. After remediation, Help → About must show no MBCS suffix and string literals containing Latin Extended and Cyrillic characters must compile cleanly.

FAQ

What does the "MBCS" suffix in Help → About mean in CX-Supervisor 1.3 (20)?

It indicates the developer was installed by the Full Package in Repair/Upgrade mode rather than the Web Upgrade patch, leaving the build as Multi-Byte Character Set (non-Unicode) under the same version number. The Unicode build carries no suffix.

How do I fix the "UNTERMINATED STRING" error when typing Latin or Cyrillic characters in a script?

Uninstall CX-Supervisor, delete all CX-Supervisor and SCS.exe registry keys, reinstall 1.22 (9) or 1.25 (4), then apply the 1.3 Web Upgrade patch from the Omron registered-user portal. Do not use the Full Package in Repair/Upgrade mode.

Why does the runtime display characters correctly while the developer compiler rejects them?

After a partial upgrade the runtime DLLs can be Unicode while the developer binary remains MBCS. The compile-time parser treats high-bit bytes as string terminators, which produces the unterminated string error even though runtime rendering is unaffected.

Which CX-Server and PLC Tools versions ship with CX-Supervisor 1.3?

CX-Supervisor 1.3 installs CX-Server 2.4 and PLC Tools 3.1, plus MDAC 2.8. Confirm each version in the Developer About dialog after applying the Web Upgrade patch.

Can I add USB dongle copy protection to an existing CX-Supervisor 1.3 install?

USB dongle mode is selected at install time. To switch from parallel-port to USB dongle protection, perform a clean reinstall via the Web Upgrade procedure and choose the USB dongle option during the install wizard.

Back to blog