А в настройках IDE порт не выбираешь разве? К меня к СОМ3 постоянно подключен шнурок от мабилы на PL 2303 по сути тот же ISB-UART переходник. И я всегда смотрю что и куда включено если конечно не использую СОМ3 а то IDE по умолчанию его норовит установить.
Коллеги, кто работал с советским чудом - запоминающим осциллографом С8-17 ? На работе нужно восстановить одно такое чудо. Вопросов 2 - 1. Как выглядит запомненное изображение осциллограммы на экране ? У меня - как серая дорожка от пальца на слое зеленоватой муки. 2. Как должно выглядеть изображение шкалы на экране трубки ? С уважением.
Там наверное трубка памятью, инертная. Был у меня давно осциллограф с зеленой трубой, очень инертной. Для медленных процессов, громоздкий. Подарил. У меня древний С1-68 стоит на верхней полке шкафа, для совсем непонятных ситуаций. Трубка обычная. Это если уже совсем не разобраться без осциллографа. Не помню когда его доставал. На работе стоит HP приличный, но тоже не помню когда его включал. Обычно светодиода и вывода в последовательный порт хватает, чтобы разобраться что не так.
в аналоговой схеме? Для цифровых схем применяют логический анализатор и прочие подобные приборы. Осциллограф там не так удобен.
Теперь Виндовс как телеге пятое колесо после Apache + PHP + HTML + SVG + JS. Ну конечно и исполняемый код на Си (а куда без него?): (картинка сия (элементы и надписи) интеракивная(динамика процессов в реальном времени): подсказки, ссылки и прочее). А это общий вид мониторинга разных объектов (надо только либо нормально разметить страницу, либо добавить элементы мониторинга(которые есть)): Блин контроллер от перегрева умирает - даже пинга к нему нет, а я на удалёнке. Умирает печной контроллер (муршрутизатор уже умер - тепеперь к MOXA IA240 подключено напрямую, благо он исправно работает по Modbus RTU и управляет насосами охлаждения индукторов). Водоодготовка - то же MOXA IA240 другой и в другом шкафу работает исправно и по Modbus RTU и по ETHERNET. Только ТРМ200 всё время висит при любом скачке напряжения, благо он только для контроля и на другом порту Modbus RTU. Этот ТРМ200 вешает всю шину RS-485. ТЕПЕРЬ НАДО ТОЛЬКО БРАУЗЕР - а он есть везде!
Привет дружище! А почему не достижимо? Готов оказать посильную помощь! Для начала надо поднять Web сервер + PHP. Ну и опционально MySQL(если надо). Формат картинки SVG (векторная графика) позволяет встраивать в картинку JS ну и много чего ещё. Редактор картинки SVG - Inscape бесплатный и доступен практически на всёх платформах. Что касается встраивания JS в картинку... то файл картинки редактируется даже обычным текстовым редактором и выглядит, ну прямо чистый XML (вот начальный фрагмент): Код (Text): <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="195mm" height="234.27063mm" id="svg3719" version="1.1" inkscape:version="1.0.2 (e86c870879, 2021-01-15)" sodipodi:docname="cool_abp.svg"> .... .... Можно даже формировать картинку самим JS на WEB странице (тут график - данные страница получает от WEB сервера по JSON. Кстати WEB сервер через PHP работает с MySQL. На картинки печи не глядите, они хоть и динамичные, но всё равно пыль в глаза ): Весь сбор данных ( клиент-сервер и прочее собраны на Си, не забываем и про BASH )... всё динамичное записывается в RAM диск - данные в реальном времени. Ну вот как-то так.
Круто. может и правда реально. Сервак на линуксе у меня есть, inkscape пользоваться умею. Может какой мануал посоветуете, как XML в картинку встраивать?
Вот это простой пример с кнопками: Test_svg_button.zip Тут кнопки рисуются и в них встроены функции JS. Кнопки - файл SVG - он же XML. Это просто пример для пробы. Кстати скрипт может быть не в картинке SVG, а загружаться самой картинкой Вот начало картинки SVG: Код (Text): <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="202.30312mm" height="234.27063mm" id="svg3719" version="1.1" inkscape:version="1.0.2 (e86c870879, 2021-01-15)" sodipodi:docname="cool_abp.svg"> <script xlink:href="../scripts/cool_abp.js" type="text/javascript" id="CoolAbpJS1" /> <defs ..... ..... .... Видите строки: Код (Text): <script xlink:href="../scripts/cool_abp.js" type="text/javascript" id="CoolAbpJS1" /> тут как раз источкик xlink:href="../scripts/cool_abp.js" указывает на скрипт (JS) который будет загружен. И ещё: Очень помогает браузер, точнее Инструменты вэб-разработчика. У меня Firefox, и я активно этим пользуюсь. Со стороны сервера, сделайте обработчик запросов с Вашей страницы - я делал на PHP. Он как и JS похож на Си, так что мне это упростило всё. А вот про CSS, HTML, SVG Вам придётся искать через поисковик... там всего много. А правило одно: WEB страница у Вас в браузере + JavaScript; PHP на WEB сервере и всякие Коды на Си и Bash - всё это вместе одно целое (можете называть это одной программой). Не забудьте и про код на Си и толпу всяких устройств ( может быть то же с кодом ) на разных интерфейсах - всё это одно единое, одно целое. Ну вот как-то так.
Что касается картинки SVG, то она сама ( картинка ) и есть XML. Сделайте картинку в inkscape, сохрание, и откройте её текстовым редактором. Вот фрагмент JS (пример - вырезка из рабочего, а код не "причёсан"): Код (Javascript): // var objectABP; var svgDocumebtABP; var object; var svgDocument; // function indexstart() { StrMsg = "test"; CntLoop = 0; RdName(); /***** "регистрация SVG" *****/ object = document.getElementById("swcimg"); svgDocument = object.contentDocument; objectABP = document.getElementById("coolabpimg"); svgDocumentABP = objectABP.contentDocument; //тут закращиваем элементы каритнки CurToY1("blue"); CurFromY1("blue"); L1_2("yellow"); L2_2("yellow"); L3_4("yellow"); CurFromBak1("blue");onLoad="indexstart()" CurFromM1("blue"); CurFromBak2("blue"); CurFromM2("blue"); CurFromY3("blue"); CurFromBak3ToM3("blue"); CurFromBak3ToM4("blue"); CurFromM3("blue"); CurFromM4("blue"); // LoadIndex(); } /* следует учесть, что элементы картинки (ID) надо сразу присвоить а уд потом JS будет их окрашивать... и прочее */ тут на WEB странице две картинки: 1. swcimg - картинка для водоподготовки 2. coolabpimg - картинка для печи Понимаю, что не наглядно - всё в разных файлах, но это: Код (Javascript): //насос 1 var svgElement = svgDocumentABP.getElementById("el_M1"); if(dbI.el_3Q1_normal != "1") { svgElement.style.fill = "red"; } else if(dbI.el_m1_on == "1") { svgElement.style.fill = "green"; } else { svgElement.style.fill = "gray"; } Код (Javascript): //насос 1 var svgElement = svgDocumentABP.getElementById("el_M1"); if(dbI.el_3Q1_normal != "1") { svgElement.style.fill = "red"; } else if(dbI.el_m1_on == "1") { svgElement.style.fill = "green"; } else { svgElement.style.fill = "gray"; } фрагмент окрашивания насоса (из системы охлаждения печи ABP). В любом случае, контроллер MOXA IA240LX читает по Modbus RTU и устройства дискретного ввода-вывода 224-8Д.4Р(Овен), в свою программу управления и свой сервер, потом ПК с линуксом читает по TCP из сервера MOXA IA240LX данные и помещает из в формате JSON в RAM-диск... а WEB страница делая запрос своим JS активирует чтение из RAM-диска WEB сервера с помощью PHP, который даёт ответ странице. И приняв ответ JS на странице браузера производит окраску соответствующего элемента ( смотрите выше )
это изменённая версия этого: https://forum.amperka.ru/threads/Разговоры-на-технические-темы.22016/ теперь не надо вииндовс, ну и программы в Visual Studio. Ничего устанавливать не надо, всё работает из браузера... мало того эта штука кидает аварийные события прямо в Телеграм (по заказу энергетика). Телеграм скрипт крутится на сервере и собран на PHP - раньше не знал, что PHP скрипт умеет крутиться и без Apache. Вот как-то так.
Ты на IA240 поставил веб сервак? А где журнал событий? А как оператору понять, что ничего не зависло, а работает? Что контролирует работу браузера? Куда пишутся тренды? Есть быстрые тренды? Как происходит их децимация?
1. Шкаф водоподготовки(IA240LX Linux Moxa 2.6.9-uc0 #4 Wed Jun 14 15:40:27 CST 2017 armv4tl unknown): Внутренние коммуникации: Modbus порт 1: ADAM 4051(адр1) - все датчики уровней; контакты состояния насосов М1-1...М2-2; два датчика давления; состояние клапана Y1 ADAM 4051(адр2) - состояния клапанов Y2 и Y3; состояния насосов М2-2...М4-2; ADAM 4051(адр3) - состояние всех переключателей на щите; ADAM 4150(адр4) - счётчики расхода; управление всеми клапанами; ADAM 4068(адр5) - управление всеми насосами (пускатели) Modbus порт 2: ТРМ200(адр6) - контроль температур прямой и обратки горячего водоснабжения Внутри код Си и BASH (автономная система управления и сервер доступа к данным) Внешняя коммуникация(локальная сеть 192.168.0.0/24): Серер Apache + Сервер данных на Си 2. Шкаф печи (IA240LX Linux Moxa 2.6.9-uc0 #4 Wed Jun 14 15:40:27 CST 2017 armv4tl unknown): Внутренние коммуникации: 2.1. Ethernet - доступ к данным процессов - к серверу OPC-UA контроллера SIEMENS 2.2 Modbus порт1: ТРМ200 - температура на улице и в помещении насосов ТРМ200 - температура прямой и обратки контура охлаждения электроустановок МК110-8Д.4Р - состояние 2-х насосов охлаждения электрооборудования; выключение градирни; выключение насоса ТРМ200 - температура прямой и обратки контура охлаждения индукторов МК110-8Д.4Р - состояние 2-х насосов охлаждения индукторов; выключение насоса МК110-8Д.4Р - состояние 2-х насосов внешнего контура охлаждения; выключение насоса 2.3 Modbus порт 2: МК110-8Д.4Р - кнопка перезапуска насосов охлаждения ; система свето-звуковой сигнализации МЭ110-224.1Н - контроль параметров напряжения питания автоматики Внутри код на Си + BASH: автономная система управления и сервер данных Внешняя коммуникация(сеть 192.168.1.0/24): Сервер данных печи + мост socat в сеть шкафа ( для контроля и отладки): 3. ПК (в роли центра системы Linux debian2 4.9.0-19-686-pae #1 SMP Debian 4.9.320-2 (2022-06-30) i686 GNU/Linux): 3.1. Система контроля процессов плавок по ethernet 192.168.1.0/24 3.2. Система контроля и управления водоснабжения по ethernet 192.168.0.0/24 3.3. Система контроля и управления комплексом полевых испытаний по ethernet 192.168.0.0/24 (здесь не рассматривается, но построена на MOXA UC7101LX Linux uCLinux_moxa.chemservice 2.6.19-uc1MoXaRt #1 Fri May 28 10:18:59 CST 2010 armv4tl ARM) 3.4. локальный MySQL сервер для накопления данных от систем контроля и управления 3.5. WEB сервер Apache - всякие страницы 3.6. шлюзы socat (VNC и OPC-UA через MOXA IA240) к внутренней сети печи 4. клиенты сети 192.168.0.0/24 - А Виндовс то тут не при чём Вот если кратко, то как-то так PS: Всё сделано на Си и C++; Bash; PHP. И ещё на HTML + JavaScript, но это только для загружаемых клиентами ВЭБ страниц.
А это: https://forum.amperka.ru/threads/Разговоры-на-технические-темы.22016/page-9#post-310209 Это что? Хоть архивные, хоть реального времени - всё через MySQL прямо из страницы. К сожалению динамику напряжения питания показать не могу - связь умерла и восстанавливается раза 4 в сутки, а я на удалёнке (капельница на дневном стационаре - чистка сосудов)
Вот ещё одна интересная штука - 3D редактор, который работает прямо в браузере: тут не только редактор, но всякие демки... и вообще библиотека для применения называется three.js-dev весит архив three.js-dev.zip 341Мб. Так, что качайте сами - она бесплатная. https://threejs.org/ Думаю - а куда это можно прикрутить? Ну что бы с пользой.
Добрый вечер @b707 !!! Вот простой пример SVG - очень простой, так что думаю и Вам будет просто. Тем не менее, метод позволит рисовать графики. В примере только одна линия и тест обращения к серверу (JS и PHP). Пример только размещается на Вашем WEB сервере, а Вы из браузера заходите и видите: тоненькая линия на чёрном фоне. Тем не менее страница проста: HTML: <!DOCUTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="icon" href="images/favicon.ico" type="image/x-icon" /> <title>***NM***</title> <link rel="stylesheet" href="css/styles.css" type="text/css" /> </head> <body onLoad="main()" style="background-color: black; color: white;"> <div class="MyScreen"> <div id="info1"> </div> <svg id="NMon" version="1.1" type="image/svg+xml" xmlns="http://www.w3.org/2000/svg" /> </div> <script src="scripts/SVG5.js" type="text/javascript"></script> <script src="scripts/main.js" type="text/javascript"></script> </body> </html> скриптов всего два. Тут запрос к серверу и прочее. Архив: NM.zip