SetUserAlarm Okuma THINC API С#

Я работаю над приложением для токарного станка Okuma.

Я хотел бы иметь возможность перевести токарный станок в состояние тревоги из приложения. Я не получаю никаких ошибок, и приложение работает на машине, но не переходит в состояние тревоги NC.

Строка перед ней изменяет текст alarmLabel.
Я использую alarmLabel для устранения неполадок.
Может ли кто-нибудь привести пример SetUserAlarm в C#?
Кто-нибудь видит, что не так с моим кодом?

alarmLabel.Text = "Alarm ON";
objCMDMachine.SetUserAlarm(  
    Okuma.CLCMDAPI.Enumerations.UserAlarmEnum.C,  
    "Test Alarm",  
    Okuma.CLCMDAPI.Enumerations.UserAlarmSubSystemEnum.All
    );

person MD1    schedule 23.02.2018    source источник


Ответы (1)


Ваш пример кода выглядит хорошо для меня.

Для успешного создания аварийного сигнала машины API должен иметь лицензированную функцию UserAlarm.
(Okuma.Lathe.UserAlarm в файле лицензии okuma.api.lic).

Вы можете убедиться, что на компьютере есть этот параметр, используя библиотеку SCOUT:

      UserAlarmLathe = Okuma.Scout.LicenseChecker.License_UserAlarm_L;
        if (UserAlarmLathe.Status == Enums.LicenseStatus.Valid)
        {
            // ...
        }

Кроме того, машина, на которой находится API, также должна иметь параметр THiNC ALARM.

Если для вашей машины такой опции нет, ее можно заказать, связавшись с дистрибьютором Okuma и запросив код опции " :911-0010 — THiNC ALARM".

Наличие этой опции можно подтвердить, проверив код спецификации токарного станка NC-B No. 4, Bit 3. Вы можете проверить этот код спецификации в своем приложении с помощью THINC API или 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)
            {
                // ...
            }
        }
    }
person Scott Solmer    schedule 27.02.2018
comment
Спасибо, Окума. Скотт. Токарный станок не имеет опции Thinc Alarm. Выяснил, что эту опцию нужно покупать. - person MD1; 17.03.2018