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 |
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:
-
Script compiler rejects literal strings containing Latin Extended characters such as
š,č,ć,ž,đ(Serbian Latin) or Cyrillic characters (ш,ч,ж,ь). - The error message reads exactly:
tText = "š?ž?Syntax error <UNTERMINATED STRING> 2 compilation error(s)
- 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.
- 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. - When Language for non-Unicode programs is set to
Serbian (Latin), the characters display correctly but the compiler still rejects the string. - Simple ASCII strings such as
tText = "testing"compile cleanly.
Reproduction Steps
- Install CX-Supervisor 1.22 (9) on a Unicode-based Windows XP Professional SP2 host.
- 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.
- Set Regional and Language Options → Advanced → Language for non-Unicode programs to a non-English locale such as
Serbian (Latin). - Open the Developer, create a button, attach a script, and enter:
tText = "Latin letters are š???ž"
- 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.
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
-
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. - Uninstall the corrupt install via Add or Remove Programs (Windows XP) or Apps & Features (Windows 10/11) → CX-Supervisor → Remove.
-
Wipe residual registry keys. Open
regeditand delete every key containingCX-Supervisorand theSCS.exeentry underHKLM\SoftwareandHKCU\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. - Reinstall CX-Supervisor 1.22 (9) from the original media.
- Apply the 1.25 (4) patch from the registered user portal.
- Download the 1.3 Web Upgrade patch from the Software Download section. Do not launch the Full Package installer.
- Run the Web Upgrade patch with administrative rights. Confirm the target is the just-installed 1.25 (4) tree.
-
Verify the install by relaunching Developer → Help → About. The string
MBCSmust be absent. -
Compile the test script:
tText = "Latin letters are š???ž"
The script editor must accept the literal without an<UNTERMINATED STRING>error. -
Repeat the test with Cyrillic:
tText = "?????"
When the keyboard layout is set toSerbian (Cyrillic), the editor should render the characters rather than vertical bars.
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:
- Full text of the Help → About dialog (especially the
MBCSsuffix). - Windows version, service pack level, and SKU (32-bit / 64-bit).
- Locale settings: Regional and Language Options → Advanced → Language for non-Unicode programs.
- Exact script line that triggers
<UNTERMINATED STRING>and the literal byte sequence (from a hex dump if necessary). - Hardware inventory and CX-Server / PLC Tools / MDAC versions reported in About.
- Output from
CX-Diagnosticsautomated 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.