Product: Mingcedar CONTROL
Server migration and runtime diagnostics | Mingcedar
Prepare a complete backup, then check licensing, settings and operation on the target server.
<section id="preface" class="docs-block docs-block-intro"> <span class="section-kicker">Operations</span> <h2>Before Use</h2> <p>Prepare a complete backup, then check licensing, settings and operation on the target server.</p> <div class="docs-task-grid"> <article id="preface-item-1" class="docs-task-card"> <span>Operations</span> <strong>Before migration</strong> <p>Follow the backup checklist to preserve data, project files and runtime configuration. Record the original server version, access addresses and Node identity.</p> </article><article id="preface-item-2" class="docs-task-card"> <span>Operations</span> <strong>After restoration</strong> <p>Check the host license and Settings, then verify Python projects, custom pages and external service configuration.</p> </article><article id="preface-item-3" class="docs-task-card"> <span>Operations</span> <strong>Verify operation</strong> <p>Inspect Device and Tag quality, alarms and history. For an issue, use the relevant page and event records to choose the next step.</p> </article> </div> </section> <section id="migration-backup" class="docs-block"> <span class="section-kicker">User guide</span> <h2>Backup, restore and migration</h2> <p>Back up data, project files, published releases, scripts and runtime configuration. Settings exports only its own fields.</p> <div class="docs-detail-list"> <article id="migration-backup-item-1" class="docs-detail-row"> <strong>Select backup contents</strong> <p>Identify backup locations from the installation tree or persistent container volumes.</p> <ol> <li>Back up PostgreSQL/TimescaleDB and record the matching application and database versions.</li><li>Back up the actual user-page directory shown in Screen Files, all referenced assets, and the upload history under SCREEN_FILE_HISTORY_DIR. If the project also uses published releases, back up SCREEN_PUBLISH_ROOT_DIR.</li><li>Preserve script sources, dependency manifests and offline packages, plus the config / configs locations actually used, popup templates, media channels, certificates, node identities and project credentials.</li><li>Document the roles of data, logs and backups in the deployment. Store keys and licensing material in a controlled backup location.</li> </ol> </article><article id="migration-backup-item-2" class="docs-detail-row"> <strong>Perform backup and restore</strong> <p>Use a database-supported consistent backup method. Copying a live database directory does not ensure recoverability.</p> <ol> <li>For an installation-wide file backup, schedule maintenance and stop the relevant runtime and data services using the package procedure.</li><li>Prepare matching versions at the restore destination, then restore the database, assets and upload history, any published releases in use, scripts and configuration.</li><li>After startup, inspect database, Redis, the five services and license, followed by screens, device quality, alarms, trends, scripts and permissions.</li> </ol> </article><article id="migration-backup-item-3" class="docs-detail-row"> <strong>Move to new hardware or addresses</strong> <p>Migration affects access endpoints, device identity and collection responsibility.</p> <ol> <li>Update Portal and Screen endpoints and certificates, and verify both from clients.</li><li>Activate replacement hardware as required by the License page. Recheck site connection identities and capabilities.</li><li>Confirm the old node has relinquished collection responsibility for the target PLC before enabling the new node. Verify quality, timestamps and source in Tag Diagnostics.</li> </ol> </article> </div> </section><section id="license" class="docs-block"> <span class="section-kicker">User guide</span> <h2>License status and online activation</h2> <p>Open /license to inspect the host license and choose online or file-based activation.</p> <div class="docs-detail-list"> <article id="license-item-1" class="docs-detail-row"> <strong>Inspect the host license</strong> <p>Use the License link in Settings, or open /license on the host.</p> <ol> <li>Check status, grant type and remaining trial time. An unactivated host offers a short trial; business operation is restricted when it expires, as shown on the page.</li><li>For reinstalls or migration, check the current device and installation identity under Local Information.</li><li>An activated permanent license does not require the code again. Its valid certificate is stored locally and supports offline operation when the authorization service is unreachable.</li> </ol> </article><article id="license-item-2" class="docs-detail-row"> <strong>Activate online with a license code</strong> <p>The host must be able to reach the authorization service.</p> <ol> <li>Open Activate and enter the code supplied by the authorization center.</li><li>Submit activation and wait for device validation and certificate persistence.</li><li>After permanent activation, check System Status. On failure, follow the reported network, code or binding issue.</li> </ol> </article><article id="license-item-3" class="docs-detail-row"> <strong>Reinstallation, migration and license errors</strong> <p>The authorization service identifies same-hardware reinstallation from device evidence.</p> <ol> <li>Activate from the current installation or generate a new offline request. No manual first-install/reinstall mode selection is needed.</li><li>For replacement hardware, follow the authorization service’s binding requirements. Activation files must match the target device and installation identity.</li><li>For revoked licenses, invalid certificates or binding mismatches, resolve the stated cause; activation does not recover automatically.</li> </ol> </article> </div> <div class="docs-note-grid"> <figure id="license-image-1" data-after-card-anchor="license-item-1" class="docs-note-card manual-doc-image-card"> <img src="/WEB_img/HQserver/current-20261023/license.jpg" alt="Mingcedar host License page showing an active permanent license" loading="lazy" decoding="async"> <figcaption> <strong>Host License</strong> <p>The page shows current license, validation, runtime environment, and instance sections; the permanent license is active and an Offline tab is visible.</p> </figcaption> </figure> </div> </section><section id="host-settings" class="docs-block"> <span class="section-kicker">User guide</span> <h2>Settings</h2> <p>Settings includes Display & operation, Device collection, Python and Video service, with separate save and application rules. Ordinary LAN mode hides Site connections parameters; project-certificate mode exposes that category.</p> <div class="docs-detail-list"> <article id="host-settings-item-1" class="docs-detail-row"> <strong>Open Settings and inspect application status</strong> <p>Open Settings from the system settings entry, or visit /settings on the host. Viewing and management permissions determine which settings are visible and editable.</p> <ol> <li>Select a category and compare configured values with Currently applied values. Deployment-overridden fields are read-only.</li><li>Use category defaults fills the current form only; review and save to apply. Reload discards unsaved changes and reads server settings.</li><li>Import & export settings covers this page only. Exports omit secrets; imports populate the form for review before saving.</li><li>After saving, check whether the change applies immediately or requires restart. If another window changed the configuration, reload and edit the latest version.</li> </ol> </article><article id="host-settings-item-2" class="docs-detail-row"> <strong>Display & operation: background and command confirmation</strong> <p>Interface preferences, alarm categories and runtime parameters save independently.</p> <ol> <li>Toggle built-in language entry visibility. This preference saves immediately without restart.</li><li>Choose whether the host background follows the exported PPT page or uses a uniform color.</li><li>Set command confirmation independently for runtime screens and device popups. Reason-required and hold/jog actions retain their own confirmation requirements.</li><li>Save background and command-confirmation settings, then restart as indicated.</li> </ol> </article><article id="host-settings-item-3" class="docs-detail-row"> <strong>Alarm categories: number, name, color and priority</strong> <p>Location: Settings → Display & operation → Alarm categories. The number identifies the category used by rules; it is neither a trigger threshold nor a priority ranking.</p> <ol> <li>Add a category with a unique positive integer, a name of 1–64 characters, a color and an execution priority.</li><li>Add categories as needed. The five installation defaults are editable; the catalog is not limited to five categories.</li><li>Save alarm categories to apply immediately without restart. Removing an item from the editor takes effect only after saving.</li><li>A category referenced by rules cannot be deleted or renumbered. Historical events retain the category information recorded at occurrence.</li><li>Enter the category number in the Tag alarm configuration, then set the condition, threshold, deadband, delay and enabled state.</li> </ol> </article><article id="host-settings-item-4" class="docs-detail-row"> <strong>Device collection: consumer periods and connections</strong> <p>Alarms, trends, screens, popups and script triggers share collected values.</p> <ol> <li>Set collection periods in milliseconds for each consumer type. A Tag with several active consumers uses the shortest required period.</li><li>Custom Tag rules match group codes or name regular expressions only when a Tag has no active consumer. Within a match type, higher numeric priority matches first.</li><li>Save Collection Policy to apply automatically, then inspect actual collection in Devices and Tag Diagnostics.</li><li>Expand Device connections & performance for default period, connect/request timeouts, reconnect interval, worker concurrency, block reads and OPC UA subscriptions. Respect field ranges and restart when indicated.</li><li>Worker concurrency applies across devices. Requests to one PLC remain serial, so more workers do not make one PLC faster.</li> </ol> </article><article id="host-settings-item-5" class="docs-detail-row"> <strong>Python: packages and runtime parameters</strong> <p>The Python category opens project package management. Runtime parameters have a separate entry in the same category.</p> <ol> <li>Manage dependencies per project, including package upload, directory import, custom shared packages and environment application. See Python projects and dependencies for the complete workflow.</li><li>Runtime parameters include timeout, memory, concurrency, reliable-event retention and the HTTP inbound signing secret. Adjust for the project workload and save.</li><li>Stored secrets are not displayed; leaving a secret blank preserves it. Restart after changing runtime parameters when the page indicates it.</li> </ol> </article><article id="host-settings-item-6" class="docs-detail-row"> <strong>Site connections and video service</strong> <p>Site-connection settings govern inter-site transport. The source site still controls its PLC collection settings.</p> <ol> <li>Ordinary LAN mode hides Site connections and does not require a shared key or CA in Settings. Project-certificate mode exposes the shared key, CA file, route refresh interval and HTTP timeout. Follow the connection chapter for that mode.</li><li>Video service selects managed MediaMTX or an existing gateway. Existing gateways need a playback URL; only existing MediaMTX needs a control API URL. Each address must be reachable by the relevant browser or host.</li><li>Save and restart when indicated, then open the relevant site or video screen to verify availability.</li> </ol> </article><article id="s7plus-driver-setup" class="docs-detail-row"> <strong>Administrator: S7Plus driver deployment</strong> <p>Check bundled S7Plus driver availability. For a separate deployment or replacement, follow these steps.</p> <ol> <li>Obtain the platform-matching driver, build manifest and license materials. Match the executable SHA-256 to the build manifest.</li><li>Set both the absolute S7PLUS_DRIVER_EXECUTABLE path and S7PLUS_DRIVER_SHA256 in protected deployment configuration. Windows uses the .exe executable. These are not everyday Settings form fields.</li><li>Schedule maintenance and stop the relevant collection services. Update files and configuration, then start services using the package management procedure.</li><li>Select Siemens S7Plus in Devices, enter host, port and required TLS settings, and save. Check configuration application, connectivity and Tag quality. For certificate errors, inspect the trust chain and server name.</li> </ol> </article> </div> <div class="docs-note-grid"> <figure id="host-settings-image-1" data-after-card-anchor="host-settings-item-3" class="docs-note-card manual-doc-image-card"> <img src="/WEB_img/HQserver/current-20261025/settings-alarm-categories.jpg" alt="Alarm category IDs, names, colors and execution priorities in Settings" loading="lazy" decoding="async"> <figcaption> <strong>Alarm categories and execution priorities</strong> <p>Category IDs are used by alarm rules; execution priority is configured separately. Save Alarm Categories applies the changes immediately.</p> </figcaption> </figure><figure id="host-settings-image-2" data-after-card-anchor="host-settings-item-4" class="docs-note-card manual-doc-image-card"> <img src="/WEB_img/HQserver/current-20261025/settings-collection-policy.jpg" alt="Current collection periods and adjustment fields grouped by use" loading="lazy" decoding="async"> <figcaption> <strong>Configure collection periods by use</strong> <p>A Tag used in several places adopts the shortest required period. The values shown belong to this installation and can be adjusted for the project.</p> </figcaption> </figure> </div> </section><section id="integration" class="docs-block"> <span class="section-kicker">User guide</span> <h2>Integration development overview</h2> <p>IO State API provides external read-only access, the page SDK supports runtime interaction, and Python runs host project logic.</p> <div class="docs-detail-list"> <article id="integration-item-1" class="docs-detail-row"> <strong>IO State API V2</strong> <p>Configure Profiles, published revisions and Access Keys in IO State API for scoped reads and live subscriptions by external systems. It reads collected state and does not provide device writes.</p> </article><article id="integration-item-2" class="docs-detail-row"> <strong>Custom page SDK</strong> <p>Custom HTML pages use the SDK for declared live values, writes, alarms and history. Publication, menu login requirements and user permissions determine available operations.</p> </article><article id="integration-item-3" class="docs-detail-row"> <strong>Python projects</strong> <p>Manage code, actions, events and records in the script workspace. Reuse functions through common/ within a project, and manage third-party modules and custom shared packages in Settings → Python.</p> </article><article id="integration-item-4" class="docs-detail-row"> <strong>Databases and external services</strong> <p>Python uses native database-driver and HTTP-client APIs. Projects manage credentials, timeouts, transactions and external-operation outcomes. Host database and cache credentials are not exposed to scripts.</p> </article> </div> </section><section id="common-issues" class="docs-block"> <span class="section-kicker">User guide</span> <h2>Troubleshoot by symptom</h2> <p>Diagnose using the affected page, update times, device quality and event records.</p> <div class="docs-detail-list"> <article id="common-issues-item-1" class="docs-detail-row"> <strong>The page opens but values are unavailable</strong> <p>Page access, realtime connection, PLC connectivity and Tag quality describe different stages.</p> <ol> <li>Check services and data infrastructure in System Status, then inspect device connection and collection in Devices.</li><li>Add the target Tag in Tag Diagnostics and check enabled state, address, type, quality and timestamp.</li><li>If the Tag is valid but the screen remains empty, check page references, the current release, menu target and page permissions.</li> </ol> </article><article id="common-issues-item-2" class="docs-detail-row"> <strong>Remote data, alarms or trends are unavailable</strong> <p>Inspect the remote site in the local Sites page.</p> <ol> <li>Check the remote address, connection identity, selected capabilities and device scope.</li><li>Open remote screens, alarms or trends separately to distinguish a connection failure from an unavailable capability.</li><li>Local rules using remote Tags also require local definitions and service input scope. A visible device catalog does not enable every consumer.</li> </ol> </article><article id="common-issues-item-3" class="docs-detail-row"> <strong>Historical curves are empty or have gaps</strong> <p>Historical queries depend on archiving and records actually saved within the selected period.</p> <ol> <li>Check the time range, timezone, device filter and selected series.</li><li>Check Tag archiving, sampling mode and interval, followed by Trend service status and retention.</li><li>Invalid quality or unavailable collection can leave no valid points. Gaps reflect recorded data; a wider interval can help locate the affected period.</li> </ol> </article><article id="common-issues-item-4" class="docs-detail-row"> <strong>A write result is unconfirmed</strong> <p>Acceptance, protocol completion and readback confirmation are different outcomes.</p> <ol> <li>Retain the request ID, timestamp, target and returned status, then find the operation in Event Records.</li><li>Inspect subsequent quality and values in Tag Diagnostics. Other operations may change the value, so compare timestamps.</li><li>If the outcome remains unknown, reconcile device state and request records before repeating an operation.</li> </ol> </article><article id="common-issues-item-5" class="docs-detail-row"> <strong>Scripts or external APIs are unavailable</strong> <p>Developer interfaces and administration pages have distinct permissions and runtime prerequisites.</p> <ol> <li>For Python, check the Script service, active project version, enabled events and actions, and run records. After adding a dependency, confirm the installation result and check its import in the same project.</li><li>For IO State API, check published Profile revision, Access Key, scopes and signal range. A connection ticket is single-use.</li><li>For the page SDK, check that the screen is opened through a host menu, its declared reads/writes and user permissions. Use the relevant chapter’s errors and status descriptions.</li> </ol> </article> </div> </section>