Страница 253 из 342 ПерваяПервая ... 153203243251252253254255263303 ... ПоследняяПоследняя
Показано с 2,521 по 2,530 из 3413

Тема: КаСкада для Андроид устройств

  1. #2521

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    У ПЛК то есть watchdog, если что перегрузится, а ПК или Планшет ? тупо зависнут может.
    У скриптовых языков довольно часто есть средство контроля.

    Например, у той же библиотеки Rhino есть возможность "каждые N инструкций прерывать выполнение скрипта":
    https://mozilla.github.io/rhino/java...xtFactory.html , setInstructionObserverThreshold

    Если такое сделать, то когда в программе появится "бесконечный цикл" (мало ли), то движок может это распознать и сказать "у вас тут блок не работает, т.к. он уже сделал 10000 вычислений и не дошёл до конца".
    А реакция может быть самая разная. Хоть даже и возврат "ошибки" через спец выход, который можно настроить на отправку SMS или же на перезагрузку всей схемы. Или "сохранение значений всех переменных и перезапуск".

  2. #2522

    По умолчанию

    Цитата Сообщение от KaScada Посмотреть сообщение
    В КаСкаде 200 регистров, из себя они int. Первые 10 (от 0 до 9) это системные, там и номер экрана и бит наличия интернета и тек. время и т.д. от 10 до 199 это пользовательские.
    Лично я вижу что-то такое на javascript
    $ - обращение в сис регистры.

    $10 = $100 + $101 * Math.sqrt($102); //Метод Math.sqrt() возвращает квадратный корень числа,

    или

    var a = $10; //сначало объявим переменные
    var b = $11;
    var c = $12;
    a = b + c;

    или условие

    if ($10 > 5) { //если сис.регистр больше 5, то
    $11 = 1;
    }

    if ($10 > 7) { //если сис.регистр больше 7, то
    $11 = 2;
    }

    Чем удобен javascript движок, так это простотой и уже готовым довольно простым синтаксисом
    Вот его математический методы https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Math

    Да, надо подумать как доставать bool и float, но эти кейсы можно потом обдумать.

    Использую похожий алгоритм для визуализации переменных получаемых по Modbus с ПР200, работаю со всеми видами переменных, все работает, (несмотря на то, что я это глубоко не изучал никогда, просто по примерам), вчера выложил исходники страниц и прошивки, можно все посмотреть, не думаю что на андроиде с этим будут проблемы.
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    e-mail: yu.revaka@owen.ru

    Шаблон описания ошибки ПР или OL http://ftp-ow.owen.ru/softupdate/OWE...s/Shablon.docx
    Видео уроки по ПР200 и OWEN Logic http://edu.owen.ru/series/pr200_rev/
    Другие видеоролики по тематике ПР https://www.youtube.com/channel/UCj4...H5H3d_t6iDlQOQ

  3. #2523

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Я, конечно, это видел, и для меня подобное не укладывается в 21-ом веке.

    По-моему, "регистры" должны именоваться, а не нумероваться.
    Ну или, если нумерация зачем-то нужна (зачем?), то хорошо бы иметь возможность называть сами регистры.

    Т.е. назвали, что вот "текущее_время", и чтобы потом можно было не вспоминать $8 это или $23. И, разумеется, у "системных регистров" должны быть названия, чтобы не ходить в документацию и не выяснять какой для чего.


    А плох он тем, что там нет операций с целыми. По сути, в JavaScript либо boolean, либо строки, либо float.
    Возможно, это не так и плохо, но учитывать стоит. Для пользователей может быть неприятный сюрприз при "округлениях" (см https://0.30000000000000004.com/ ).
    Например, 7/2 будет 3.5. Кому-то нужно целочисленное деление, а кому-то дробное.
    С типами в javascript тоже отдельная проблема.
    Пром. панели тоже в 21й век не выйдут никак, тот же Weintek, где целый документ разбросанных сис.регистров.
    Мы думали об именах и отдельной области для этого без цифр, всё можно.

  4. #2524

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Например, 7/2 будет 3.5. Кому-то нужно целочисленное деление, а кому-то дробное.
    Кому целое, тому Math.trunc(7/2); // = 3

  5. #2525
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    js удобен тем что его код можно проверить не доходя до андроидного приложения, он так же будет выполняться и в браузере, поэтому все эти не соответствия результатов выявляются на раз, даже тесты можно использовать или в том же андроиде выводить результаты каждой строчки кода в переменную, а потом эту переменную через getAttribute выводить в лог андроид студио, если она изобилует характерными ключевыми словами ошибок, то можно прекратить работу приложения
    У нас для того чтоб использовать внешние переменные для скрипта использовался xml файл, где имена можно придумывать какие угодно, а значения могут быть хоть переменными, хоть константными числами , это наподобие окна объявлений в КДС
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  6. #2526
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,116

    По умолчанию

    Установил на пром панель приложение от товаришей serial port и через свисток rs485-usb соединил со смартфоном ,на котором установил приложение USB serial port c гугла . Теперь гоняю данные с одного устройства на другое по сети RS485 . То есть использовал штатный порт RS485 панели... Теперь осталось решить встраивать ли библиотеку в саму каскаду или сделать отдельным приложением в фоновом режиме .
    электронщик до мозга костей и не только

  7. #2527
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,586

    По умолчанию

    И никто не написал код копирования массива в ST специалистов нет что ли ?
    p.s. не словами в виде трунк и минус число, а именно КОДОМ, как это выглядит в ПЛК.

  8. #2528
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,586

    По умолчанию

    capzap разномерные ессно. копия маленького в большой. Это собственно к вопросу о глупости применения ST на устройстве, в котором данного языка нет, а есть другой, на котором написана сама Каскада.

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

    Ведь что такое ST в CodeSys ? это всего лишь способ описать действия, которые выполнит ПЛК, в котором как раз и вшиты все эти функции в бинарном виде в прошивке (внутри ПЛК тот же TON, OR, AND и т.д. написаны на своем языке, который понимает процессор), а ST, CFC, LAD это всего лишь способ описания действий, которые должен выполнить ПЛК и CodeSys просто скомпилирует бинарник, который потом поймет ПЛК.

    А желающие в Каскаде получить тот или иной строковой язык просто не понимают, что им придется писать еще и компилятор. А это, ИМХО глупо и затратно...

    Автору Каскада могу дать пример реализации скриптового языка из другой системы. Не знаю, как это реализовано, не изучал код, но сделано грамотно. Система написана на C# и все формулы там так же пишутся на С#, система просто проверяет правильность синтаксиса каким-то образом, при чем при участии средств самого языка. То есть если вывалится исключение .NET то система его выведет в лог и скажет о невозможности запуститься ,смотрите свои формулы. и т.д. Зато никто не заморачивался прикрутить компилятор одного языка в другой...
    Последний раз редактировалось melky; 05.07.2019 в 09:10.

  9. #2529

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    А желающие в Каскаде получить тот или иной строковой язык просто не понимают, что им придется писать еще и компилятор. А это, ИМХО глупо и затратно...
    Если какой-то свой синтаксис\язык да, это огромные затраты на велосипед.

    Цитата Сообщение от melky Посмотреть сообщение
    Автору Каскада могу дать пример реализации скриптового языка из другой системы. Не знаю, как это реализовано, не изучал код, но сделано грамотно. Система написана на C# и все формулы там так же пишутся на С#, система просто проверяет правильность синтаксиса каким-то образом, при чем при участии средств самого языка. То есть если вывалится исключение .NET то система его выведет в лог и скажет о невозможности запуститься ,смотрите свои формулы. и т.д. Зато никто не заморачивался прикрутить компилятор одного языка в другой...
    Спасибо, будем знать, но пока интереса у пользователей не сильно много, поэтому эту идею в самый низ todo-list.

  10. #2530
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,116

    По умолчанию

    А пока пример применения Каскады в УД (пока без ПР , но склоняю автора...)
    электронщик до мозга костей и не только

Страница 253 из 342 ПерваяПервая ... 153203243251252253254255263303 ... ПоследняяПоследняя

Похожие темы

  1. МИНИ СКАДА на АНДРОИД для ПР
    от rovki в разделе Программируемые реле
    Ответов: 889
    Последнее сообщение: 17.04.2018, 09:57
  2. андроид для ПР за, против, всякого рода мнения
    от Павел Братковский в разделе Трёп (Курилка)
    Ответов: 57
    Последнее сообщение: 05.02.2016, 07:55
  3. Ответов: 14
    Последнее сообщение: 04.11.2015, 23:50
  4. Система для сбора устройств с RS232
    от darkwolf в разделе Подбор Оборудования
    Ответов: 13
    Последнее сообщение: 15.03.2015, 11:39
  5. HMI WagoID 1.1 (для Андроид) для Овен ПЛК
    от osv007 в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 10.11.2012, 20:42

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •