首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SetUserAlarm Okuma THINC API C#

SetUserAlarm Okuma THINC API C#
EN

Stack Overflow用户
提问于 2018-02-23 16:49:33
回答 1查看 297关注 0票数 2

我正在为Okuma车床开发一个应用程序。

我希望能够把车床从应用程序进入警报状态。我没有收到任何错误,应用程序运行在机器上,但它不会进入NC警报状态。

它之前的行确实更改了alarmLabel的文本。

我正在使用alarmLabel进行故障排除。

有人能提供SetUserAlarm在C#中的一个例子吗?

有人看到我的代码出了什么问题吗?

代码语言:javascript
复制
alarmLabel.Text = "Alarm ON";
objCMDMachine.SetUserAlarm(  
    Okuma.CLCMDAPI.Enumerations.UserAlarmEnum.C,  
    "Test Alarm",  
    Okuma.CLCMDAPI.Enumerations.UserAlarmSubSystemEnum.All
    );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-27 15:15:03

你的示例代码在我看来还行。

要成功地生成机器警报,API必须具有许可的特性UserAlarm

(Okuma.Lathe.UserAlarm在okuma.api.lic许可文件中)。

可以通过使用童子军图书馆确认机器具有此选项。

UserAlarmLathe = Okuma.Scout.LicenseChecker.License\_UserAlarm\_L; if (UserAlarmLathe.Status == Enums.LicenseStatus.Valid) { // ... }

此外,API所在的机器还必须具有THiNC ALARM选项。

如果您的机器没有此选项,可以通过与您的Okuma分发服务器联系并要求选项代码 :911-0010 - THiNC 来订购。

此选项的存在可以通过检查车床规范代码NC-B No. 4, Bit 3来确认。您可以使用THINC或SCOUT在应用程序中检查此规范代码。

使用THINC API:

Okuma.CLDATAPI.DataAPI.CSpec SpecCodeClass = new Okuma.CLDATAPI.DataAPI.CSpec(); bool THiNK\_ALARM = SpecCodeClass.GetBSpecCode(4, 3); if (THiNK\_ALARM) { // ... }

使用童子军:

if (Okuma.Scout.SpecCode.NCB.MachineSpecCodeFileExists) { if (Okuma.Scout.SpecCode.NCB.SpecFileIsValid) { bool THiNK\_ALARM = Okuma.Scout.SpecCode.NCB.Bit( Okuma.Scout.Enums.NCBSpecGroup.NCB1MG, 4, 3); if (THiNK\_ALARM) { // ... } } }

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48952644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档