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.CurrentDateTimeInISOISO-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)自定义数据更新