07-16-2024, 11:36 AM
(Сообщение последний раз редактировалось: 10-29-2024, 11:00 AM Lamantur.
Причина изменения: Новый аттрибут в функции create
)
Повторяющийся сигнал - это сигнал, который записывается автоматически с определенным интервалом и значением. Такие сигналы могут быть использованы для ввода ручных значений. Рассмотрим вариант использования, в котором стоит задача авторизовать пользователя, привязав его к определенному изделию и снять авторизацию когда это потребуется. Альтернативой этому может быть любой вводимый пользователем сигнал, например текущая операция или причина простоя.
Для работы с повторяемыми сигналами существует системный робот Repeatable Signal Worker. В настройках этого робота можно указать интервал для повторения всех сигналов.
Для контроля и управления всеми повторяющимися сигналами достаточно перейти в Настройки>Администрирование>Повторяющиеся сигналы.
В WINNUM JavaScriptSDK для работы с управляемыми сигналами предусмотрены следующие функции:
Создание нового повторяемого сигнала. Если повторяемый сигнал с заданными параметрами уже есть, то он будет остановлен и использован
Параметр uuid – UUID продукта
Параметр qualifiedPrefix – блокчайн префикс (допускается только кодировка ASCII) - Допустимо оставить пустым
Параметр qualifiedName – квалифицированное имя сигнала (допускается только кодировка ASCII)
counter - тип используемого счетчика, если сигнал используется не для счетчиков указывается "",
baseSdkUtils.service.WNRepeatableSignalHelper.startRepeatableSignal(oid, value, function(data) {})
Запуск созданного заранее повторяемого сигнала
Параметр oid – идентификатор повторяемого сигнала (class name: id), его можно найти в адресной строке при открытии информации о повторяемом сигнале.
Параметр value – повторяемое значение
baseSdkUtils.service.WNRepeatableSignalHelper.stopRepeatableSignal(oid, function(data) {})
Остановка повторяемого сигнала
Параметр oid – идентификатор повторяемого сигнала (class name: id), его можно найти в адресной строке при открытии информации о повторяемом сигнале.
baseSdkUtils.service.WNRepeatableSignalHelper.getRepeatableSignal(uuid, function(data) {})
Получение перечня повторяемых сигналов по UUID продукта
Параметр uuid – UUID продукта
Для проверки действия функции достаточно вызвать ее, а полученный ответ записать в консоль:
После этого можно проверить, что в списке повторяемых сигналов появилось новое значение.
Важные моменты:
1. Управлять повторяемыми сигналами может только Администратор Устройств или Администратор в Организации.
2. Создавая повторяемый сигнал - не создайте его на месте реального сигнала с тем же именем. В этом случае сигнал будет подмешивать значения в приходящий сигнал.
3. Чтобы увидеть сигнал на устройстве нужно создать Шаблон Объекта Данных, назначить его Шаблону Устройств и Прикрепить этот Шаблон Устройств к Шаблону Изделий (на ваше усмотрение как именно организовать Шаблон Изделия).
Создать и запустить:
Во вложении шаблон, который позволяет назначать станкам операторов в виде повторяющегося сигнала. Для этого получаем список установленных и доступных пользователю приложений - их выведем в виде выпадающего списка, оттуда сразу берем список станков и запускаем вывод значений сигналов в таблицу:
Авторизация операторов R5.zip (Размер: 8.52 KB / Загрузок: 6)
Hello World!:
- Сообщений не найдено.
Для работы с повторяемыми сигналами существует системный робот Repeatable Signal Worker. В настройках этого робота можно указать интервал для повторения всех сигналов.
Для контроля и управления всеми повторяющимися сигналами достаточно перейти в Настройки>Администрирование>Повторяющиеся сигналы.
В WINNUM JavaScriptSDK для работы с управляемыми сигналами предусмотрены следующие функции:
Код:
baseSdkUtils.service.WNRepeatableSignalHelper.createRepeatableSignal(uuid, prefix, signal, counter, function(data) {})Параметр uuid – UUID продукта
Параметр qualifiedPrefix – блокчайн префикс (допускается только кодировка ASCII) - Допустимо оставить пустым
Параметр qualifiedName – квалифицированное имя сигнала (допускается только кодировка ASCII)
counter - тип используемого счетчика, если сигнал используется не для счетчиков указывается "",
baseSdkUtils.service.WNRepeatableSignalHelper.startRepeatableSignal(oid, value, function(data) {})
Запуск созданного заранее повторяемого сигнала
Параметр oid – идентификатор повторяемого сигнала (class name: id), его можно найти в адресной строке при открытии информации о повторяемом сигнале.
Параметр value – повторяемое значение
baseSdkUtils.service.WNRepeatableSignalHelper.stopRepeatableSignal(oid, function(data) {})
Остановка повторяемого сигнала
Параметр oid – идентификатор повторяемого сигнала (class name: id), его можно найти в адресной строке при открытии информации о повторяемом сигнале.
baseSdkUtils.service.WNRepeatableSignalHelper.getRepeatableSignal(uuid, function(data) {})
Получение перечня повторяемых сигналов по UUID продукта
Параметр uuid – UUID продукта
Для проверки действия функции достаточно вызвать ее, а полученный ответ записать в консоль:
Код:
baseSdkUtils.service.WNRepeatableSignalHelper.createRepeatableSignal(uuid, "", "A100", "", function(data) {console.log(data)})Важные моменты:
1. Управлять повторяемыми сигналами может только Администратор Устройств или Администратор в Организации.
2. Создавая повторяемый сигнал - не создайте его на месте реального сигнала с тем же именем. В этом случае сигнал будет подмешивать значения в приходящий сигнал.
3. Чтобы увидеть сигнал на устройстве нужно создать Шаблон Объекта Данных, назначить его Шаблону Устройств и Прикрепить этот Шаблон Устройств к Шаблону Изделий (на ваше усмотрение как именно организовать Шаблон Изделия).
Создать и запустить:
Код:
function createSignalOperator(uuid, signal, value){
baseSdkUtils.service.WNRepeatableSignalHelper.createRepeatableSignal(uuid, "", signal ,"",function(data){
for(var i = 0; i < data.getElementsByTagName('item').length ; i++ ) {
var item = data.getElementsByTagName('item')[i];
var oid = baseSdkUtils.decode(item.getAttribute("id"));
baseSdkUtils.service.WNRepeatableSignalHelper.startRepeatableSignal(oid, value);
}
});
}Во вложении шаблон, который позволяет назначать станкам операторов в виде повторяющегося сигнала. Для этого получаем список установленных и доступных пользователю приложений - их выведем в виде выпадающего списка, оттуда сразу берем список станков и запускаем вывод значений сигналов в таблицу:
Код:
function getApplication(){
baseSdkUtils.service.WNApplicationHelper.getApplicationInstance('', function (data){
if ( baseSdkUtils.isSuccess(data) ){
var namesApp = [];
var idApp = [];
for (var i = 0; i < data.getElementsByTagName('item').length; i++){
var item = data.getElementsByTagName('item')[i];
var name = baseSdkUtils.decode(item.getAttribute('name'));
namesApp.push(name);
var id = item.getAttribute('id');
idApp.push(id);
}
uniqueNames = new Set(namesApp);
uniqueId = new Set(idApp);
var ApplicationNames = Array.from(uniqueNames);
var ApplicationID = Array.from(uniqueId);
for(s=0;s<ApplicationNames.length;s++){ApplicationNames[s]='<option value=\'' + ApplicationID[s] + '\'>' + ApplicationNames[s] + '</option>';}
ApplicationNames.sort();
document.getElementById('appid').innerHTML = ApplicationNames.join("");
var yourSelect = document.getElementById( "appid" );
var _appid_ = yourSelect.value;
//console.log(_appid_);
startFunction(_appid_);
baseSdkUtils.service.WNApplicationHelper.getProduct(_appid_, function(data){
if ( baseSdkUtils.isSuccess(data) ){
for(var i = 0; i < data.getElementsByTagName('item').length ; i++ ) {
var item = data.getElementsByTagName('item')[i];
var product_UUID = item.getAttribute('ProductUUID');
setTimeout(getRSignal, 200 * (i), product_UUID, i);
}
}
});
}
});
}
Авторизация операторов R5.zip (Размер: 8.52 KB / Загрузок: 6)
Hello World!:
- Сообщений не найдено.

