Release Notes

QMachineStudio 4.0

重写了脚本引擎,让您无需硬件即可验证时序流程,并全面整理了界面、消息与授权体系。 这是涵盖 2026 年全部开发内容的正式版本。

Version 4.0.0 · 2026年7月 · ICT Co.,Ltd.
01

主要变化

4.0 中变化最大的八项。其余内容请参阅下方的分类列表。

01

全新脚本引擎

XScript 执行引擎已完全重写并成为默认引擎。错误检测更加准确,脚本以编译后的字节码运行。

02

仿真模式

只需一个选项,IO 与电机即切换为内置虚拟设备,无需任何硬件即可完整运行时序流程。

03

源码保密发布

可只发布编译产物 (.xmc) 而不包含脚本源码 (.xms)。发布包仅能运行,无法进入 Studio 或修改代码。

04

界面显示语言

开发界面(菜单、工具栏、选项卡、对话框)可在英文与韩文之间即时切换,编译错误列表也会同步翻译。

05

大量新增设计控件

新增图表、报警列表、时序显示器、加载动画等 15 种以上控件,并支持 SVG 矢量图像。

06

数据库集成

可在脚本中通过 DB["名称"] 直接操作 SQLite / MSSQL,并在 Database Studio 中管理表结构与查询。

07

用户管理强化

账户体系已重写,具备密码策略、账户锁定、审计日志与自动注销功能。

08

授权体系重整

整理为体验版/免费开发/正式授权三个级别,并引入宽限运行,加密狗接触不良时产线不会立即停止。

02

XScript 脚本

语言本身有了很大扩展。现有脚本可继续正常运行,新语法可按需使用。

全新执行引擎

  • 变更

    脚本执行引擎的默认值已改为新引擎(Bytecode)。可在工具选项 > Script Engine 中切换回 Legacy。

  • 新增

    脚本在运行前会编译为字节码。构建缓存 (.xmc) 使源码未变更时不再重新编译。

  • 新增

    系统日志与启动日志中会显示当前引擎及其版本,脚本中可用 SYS.GetScriptEngine() 查询。

  • 改进

    整数运算按完整 64 位精度处理,极大数值的计算、比较与位运算不会出错。

  • 改进

    向数组越界位置写入时原本会静默扩容,现已统一为运行时错误。

新语法

  • 新增

    char 类型 — 支持字符常量 ('A')、字符比较、字符与数值运算、字符串索引 (str[i])。

  • 新增

    byte 类型与 byte 数组 — 用于二进制通信报文处理,超出范围时自动回绕。

  • 新增

    switch 分支语句 — 可用 case 1, 2 以逗号匹配多个值,并自动 break。

  • 新增

    十六进制与二进制常量0xFF0b1111_1111,可使用 _ 作为位数分隔符。

  • 新增

    无大括号的单行语句 — 可按 C#/C++ 风格书写 if(a) Log(a);

  • 新增

    多行语句 — 无需行尾反斜杠,可在括号内自由换行。

  • 新增

    函数返回类型声明FUNCTION bool Foo() / FUNCTION void Bar(),省略时与原来一致。

  • 新增

    ref 参数 — 可编写同时返回数值与成功标志的函数。

  • 新增

    短路求值if(A && B()) 中,若 A 已确定结果则不再调用 B()

  • 新增

    自动支持 C# 枚举 — 驱动提供的枚举可直接作为 类型名_值名 常量使用。

