XScript 手册 · Chapter 50
中文翻译准备中,请参阅英文版。
示例
int start = SYS.TickCount;
DoSomething();
int elapsed = SYS.GetElasped(start);
string url = SS.MachineApiServer + "/machine-status";
string result = SYS.SendHttpPost(url, data, SS.HttpToken);
if (result == SYS.HTTP_ERROR_STR)
{
LogError($"ERROR: {SYS.LastHttpError}");
return false;
}SYS 全函数一览(XUtilSystem)
依据 C# 源码 — XUtilSystem 与 _LinearConverter / _LoadCell / _ThreadSync partial 之集合。
时间(属性 / 函数)
| 项 | 含义 |
|---|---|
SYS.TickCount / SYS.SecondCount | 启动后经过(ms / s) |
SYS.GetTickCount() / SYS.GetTime() | 当前 tick / 时间 |
SYS.GetElasped(startTick) | 经过 ms |
SYS.DateString / SYS.TimeString / SYS.DateTimeString / SYS.DateTimeMsecString / SYS.DateTimeFilename | 常用格式 |
SYS.CurrentDateTimeInISO | ISO-8601 |
SYS.GetDateTimeStringFormat(format) | 自定义格式 |
SYS.GetAdjustedDate(dateString, offset) | 日期偏移 |
SYS.ConvertSecondsToTimeString(sec) | 秒 → HH:mm:ss |
SYS.Year / SYS.Month / SYS.Day / SYS.Hour | 分量 |
SYS.RunTimeString / SYS.StopTimeString / SYS.IdleTimeString / SYS.ErrorTimeString | 累计统计 |
系统 / 模块控制
| 函数 | 含义 |
|---|---|
SYS.IsRunning(属性) | 是否运行中 |
SYS.Start() / SYS.StartStepRun() / SYS.Stop() / SYS.Exit() / SYS.ExitMonitorModule() | 全局控制 |
SYS.SetError(module="") / SYS.ResetError() | 错误状态切换 |
SYS.LastErrorCode / SYS.LastErrorMsg / SYS.LastErrorModuleName(属性) | 最近错误 |
SYS.StartModule(module) / StopModule(module) / StartModuleStepRun(module) / ExitModule(module) | 单模块控制 |
SYS.SetModuleError(module) / ResetModuleError(module) | 模块错误 |
SYS.SetModuleBackground(module, value) | 后台模式切换 |
SYS.SequenceModuleCountOnWaiting / SequenceModuleCountOnRunning(属性) | 时序计数 |
SYS.StopManualThread() / SYS.ManualThreadExitSignal(属性) | 手动线程 |
SYS.GetThreadCount(threadName) / (moduleName, seqOrFuncName) | 线程数 |
系统信息 · 许可证 · 诊断
| 项 | 含义 |
|---|---|
SYS.QMSVersion / SYS.ProjectVersion | 版本 |
SYS.GetExeFileVersion() / GetExeAssemblyVersion() | exe 版本 |
SYS.IsProjectOpen / ProjectBaseDirectory | 项目状态 |
SYS.LicenseKeyCount / LicenseMotorCount / LicensePermitRemainDays / TrialLicenseEnabled / HaveProjectCodeLicense / HaveLicense | 许可证 |
SYS.GetAvailableRamSize() / GetProcessMemorySize() / GetManagedMemorySize() / GetTotalMemorySize() | 内存 |
SYS.AddThreadIdLog(prefix, log) / AddMemoryLog() / LogSystemInfo() / LogVersionInfo() | 诊断日志 |
SYS.IsVisualStudioRunning(update=false) | 调试器是否附加 |
产能(UPH)
| 函数 | 含义 |
|---|---|
SYS.ClearUphData() / AddUphData(uph) / GetAverageUph() | UPH 统计 |
SYS.SetBoost() / ResetBoost() | 加速模式 |
文件 / 目录
| 函数 | 含义 |
|---|---|
SYS.MakeFullPath(pathname) / IsFullPath(path) | 路径转换 |
SYS.GetCurrentDirectory() | 当前目录 |
SYS.GetFileName(path) / GetFileNameWithoutExtension(path) / GetDirectoryName(path) | 拆分 |
SYS.ChangeFileExt(filepath, ext) | 替换扩展名 |
SYS.GetUpdateFileName(filename) | 生成更新文件名 |
SYS.GetValidFileName(fileName) | 安全文件名 |
SYS.GetRelativePath(baseFolder, path) / GetAbsolutePath(baseFolder, path) | 绝对/相对 |
SYS.Combine(p1, p2, p3="", p4="") | 路径合并 |
SYS.ExistsFile(path) / ExistsDirectory(path) | 存在性 |
SYS.CreateFile(path) / DeleteFile(file) / CopyFile(src, dst, overwrite) / CopyFiles(srcDir, pattern, dstDir, overwrite) | 文件 |
SYS.MoveFile(src, dst, overwrite=true) / RenameFile(src, dst, overwrite=true) | 移动/重命名 |
SYS.SetFileHidden(path, setHidden=true) | 隐藏属性 |
SYS.CreateDirectory(path) / DeleteDirectory(path, recursive) / ForceDeleteDirectory(path, recursive) / MoveDirectory(src, dst) | 目录 |
SYS.CopyDirectory(src, dst, overwrite=true) | 目录复制 |
SYS.GetFiles(path) / (path, pattern) / (path, pattern, subDirectory) | 文件列表 |
SYS.GetDirectories(path) / (path, pattern) / (path, pattern, subDirectory) | 目录列表 |
SYS.DeleteFiles(dir, remainCount) | 清理旧文件 |
SYS.OpenExplorer(path) | 打开资源管理器 |
SYS.Execute(file, param) | 外部执行 |
文本文件 I/O
| 函数 | 含义 |
|---|---|
SYS.ReadAllLines(path) / ReadAllText(path) | 读取 |
SYS.WriteAllLines(path, data) / WriteAllText(path, data) | 写入 |
SYS.AppendAllLines(path, data) / AppendAllText(path, data) / AppendLine(path, data) | 追加 |
SYS.IsJsonFile(filepath) | 是否 JSON 文件 |
参数(XParam)
| 函数 | 含义 |
|---|---|
SYS.SaveParam(managerKey) / LoadParam(managerKey) | 任意键 |
SYS.SaveJobFileParam() / LoadJobFileParam() | JobFile 参数 |
SYS.SaveSetupParam() / LoadSetupParam() | Setup |
SYS.SaveMasterParam() / LoadMasterParam() | Master |
SYS.SaveRunParam() / LoadRunParam() | Run |
SYS.GetParamValueObjectRef(dataName, remainLog=true) | XParamValue 对象 |
SYS.SetParamValue(dataName) / (dataName, string/int/double/bool) | 设值 |
SYS.GetParamValue(dataName, ref string/int/double/bool) | 取值 |
SYS.SaveSysVisionInfo() / SaveJobVisionInfo() | 视觉信息保存 |
SYS.SaveGlobalData() / LoadGlobalData() | 全局数据 |
跨模块通信
| 函数 | 含义 |
|---|---|
SYS.SetModuleVar(name, string/int/double/bool) | 写模块变量 |
SYS.GetModuleVar(name, ref string/int/long/double/bool) | 读模块变量 |
SYS.GetModuleVarXData(dataName) | 返回 XData |
SYS.RunScriptFunction(module, function) / (module, function, string/int/long/double/bool) | 调用其他模块函数 |
HTTP
| 函数 | 含义 |
|---|---|
SYS.SendHttpGet(url, token="") | GET |
SYS.SendHttpPost(url, data, token="", type="") | POST |
SYS.SendHttpPatch(url, data, token="", type="application/json") | PATCH |
SYS.SendHttpDelete(url, token="") | DELETE |
SYS.HTTP_ERROR_STR(属性) | 错误前缀("[HTTP-ERROR]") |
SYS.LastHttpError(属性) | 最近错误信息 |
声音
| 函数 | 含义 |
|---|---|
SYS.PlaySound(fileName) / PlaySoundLoop(fileName) / StopSound() | wav 播放 |
电机 / IO 批量控制
| 函数 | 含义 |
|---|---|
SYS.SetSpeedAll(speed) / (speed, percent) | 全部电机速度 |
SYS.ServoOnAll(on)(SetServoOnAll) | 全部伺服开/关 |
SYS.ResetMotorHomeDoneAll() | Home Done 复位 |
SYS.StopMotorAll() / StopMotorEmgAll() | 全部停止 |
SYS.ClearAlarmAll() / GetAlarmCount() | 报警 |
SYS.GetMotorNames() / GetIoNames() | 名称列表 |
SYS.CheckIOName(name) / CheckMotorName(name) / CheckCylinderName(name) / CheckIntefaceName(name) / CheckDeviceContainerName(name) | 名称合法性 |
消息 / 错误
| 函数 | 含义 |
|---|---|
SYS.ShowError(buttonType, code, module, format, args...) | 错误对话框(与全局 ShowError 等效) |
其他(随机 · 哈希 · CRC)
| 函数 | 含义 |
|---|---|
SYS.GetRandom() / (min, max) / GetRandomDouble() | 随机 |
SYS.GetSha256Hash(input) | SHA-256 |
SYS.CalcCRC16(data, length) | Modbus CRC-16 |
SYS.UpdateCustomData(command, index) | 自定义数据更新 |