EasyBuilder - Скорая помощь новичкам

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

Re: EasyBuilder - Скорая помощь новичкам

Сообщение Aviator_VZh » 09 окт 2023, 19:27

8bit писал(а):
Aviator_VZh писал(а):У меня без инета вот так
[17:21:10] SyntaxError: unexpected end of input
[17:21:10] at <input>:1
[17:21:10] at parse (native)
[17:21:10] at <anonymous> (<JS Action>:23)
[17:21:10] at <anonymous> (<input>:163)
[17:21:10]


не начинайте парсить, если у вас error != No error

Спасибо. Знать бы ещё как это сделать ( Я с JS знаком неделю и ситуация типа обезьяны, кнопки и банана.
Aviator_VZh
 
Сообщения: 63
Зарегистрирован: 22 фев 2023, 01:17

Re: EasyBuilder - Скорая помощь новичкам

Сообщение 8bit » 10 окт 2023, 10:41

Aviator_VZh писал(а):Знать бы ещё как это сделать


попробуйте типа такого:
Код: Выделить всё
const request = require('/request-0.0.3.js');
// Send the get request
request.get({
        url: 'http://217.91.48.218:8145/infos.jsn'
    },
    function (error, response, body) {
        console.log("error:", error);
        console.log("response:", response);
        console.log("body:", body);
       
       
       if (error === "No error"){
           var MyObj = JSON.parse(body);
             
        // Расшифровка JSON
        var result=MyObj.device;
        let device = Number(result);
        console.log("получили device:", result);
       
       }
    }
);
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1186
Зарегистрирован: 20 апр 2020, 19:07

Re: EasyBuilder - Скорая помощь новичкам

Сообщение Aviator_VZh » 10 окт 2023, 14:40

8bit писал(а):
Aviator_VZh писал(а):Знать бы ещё как это сделать


попробуйте типа такого:
Код: Выделить всё
const request = require('/request-0.0.3.js');
// Send the get request
request.get({
        url: 'http://217.91.48.218:8145/infos.jsn'
    },
    function (error, response, body) {
        console.log("error:", error);
        console.log("response:", response);
        console.log("body:", body);
       
       
       if (error === "No error"){
           var MyObj = JSON.parse(body);
             
        // Расшифровка JSON
        var result=MyObj.device;
        let device = Number(result);
        console.log("получили device:", result);
       
       }
    }
);



Спасибо, попробовал.
К сожалению, висит и в симуляторе и в панели.
А request-0.0.3.js (у Вас) и tutorial-webrequest_request-0.0.3.js (у меня) ничем не отличаются?
Aviator_VZh
 
Сообщения: 63
Зарегистрирован: 22 фев 2023, 01:17

Re: EasyBuilder - Скорая помощь новичкам

Сообщение 8bit » 10 окт 2023, 15:19

Aviator_VZh писал(а):А request-0.0.3.js (у Вас) и tutorial-webrequest_request-0.0.3.js (у меня) ничем не отличаются?

тот же самый файл, просто переименовал покороче, да и в примере они пишут request-0.0.3.js ..... непонятно зачем сам файл так длинно именовали ....
еще они в примере с точкой пишут, но работает и без точки
require('./request-0.0.3.js');
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1186
Зарегистрирован: 20 апр 2020, 19:07

Re: EasyBuilder - Скорая помощь новичкам

Сообщение 8bit » 10 окт 2023, 15:20

Aviator_VZh писал(а):К сожалению, висит и в симуляторе и в панели.

проверим..... но свой кода....
а какой код у вас ?
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1186
Зарегистрирован: 20 апр 2020, 19:07

Re: EasyBuilder - Скорая помощь новичкам

Сообщение Aviator_VZh » 10 окт 2023, 15:35

8bit писал(а):
Aviator_VZh писал(а):К сожалению, висит и в симуляторе и в панели.

проверим..... но свой кода....
а какой код у вас ?


Я проверял Ваш код.
Aviator_VZh
 
Сообщения: 63
Зарегистрирован: 22 фев 2023, 01:17

Re: EasyBuilder - Скорая помощь новичкам

Сообщение 8bit » 10 окт 2023, 16:21

Aviator_VZh писал(а):
8bit писал(а):
Aviator_VZh писал(а):Сделал принудительную перезагрузку панели при зависании с журналом.


по какому признаку вы определяете факт зависания ?

Перед выполнением кода взвожу бит, после выполнения опускаю. Если бит взведен дольше 5 сек считаю что завис.


в JS управляете битом ?
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1186
Зарегистрирован: 20 апр 2020, 19:07

Re: EasyBuilder - Скорая помощь новичкам

Сообщение Aviator_VZh » 10 окт 2023, 16:32

в JS управляете битом ?[/quote]
Нет, в действии. Сначала действие установить бит ON, затем выполнение JS, затем установить бит OFF
Последний раз редактировалось Aviator_VZh 10 окт 2023, 16:33, всего редактировалось 1 раз.
Aviator_VZh
 
Сообщения: 63
Зарегистрирован: 22 фев 2023, 01:17

Re: EasyBuilder - Скорая помощь новичкам

Сообщение 8bit » 10 окт 2023, 16:32

Aviator_VZh писал(а):Как правильно заставить выполнять объект JS через определенные промежутки времени?
Организовал через Действие в режиме "Изменение значения" с заведомо верным условием и галкой на "Проверьте состояние рекурсии, когда действие закончится". А задержка организована в первом действии, а второе - запуск объекта JS. Всё нормально работало, но через пару часов перестало. После сброса питания снова поработает и перестает.


1) Я привязал выполнение JS кода на изменение системного регистра LW-9017 (локальные секунды) и полученную isodat записываю в LW регистры
2) эти LW регистры, отображаю графическим объектом ASCII
3) пока что работает.... посмотрим как долго протянет

Код: Выделить всё
var self = this;

const request = require('/request-0.0.3.js');
// Send the get request
request.get( {url: 'http://217.91.48.218:8145/infos.jsn'},
    function (error, response, body)
    {
        console.log("error:", error);
        console.log("response:", response);
        console.log("body:", body);
       
       
       if (error === "No error")
       {
           var MyObj = JSON.parse(body);
             
            // Расшифровка JSON
            var result=MyObj.isodat;
            console.log("получили isodat:", result);
       
            driver.setStringData(self.config.stroka, result.length, result, (err) =>
                {
                    if (err)
                    { console.log('Error:', err.message); }
       
                   });
        }
     }
);


где stroka - это переменная типа Address в конфигурации JS объекта (регистры для отображения их в объекте ASCII)
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1186
Зарегистрирован: 20 апр 2020, 19:07

Re: EasyBuilder - Скорая помощь новичкам

Сообщение 8bit » 10 окт 2023, 16:37

Aviator_VZh писал(а):
в JS управляете битом ?

Нет, в действии. Сначала действие установить бит ON, затем выполнение JS, затем установить бит OFF


считаете действия в Действии связаны друг с другом ? типа если первое не выполнилось, то и второе не запустится ? Вы действия в горизонталь или вертикаль добавили ?
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1186
Зарегистрирован: 20 апр 2020, 19:07

Пред.След.

Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 3