新对象与 API

  • 新增

    CONTROL["模块::控件"] — 在脚本中直接读写画面控件的属性。

  • 新增

    DRIVER["驱动名"] / LIB["名称"] — 调用驱动特有功能与项目专用库。

  • 新增

    DB["名称"] — 在脚本中执行数据库查询、事务与备份。

  • 新增

    CONTAINER["名称"] — 直接访问容器。物料管理整理为 DEVICEMGR / CONTAINER / DEVICE 三层结构(原有语法仍可使用)。

  • 新增

    线程同步SYS.CreateEvent/WaitEventSYS.CreateSemaphore/WaitSemaphore,无需用 Sleep 轮询即可等待完成信号。

  • 新增

    表数据游标 API — 使用 UseTable/AddRow/SetField/GetField 处理行与字段,无需计算索引。

  • 新增

    序列号管理器 — 可在脚本中注册规则、生成与预览序列号 (SN.*)。

  • 新增

    时序状态查询 — SYS.GetCurrentStep(module)SYS.GetCurrentStepIndex(module)

  • 新增

    批量屏蔽调试日志 — SYS.SetDebugLog(true/false)

  • 新增

    动态切换作业文件 — SYS.ChangeJobFile("Default.JOB", false) 可静默切换。

  • 改进

    HTTP 发送 (SYS.SendHttpPost/Get/Patch/Delete) 增加了单次调用超时设置,并大幅提升了并发调用性能。另新增无需响应的状态上报接口 SendHttpPostFireAndForget

  • 新增

    排除未使用的通信设备 — COM["名称"].SetUse(false) 可关闭自动连接与连接失败提示。

03

代码编辑器与编译诊断

原先"必须运行才能发现"的错误,现在在编译阶段即可检出,因拼写或参数失误导致产线停机的情况大幅减少。

编译校验

  • 新增

    对象名称拼写检查 — 编译时校验脚本中以字符串常量书写的 IO、电机、设备、模块名称是否真实存在;若仅大小写不同会给出提示。

  • 新增

    属性与参数检查 — 将不存在的属性名、参数个数不符、向 ref 参数传值等报告为错误。

  • 新增

    类型检查 — 检出向 bool 变量赋字符串、对 bool 使用 +=、返回类型不匹配等问题。

  • 新增

    函数重复声明现在会报编译错误(此前其中一个会被静默忽略)。

  • 新增

    画面绑定校验 — 将设计控件的 DataName 问题区分为"名称不存在"与"类型不匹配"并给出警告;变量改名后编译时会自动重新绑定。

  • 新增

    IO 与电机的函数关联校验 — 因拼写错误或函数被删除而断开关联时,会以编译警告提示。

错误列表

  • 新增

    编译错误信息以韩文/英文显示,切换显示语言后列表立即随之更新。

  • 新增

    使用 F8 / Shift+F8 可跳转到下一个/上一个错误位置。

  • 改进

    错误位置会显示实际的函数名、步骤名及其内部行号,双击即可跳转到对应脚本。

  • 改进

    连续出现的相同错误会合并为一行,并以 (xN) 标注重复次数。

