Find configuration entry points by ribbon command, behavior, built-in template, or script method, with guidance on where each method runs.
ReferenceDocumentation revised: 2026-10-21
Reference: Feature entry points and script method reference
Find configuration entry points by ribbon command, behavior, built-in template, or script method, with guidance on where each method runs.
Choose an entry point by task
Behavior Browser manages behaviors, Templates manages controls and reuse, and Page Script holds shared page functions and initialization. Start with one page, export it and verify it in Mingcedar. See installation and export chapters for native PowerPoint effects.
New users: follow the getting-started route and the field examples in each behavior chapter.
Experienced users: find the behavior, template or function by name, then check its input type and execution context.
Developers: use the runtime script methods listed in this manual and distinguish them from native browser methods. Request acceptance does not prove a completed PLC write or download.
Execution context and call boundaries
Top-level Page Script declarations are shared within the current page. Setup Script prepares one behavior’s data; Condition, Value, and Display Text return synchronous results. Device writes require a user click or press/release action; do not initiate PLC writes from Hover Script, Page Script, or Setup Script. Put asynchronous logic inside async functions in interaction scripts. Fields that require an immediate value cannot return a Promise.
Modern ECMAScript 2022 is supported; import/export declarations and top-level await are not supported in script documents.
Initialize through window.hqVisuDesignerPageReady = function(ctx) { ... }; ctx contains presentation, page and hqVisuDesigner.
A page script is not an automatic cross-page global script. Timers and network calls need bounded frequency, cleanup and failure handling.
Read scalar, JSON and date/time Tags and quality
Names may come from strings, page variables or resolved template parameters; methods return data values. Dynamic names require host read access. Set an explicit fallback to distinguish unavailable data from valid values.
ReadTagJson(name, fallback) returns parsed JSON. ReadTagDateTime(name, fallback) returns Date or the fallback. Format ordinary timestamps using the project time zone; PLC DATE_AND_TIME/DTL/LDT values are timezone-free calendar values and must not be assumed to be UTC instants and converted blindly to browser-local time.
ReadCalculatedTag(name, fallback) reads a read-only calculated Tag by its saved name without a PLC prefix; its unavailable default is null.
ReadTagQuality(name, fallback) and ReadTagQualityGood(name) read good/bad quality or test good; quality is separate from the process value.
ReadTagBoolean("PLC_LINE01.PUMP01.STATUS[3]", false) reads one bit. Use exact tag[bit] syntax, positions 0–31 and no spaces inside brackets.
ReadTag(name) is a lower-level generic reader; prefer typed methods in application scripts.
JavaScriptJavaScript
const report = ReadTagJson("PLC_LINE01.REPORT01.SUMMARY", null);const updatedAt = ReadTagDateTime("PLC_LINE01.REPORT01.UPDATED_AT", null);const hasTime = updatedAt instanceof Date; // Confirm the Tag date/time semantics before display
Typed writes, bit writes and completion
Call only during real user actions. The host checks permissions, confirmation and reasons, then handles the write. Returns may be asynchronous and do not prove PLC changes.
WriteTagBoolean(name, value, options?), WriteTagInteger(name, value, options?), WriteTagDouble(name, value, options?): values must match the target type.
WriteTagString(name, value, options?) and WriteTagJson(name, value, options?): pass JSON-compatible objects or arrays directly rather than JSON.stringify output.
WriteTagDateTime(name, value, options?) accepts Date values serialized using target Tag metadata; string values must follow the host date/time contract.
WriteTagBit(parentName, bitIndex, action, options?): action is Set, Reset or Toggle. Supply the parent integer Tag and a separate bit index, never an ordinary write to name[bit].
WriteTag is the generic write entry point. Prefer the typed methods; options follow the host contract and do not bypass permissions.
hqVisuDesigner.writeVariable(name, value) sets a runtime variable; it is not a PLC write.
Input templates, page parameters and browser storage
template.getValue(componentName) reads the current page input template’s draft display value. Use a unique component name; a missing input throws an error. Convert numeric drafts explicitly with Number(...) and validate them. URL parameters, <Name> template substitution, runtime variables and PLC Tags have different scopes.
GetPageParameter(key, fallback): first value; GetPageParameterValues(key): repeated values; GetPageParameters(): all parameters in original order.
Lowercase equivalents are hqVisuDesigner.getPageParameter / getPageParameterValues / getPageParameters.
ReadBrowserStorage(key, fallback, storageType?), WriteBrowserStorage(key, value, storageType?), RemoveBrowserStorage(key, storageType?): default local; pass "session" for sessionStorage. Storage is same-origin. Lowercase equivalents are hqVisuDesigner.readBrowserStorage / writeBrowserStorage / removeBrowserStorage.
The ReadBrowserStorage fallback determines decoding: {} for an object, 0 for a number, false for boolean, otherwise string by default. WriteBrowserStorage can return its input even on failure, so the return value is not proof of success. RemoveBrowserStorage returns boolean. Storage may be unavailable; hqVisuDesignerLastStorageError provides a clue. Do not store passwords or substitute it for server persistence.
Template Input / Get / <component name> snippets are generated from actual inputs on the current page.
HQVISU_PAGE_PARAMETERS (array) and HQVISU_PAGE_RESOURCE_SCOPE (object) are static, reviewable input/resource declarations. They do not read cookies, assign variables, replace GetPageParameter or grant Tag access.
Find and update components
Methods belong to hqVisuDesigner. Use a unique current-page component name or Shape ID for nameOrId, and verify interactions with existing behaviors.
findComponent(nameOrId) finds the exported component element; getComponentData(nameOrId) reads its exported configuration.
setComponentText(nameOrId, value), setComponentFill(nameOrId, color), setComponentBorder(nameOrId, color) update text, fill and border.
Page names and Page Codes come from the current package’s page map. Cross-package navigation uses a host-managed screenCode. The host may handle navigation asynchronously, so calling a method alone does not prove completion.
hqVisuDesigner.openPage(page, options?) navigates within a package. options can carry parameters, frameTarget and navigationMode; see script scope and parameter passing.
hqVisuDesigner.openScreen(screenCode) opens another package; hqVisuDesigner.openWebsite(url, optionsOrNewWindow?) opens a valid external link.
hqVisuDesigner.openAndon(page, options?) is an exported fullscreen/Andon entry point; ordinary configuration can use the Open Link display mode.
HQ.popup.open(pageCode, options?) and HQ.popup.close({result: value}) are runtime popup interfaces. open returns a Promise resolved on closing; see the popup chapter for the parameter and result contract.
hqVisuDesigner.openDiagnosis({PLC, ID, DiagnosisControl, GroupRightIndex}) requests a host diagnosis window; content and authorization belong to the host.
Language, current user and date/time
Translations come from the runtime language dictionary, and user identity comes from the host. Clock methods use the operator’s browser-local time, not PLC time or server audit time.
GetText(key, fallback?) returns a translation, the explicit fallback when missing, or the key when no fallback is supplied. getText/gettext are compatibility aliases; prefer GetText consistently.
hqVisuDesigner.currentLanguage() reads the language; hqVisuDesigner.useLanguage(language) changes it and refreshes runtime state; hqVisuDesigner.getText corresponds to GetText.
GetCurrentUsername() reads the host username for display; it is not an authorization check.
GetCurrentTime(format?) defaults to HH:mm:ss; GetCurrentDate(format?) to yyyy-MM-dd; GetCurrentDateTime(format?) to yyyy-MM-dd HH:mm:ss; GetCurrentDateObject() returns Date.
FormatDateTime(value, format?) supports yyyy/YYYY, MM, dd/DD, HH, mm and ss. Invalid dates fall back to current time, so validate business input before formatting.
Lowercase hqVisuDesigner methods: currentUsername, currentTime, currentDate, currentDateTime, currentDateObject and formatDateTime.
GetAlarm methods return whether the current active alarms contain a match. They do not query alarm history. Full Tag names and qualified group codes are different inputs.
GetAlarmTags(["PLC_LINE01.PUMP01.ALARM"]): full Tag names.
GetAlarmFunctionGroupCodes, GetAlarmDeviceGroupCodes and GetAlarmSignalGroupCodes accept arrays of device-qualified group codes.
HQVISU_PAGE_ALARM configures the page alarm rail; getPageAlarm(fallback?) reads it. showWindow controls visibility, while tags/plcCodes/functionGroupCodes/deviceGroupCodes/signalGroupCodes scope it.
The built-in Alarm template is a separate page control. A display template does not itself imply alarm acknowledgement, history or permission management.
Sound and browser data downloads
PlaySound(fileName, loop?) plays root-directory audio, such as PlaySound("alarm.mp3", false). Its Boolean result reports request acceptance; browser audio permissions still apply. Do not repeatedly call it in continuously evaluated expressions.
hqVisuDesigner.playSound is the equivalent method. A page script may attempt autoplay, but the browser can block it; check audio permission on the operator browser.
ExportJson(value, fileName?) exports a serializable value; ExportTable(componentNameOrId, fileName?, format?) exports displayed text from a current built-in table.
ExportTags(nameOrNames, fileName?, format?) exports already-readable current Tag values and quality. Formats include csv/json/xlsx; excel aliases xlsx.
Start downloads from a real user click. A returned filename means a download was requested, not that it reached disk; see runtime data export for defaults, scopes and failures.
hqVisuDesigner.exportJson / exportTable / exportTags are equivalents. Data download and authoring-time Export HTML serve different purposes.
Browser and JavaScript snippets in Quick Methods
Quick Methods also contains standard JavaScript examples. These do not add device protocols or host services. fetch remains subject to networking, CORS, authentication and browser permissions. Use alert/confirm/prompt during user actions.
alert, confirm, prompt; if/else, for, while, switch, try/catch; named, arrow and async functions.
Ternary, ??, ?., template strings, includes/filter, Math.min/max/abs/round, range mapping, destructuring, dynamic Tag and bit names.
The picker filters snippets by expression, Setup Script, and interaction context. Do not paste a statement block into a field expecting a single expression.
Script API scope
Use this manual’s public methods for screen scripts. Platform-integration members on runtime objects are outside the screen interaction API.
Use the documented methods to read Tags, update components, or write to devices, and verify authorization and runtime results.
Do not mutate runtime state objects to simulate device writes or change permissions.
Platform integration and page lifecycle members are outside the scope of ordinary screen scripts.
Ribbon entry checklist
Find the corresponding chapter by entry point. Reused native PowerPoint commands follow the current PowerPoint selection state.
Ungroup (PowerPoint context menu)
Browse
Insert Shapes
Format Painter
Straight Connector
Straight Connector Arrow
Align Left
Align Center
Align Right
Align Top
Align Middle
Align Bottom
Distribute H
Distribute V
Rotate Left 90°
Rotate Right 90°
Bring Forward
Bring To Front
Group
Ungroup
Page Ratio
Nav Path
Page Script
Library
Edit Instance
Update Template
Batch Replace
Export HTML
This Page
History
Refresh
License
About
Status: Add-in Version
Status: PowerPoint Version
Status: License
Behavior catalog
Find behaviors by their names in the editor. Each behavior has an operating chapter.
Blink Color
Range Color
Script Color
Discrete Color
State Color
Multi-State Color
Move
Rotate
Scale
Set Variable on Click
Open Diagnosis
Open Link
Open Page as Popup
Close Current Popup
Write Tag
Write Tag Bit
Click Script
Hover Script
Press/Release Script
Script Text
Tag Text
Localized Text
Built-in templates
Input, table, keyboard, alarm, video, and chart templates; the custom template library provides another way to reuse designs.
Input
Table
Keyboard
Alarm
Video
Line Chart
Bar Chart
Gauge
JSON Chart
Quick Methods search categories
Actual catalog titles are grouped and deduplicated below. Input-template entries are generated from current-page components.
Alarm: Device Groups · Function Groups · PLC · Signal Groups · Tags
Animation Frame: Run Next Frame
Array: Contains · Filter
Browser Storage: Read · Remove · Write
Component: Find · Get Data · Set Border · Set Fill · Set Layout · Set Text · Set Visibility
Console: Log
Control Flow: For Each Item · If · If Else · Switch · Try Catch · While
DOM: Find By ID
Date And Time: Current Date · Current Date Object · Current Date Time · Current Time · Format