编辑器

  • 新增

    脚本编辑器支持深色/浅色主题(关键字、注释、字符串、数字、行号、搜索高亮)。

  • 新增

    语法高亮控件 (SyntaxEditor) — 可在画面上高亮显示 XScript / C# / C++ / HTML / JSON / XML 代码,并显示行号。

  • 新增

    搜索结果按关键字分选项卡显示(最多 10 个,可用 F3 / Shift+F3 跳转)。

  • 改进

    代码补全增强 — 数组成员、CONTROL[DEVICE[VISION[DB[ 的名称列表、小写 sys. 自动更正为 SYS.,以及就地添加缺失的参数。

  • 改进

    代码格式化 (Ctrl+D) 可正确缩进无大括号的语句体与 } else { 写法。

  • 变更

    已取消保存时自动插入分号的功能。源码将按输入原样保存,位置不当的分号改为在检查中以警告提示。

  • 改进

    在外部编辑器中修改 .xms / .xmd 后会自动检测,确认后重新载入,并恢复正在编辑的选项卡与光标位置。

04

运行模式

  • 新增

    仿真模式 — 在项目选项中开启后,IO 与电机会切换为内置虚拟对象,无需硬件即可运行时序流程。虚拟电机会根据速度与加减速设置计算移动时间,位置像实际板卡一样递增(支持回原点、点动、停止与暂停);虚拟 IO 会记住状态,并在调用 Wait 时自动注入期望状态,使流程自动推进。标题栏会显示 SIMULATION 横幅,返回常规模式时会关闭全部输出并要求所有轴重新回原点。

  • 新增

    维护模式 — 类似 LOTO 的安全作业模式。进入后以全屏遮罩阻止操作,并禁用电机动作、事件函数、外部开关与快捷键,仅 Engineer 及以上权限可退出。可通过脚本 SYS.EnterMaintenance/ExitMaintenance 控制。

  • 新增

    托盘模式 — 以设备模式启动时不显示画面,在系统托盘中后台运行(托盘菜单提供 Show / Hide / Exit)。

  • 新增

    Windows 关机处理 — PC 关机或注销时自动停止运行并保存运行数据。也可在脚本事件 OnWindowsShutdown 中拒绝关机(可在项目选项中设置)。

  • 新增

    设备模式的系统问题提示 — 在设备画面上以对话框提示驱动加载、设置数据文件、通信连接与脚本错误(可开关;无问题时不会显示)。

  • 新增

    新增运行启动 (Start) 时自动切换到 Run 画面的选项(默认关闭)。

05

画面设计

新增设计控件

  • 新增

    图表 — 折线图、柱状图 (XBarChart)、环形图 (XRadialChart)。支持 X 轴标签格式、类别标签与显示间隔、柱顶数值标注,以及系列标题多语言。

  • 新增

    报警与事件列表 (XAlarmListView / XEventListView) — 支持搜索、筛选、CSV 导出、自动滚动,以及 Ack / Reset / 详情按钮与优先级彩色徽标。

  • 新增

    时序显示器 (XSequenceDisplay) — 在一个画面上显示模块的当前步骤、节拍时间、各步骤通过次数与最后执行时间。

  • 新增

    加载动画 (LoadingSpinner) — 5 种形态 × 4 种动画,可通过绑定值自动开关。

  • 新增

    方向按钮 (ArrowButton) — 上/下/左/右/CW/CCW/Stop 矢量图标,支持 Click / Momentary / Toggle 模式,并带 LED 指示与标签。

  • 新增

    环形进度条 (XCircularProgressBar)、定时器 (XTimer,运行时不显示)、触摸手势区域 (XTouchArea,滑动)、日期选择 (XDatePicker)、密码输入框 (XPasswordBox)、圆/椭圆图形 (ShapeCircle)、项目列表 (XItemListBox)、序列号规则编辑器 (XSerialNumberRuleEditor)。

  • 新增

    支持 SVG 矢量图像 — Image / ImageButton / ImageDisplay / AnimateImage 可像 PNG 一样选择 .svg 文件,任何分辨率下都保持清晰。

表格与列表控件

  • 新增

    DataGrid 列排序 — 点击表头依次切换升序 → 降序 → 取消。排序期间暂停实时刷新以保持顺序。

  • 新增

    按值着色与状态徽标 — 根据单元格取值改变文字颜色或显示胶囊形徽标,并提供专用编辑对话框与模板库(OK/NG、Traffic、Grade 等)。

  • 新增

    条件格式 — 支持文本包含,以及数值大于/小于/不小于/不大于等规则。

  • 新增

    复选框列,可通过表头复选框进行三态全选切换。

  • 新增

    新增外边框、圆角、行高、滚动条显示等设计属性。

  • 新增

    列标题与下拉项支持多语言(可选启用,不影响现有项目)。

  • 新增

    可从脚本强制刷新 — CONTROL["模块::控件"].RefreshData()

设计器

  • 新增

    属性分类分组 — 属性整理为 Layout / Appearance / Behavior / Data / Event 可折叠分组,Name 与 Caption 始终置顶。折叠状态会被记住,并可按 Name 或 Category 排序。

  • 改进

    解决了选中小尺寸控件时,缩放手柄覆盖控件导致无法用鼠标移动的问题,并在选中控件上显示移动光标。

  • 改进

    设计页面中存在未知控件时原本会静默消失,现在会通过警告窗口提示(并告知保存时可能丢失)。

  • 改进

    修正了重命名后的控件仅在 RUN 模式下消失,以及复制控件时名称累积为 _1_1_1 的问题。

  • 新增

    双击控件即可自动生成对应的事件脚本函数或在编辑器中打开它。

  • 新增

    Show Design Window 预览会将超出屏幕的设计按比例缩小,以便完整显示。

触摸与虚拟键盘

  • 新增

    视觉画面 (XvDisplay) 支持多点触控 — 双指捏合缩放、单指拖动平移、双击适应画面。

  • 改进

    虚拟键盘经过大幅改进:显示比例可在 50~300% 之间调节、韩/英切换按钮与物理键盘同步、新增光标移动与删除键 (Home/◀/▶/End/Del)、长按自动重复、可用 Enter 确认输入。同时解决了触摸屏上按一次输入两次以及键盘自行关闭的问题。

  • 改进

    修正了在未安装韩文输入法的操作系统上键帽错误显示为韩文的问题。

06

消息、报警、多语言与主题

显示语言

  • 新增

    Tools 菜单 > 显示语言(English / 한국어) — 菜单、工具栏、选项卡、解决方案资源管理器、项目选项与公共对话框会立即切换,已打开选项卡的名称也会同步更新。

  • 改进

    解决了更改项目语言后消息仍以旧语言显示的问题(此前需要重启才生效)。

  • 变更

    统一了消息显示语言规则 — 若目录中没有该项目语言,则以英文显示。

消息与错误

  • 变更

    所有提示与确认消息均已改为基于消息目录。移除了 Windows 默认消息框,并将约 380 处硬编码文本统一为消息代码,从而支持韩/英自动切换与按项目自定义文案。

  • 新增

    消息与错误编辑器已统一为 JSON 目录编辑器 (Ctrl+4 / Ctrl+5)。可在同一页面切换内置/项目消息/项目错误,并提供分类树、搜索、多语言内联编辑与校验。

  • 新增

    用于翻译的 Excel 导出/导入 — 以代码、原文、译文三列的单一工作表交给译者,导入时预览新增/变更/相同的条目数量,同时校验占位符 ({0}) 一致性并自动备份。

  • 新增

    新增将内置消息复制到项目目录的按钮(仅添加项目中不存在的代码)。

  • 改进

    整理了多行消息的处理 — 解决了编辑框中 \n 显示为文字,以及错误对话框与日志中换行被破坏的问题。

报警与浮动提示

  • 新增

    报警状态机 — Active → Acknowledged → Cleared → ResetRequired → Resetting → Completed,将 Ack(确认)与 Reset(恢复指令)的含义分离(为保持兼容,Legacy 模式默认开启)。

  • 新增

    报警详情对话框 — 以结构化方式显示代码、时间、模块、状态、优先级与确认人,以及消息/原因/处置正文,并支持一键复制全部内容。

  • 新增

    浮动提示 (Toast)ShowTimerMessage 现以非模态浮动提示显示。可设置位置、显示时长、字体、颜色与同时显示数量,并可实时预览。

  • 新增

    新增脚本函数 ShowWarning / RegisterAlarmHandler / ClearAlarm / LogEvent

主题

  • 新增

    自定义主题 — 可从项目文件夹 Themes 中选择主题文件 (.xaml) 应用。另外还提供独立的主题编辑工具 (QmsThemeEditor)。

  • 改进

    在整个产品范围内整理了深色与自定义主题下文字与背景难以区分的问题(菜单悬停、按钮标题、标题栏、树控件选中项、属性标题、输入框等)。自定义主题文件中缺失的颜色会自动从内置主题补全。

  • 变更

    移除了未使用的 Green 主题,内置主题为 Light 与 Dark。

07

数据库

  • 新增

    脚本访问数据库 — 通过 DB["名称"] 执行 SELECT、参数化查询、事务、基于 JSON 架构建表以及在线备份,支持 SQLite 与 MSSQL。

  • 新增

    Database Studio — 包含 Structure / Data / SQL 三个选项卡。可用表格形式编辑架构(下拉选择、模板、一键添加列),SQL 编辑器提供语法高亮、F5 执行、执行选中内容与历史记录。

  • 新增

    Database Connections — 以卡片列表管理连接,可进行连接测试与自动备份设置。更改 SQLite 路径时会询问是否移动或复制文件。

  • 新增

    Database Events — 查看 8 种数据库事件(打开、关闭、错误、备份、远程等)的实现情况,并可一次性添加。

  • 新增

    支持 DB[ 名称列表与成员的代码补全。

  • 改进

    解决了 CSV 导出等数据库查询过程中程序无日志退出,以及加载表结构时立即退出的问题。

08

用户管理与安全

  • 新增

    账户体系重写 — 密码以 PBKDF2-SHA256 存储,用户数据以 AES-256 加密。审计日志采用哈希链,可检出篡改。

  • 新增

    策略设置 — 密码最小长度、有效期、到期前预警、禁止重复使用历史密码、登录失败锁定、停用闲置账户、管理员重置后强制修改。

  • 新增

    自动注销 — 可按分钟设置无操作时间与运行中的注销时间(0 表示不使用)。自动运行期间不生效,并可通过脚本临时抑制。

  • 新增

    用户管理界面 — 包含 Users / Audit Log / Policy 选项卡,以颜色与徽标显示账户状态,支持解锁与发放临时密码,发生变更时实时刷新。

  • 新增

    脚本登录 API — GUI.Login(id, pw)GUI.IsLoggedInGUI.CurrentUserId/CurrentUserName,以及失败原因查询 (LastLoginResult / LastLoginMessage)。

  • 变更

    当所需权限级别低于 Developer 且对应内置账户密码为空时跳过登录窗口的选项,现已默认开启。如需始终显示登录窗口,请在项目选项中关闭。Developer 级别无论该选项如何都会显示登录窗口。

  • 变更

    密码最小长度的默认值已由 8 改为 0(不限制)。

  • 新增

    登录界面与修改密码界面支持多语言,并应用项目设计字体。

09

电机、IO 与气缸

电机

  • 新增

    暂停/继续 — 移动中减速停止,继续后会接着走到原定目标位置。可选择立即减速停止 (MotionHold) 或完成当前移动后停止 (StepBoundary)。回原点、传感器搜索移动与龙门从动轴不在暂停范围内;对于需要持续运转的轴(如输送带),可通过各电机的 PauseEnable 单独排除。

  • 新增

    函数关联可视化 — 电机列表中新增 Check / PreHome / AfterHome 关联指示灯与函数名,以及 'Check Function' 列。已指定名称但未关联的函数会以浅色显示,并通过工具提示说明原因。

  • 新增

    电机设置界面的 +/X 按钮可立即创建并关联 Check / PreHome / AfterHome 函数。

  • 改进

    整理了电机测试界面 — 新增显示最后操作结果的 STATUS 状态栏、按功能着色的矢量图标状态表头、'In Motion' 列,并自动隐藏未使用的信号。

  • 改进

    Motor Repeat / Cylinder Test 在动作失败时会显示包含原因的错误报警。

  • 改进

    MotorDisplay 的状态图标、指示灯颜色与各栏显示与否均可通过属性调整。

IO

  • 新增

    在 IO 编辑器中关联函数 — 可用 +/X 按钮创建并关联检查/事件函数,并保存到设置文件。列表中会显示关联状态(绿点+函数名),即使编辑器处于打开状态,编译后也会自动刷新。

  • 新增

    IO 检查/事件函数可通过 (name, state) 的第二个参数直接获得开/关状态值。

  • 改进

    IO 状态监视已分离到专用线程,事件脚本中的 Sleep 不会再导致画面卡顿。

  • 新增

    自定义 IO 模块 — 可直接输入 IN/OUT 方向与点数,创建 IN32OUT32、IN48OUT48 等任意模块(支持非对称点数,单模块最多 1000 点)。

  • 改进

    解决了选择 IO 点数较多的模块时列表卡顿的问题。

三色灯与物料

  • 新增

    多蜂鸣器支持 — 可设置蜂鸣器模式(单路/4 通道/15 种组合)、K1~K4 的 IO 以及各状态的声音编号。脚本新增 TOWERLAMP.SetBuzzerSound/PlayBuzzerSound

  • 改进

    整理了三色灯编辑器 — 按颜色区分的表头背景、自动隐藏未使用颜色、删除确认,并修正了编辑内容丢失与复制项连带修改原项的问题。

  • 新增

    扩展了物料容器功能 — Map 坐标查找 (GetDevicePos 系列)、容量与 Map 尺寸设置、EmptyCount / IsFull / IsEmpty,以及先确认目标是否可容纳的原子化物料移动。

10

视觉

  • 变更

    EasyVision 已更名为 QVision(驱动名 "QVision",示例项目 QVisionSample)。

  • 新增

    OCR 工具 — 通过字符区域分割与学习字库匹配识别字符,并将 OCR 设置与字符样式一并保存在同一个字库文件中。

  • 改进

    形状查找 (Find) 精度提升 — 边缘极性匹配(Normal / Inverse / Any 等 6 种模式)、基于模型边缘的评分、边缘匹配容差、针对暗色低对比背景的 Canny 自动调节,并解决了重新查找训练图像本身时得分偏低的问题。

  • 新增

    新增量具 — 菱形 (Rhombus) 量具,并改进了圆形量具的显示。

  • 改进

    重构了视觉对象编辑器 — 将相机/图像/工具列表整合为一棵树,并实现多语言。同时修正了未提示保存导致修改丢失的问题。

  • 新增

    RTSP/IP 相机驱动 (XRtspCamera) — 在 CameraID 中输入 rtsp:// 地址即可连接,断开后自动重连,并支持低延迟选项与 GPU 硬件解码。

  • 改进

    USB 相机自动恢复 — 检测到丢帧后自动重连,并解决了相机无响应时持续返回旧帧的问题。

  • 新增

    支持 QR 综合等级判定 (ISO 15415 / ISO 29158)。

11

通信与驱动

新增驱动

  • 新增

    FCAT — 基于 Floware EtherCAT 的运动/IO 驱动,支持限位与原点传感器读取、InPosition 信号、CiA402 回原点方式指定,以及主站重启与异常终止检测。

  • 新增

    LS PLC (XGT FEnet) — TCP 客户端。地址可省略 %,直接输入 D7000M100.5 等简写形式。

  • 新增

    Dynamark K300 打印机 — 支持墨量、温度、电压、转速等状态读取、作业切换,以及五种语言的错误消息。

  • 新增

    UV Controller(RS485)与 Phoseon FireJet UV 固化设备。

  • 新增

    Web 远程控制 (QWebRemote) — 可通过手机、平板或 PC 浏览器连接查看 IO/电机/气缸。电机提供按方向的点动旋钮与速度选择;设备运行期间禁止操作,通信中断时电机会自动停止。

  • 新增

    QMachineNet — 支持按单元控制 RGB LED、采集 StallGuard 时序数据以及读取固件版本。

现有驱动改进

  • 新增

    Ajin 电机驱动新增加减速曲线模式(对称/非对称梯形、类 S 曲线、对称/非对称 S 曲线)与 S 曲线加加速度设置(默认值与原来一致)。

  • 新增

    Ajin EtherCAT 从站缺失检测 — 当配置轴数与驱动实际识别的轴数不一致时,会输出明确的错误日志并阻止运动,防止轴序前移导致指令发往错误轴。

  • 改进

    全面加强了通信稳定性 — ModBus TCP/RTU 分包接收、TCP 重连、LS PLC 响应匹配等。

  • 改进

    驱动现在也能在子文件夹中找到其依赖 DLL(含原生运行库)。

12

发布、Git 与安装

  • 新增

    发布工具重构 — 不再组合 17 个复选框,改为选择四种发布目的(Project Update / Project Full / Program Update / Full Package)。界面会显示预计与已用时间及进度条,完成后自动打开文件夹,并自动排除开发用文件(.git、DevDocs、*.bak/tmp/log 等)。

  • 新增

    二进制发布 — 只发布编译产物 (.xmc) 而不含脚本源码 (.xms)。发布包仅可运行,无法进入 Studio 或修改代码(仅当脚本引擎为 Bytecode 时可用)。

  • 新增

    Git 集成 — File 菜单中新增 Git Add / Revert / Push。可在提交窗口中用复选框选择变更文件并直接提交,以矢量图标区分文件状态(修改、新增、删除、重命名等),双击文件名即可查看差异。界面支持韩文与英文。

  • 新增

    安装程序 (Inno Setup) — 提供韩文/英文/日文的安装向导与最终用户许可协议。安装完成后可按所选语言打开本版本说明。

  • 新增

    开源许可声明 — 可在 Help 菜单中查看所用开源软件包、版权与许可证全文,发布包中也会附带 Licenses 文件夹。

  • 新增

    查看版本说明 — 可在 Help 菜单中以英文、韩文、日文、中文打开本文档。

  • 新增

    在项目选项中注册设备图标 (.ico) 后,会自动创建桌面快捷方式(可按客户定制图标)。

13

授权

  • 变更

    版本级别整理 — 分为 Trial(体验)/QMachineStudio Free(免费开发)/Licensed(正式授权)三级。所有级别均可不受限制地创建、编辑、保存与编译项目;体验期结束后,开发与仿真仍可无限期使用。

  • 变更

    体验期为 30 天

  • 新增

    宽限运行 — 运行过程中加密狗瞬时接触不良时,30 秒以内会被忽略;确认丢失后仍允许运行 48 小时,以便在申请临时运行码期间产线不停机。屏幕上方会以横幅显示剩余宽限时间,加密狗重新被识别后宽限状态立即解除。

  • 新增

    软件授权注册 — 无需单独的程序,可在 License 对话框中查看并复制系统码,然后导入授权文件完成注册,系统会自动校验该文件是否属于本机。

  • 新增

    USB 加密狗 V2 格式 — 通过加密防止篡改,并内置项目代码。原有 V1 加密狗仍可正常识别。

  • 新增

    项目专用授权 — 为特定项目签发的密钥仅能运行代码匹配的项目。项目选项中新增 Project Code 选项卡(仅在插入 Master 密钥时显示)。

  • 新增

    QMS License Studio — 全新的授权签发工具,支持多加密狗目标选择、写入前变更确认、签发历史管理、包含签发规格的模板,以及多语言与浅色/深色主题。

  • 改进

    加密狗读取速度大幅提升(256 字节约由 140ms 缩短至约 16ms),并在读写失败时自动重试、写入后回读校验。同时解决了加密狗无响应导致程序卡死的问题。

  • 改进

    修正了只要插入加密狗就会跳过轴数与项目代码校验的问题,现在还会一并校验相机数量。

  • 新增

    About、启动画面与授权界面会显示当前版本级别与授权等级 (RunTime / Developer / Master)。

14

性能与稳定性

  • 改进

    项目打开与启动速度 — IO / 电机 / 气缸 / 视觉并行加载、设计视图控件扫描缓存共享、去除文件重复解析、工具箱延迟构建、后台预建系统字体列表,以及启动画面淡出时间缩短(2 秒 → 0.5 秒)。

  • 改进

    内存泄漏修复 — 解决了在开发者模式与运行模式之间反复切换时内存持续增长的问题(旧 RUN 画面未释放、Window 型 ViewModule 未关闭、闪烁控件残留全局事件订阅、消息与报警弹窗累积、视觉画面累积)。

  • 改进

    线程安全 — 消除了脚本数组并发使用、随机数生成、数据库并发访问、授权轮询等场景中偶发的错误与卡死。

  • 改进

    抑制日志泛滥 — 同一步骤错误重复出现时仅记录首次并统计次数,解除时输出汇总。未连接设备的重复失败日志也会按固定间隔记录。

  • 改进

    记录异常退出原因 — 此前存在无日志退出的情况,现在会记录原因,并对文件对话框与外壳扩展错误导致的退出路径进行了防护。

  • 改进

    解决了删除模块后监视与时序线程仍在运行,以及数据显示控件的刷新定时器重复注册导致 CPU 占用升高的问题。

  • 改进

    解决了关闭项目并打开另一个项目时,电机、IO、气缸与页面权限数据仍保留上一个项目取值的问题。

  • 新增

    项目自动备份 — 可指定备份文件夹与保留代数,仅保留最新 N 份(旧文件夹自动清理)。

15

示例项目

  • 新增

    ScriptTutorial — 面向 XScript 学习的 18 课教程,左侧显示代码、右侧显示运行结果。

  • 新增

    ScriptSyntaxSample — 按分类以按钮测试语法,并可将同一段代码在旧/新引擎上运行以对比结果。

  • 新增

    SequenceSample — 时序流程教学示例,五个取放与输送模块联动,可在画面上查看 DEVICE 移动与时序状态。

  • 新增

    ChartDemo(图表)、CameraSample(RTSP 相机)、DB_Sqlite(数据库 CRUD 与事务)以及 ModBus TCP 客户端示例。

16

升级注意事项

以下项目在 4.0 中打开 3.x 项目时行为可能发生变化,请在现场应用前确认。

  1. 01

    脚本引擎默认值已改为新引擎(Bytecode)。大多数脚本可直接运行,但此前被静默放过的错误可能会以编译错误的形式显现。如遇问题,可在工具选项 > Script Engine 中切换回 Legacy。

  2. 02

    发布用 .xmc 格式已变更。进行二进制发布前请先用脚本编译 (F6) 重新生成。源码已不存在的 .xmc 会在发布时自动排除。

  3. 03

    与步骤同名的函数曾导致该时序步骤无法执行,现已通过分离步骤名与函数名解决。重复声明同名函数现在会报编译错误。

  4. 04

    向数组越界位置写入将产生运行时错误。请仅通过设置 arr.Count 来改变数组大小。

  5. 05

    已取消自动插入分号。保存时将完整保留您输入的源码。

  6. 06

    空密码自动登录选项现已默认开启,密码最小长度默认值变为 0。如有需要,请在项目选项中调整。

  7. 07

    浮动提示默认值已改为"顶部居中 / 字号 20"(项目选项 > Toast 选项卡)。

  8. 08

    新建函数的默认返回类型为 boolFUNCTION bool 名称()return true)。

  9. 09

    Green 主题已移除。请使用 Light / Dark 或自定义主题。

  10. 10

    Map 容器的行查找函数(GetDeviceRow / GetDeviceRankRow / GetEmptyRow)已删除,改为 GetDevicePos 系列。

  11. 11

    MOTION 关键字已移除。插补运动请通过 DRIVER["驱动名"] 调用。

  12. 12

    名称变更 — EasyVision → QVision、JogArrowButton → ArrowButton(已保存的文件自动兼容)、Message Editor → Message Error Editor。

  13. 13

    序列号规则文件(SerialRules.XDF)的位置由项目根目录移至 XData 文件夹(打开项目时自动迁移,无需额外操作)。

  14. 14

    消息/错误翻译 Excel 格式已改为单一工作表整合方式(导入时仍可自动识别旧版三工作表文件)。

  15. 15

    删除脚本或设计模块将立即删除(此前会移至 Backup 文件夹)。如有需要,请使用项目自动备份选项。

订阅申请