Страница 11 из 11 ПерваяПервая ... 91011
Показано с 101 по 110 из 110

Тема: Пример реализации Web сервера - изменение IP настроек и построение графика

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Ну, полностью законченные решения могут работать годами. Так то да, или открытый код для возможности переписать. Или меняется платформа полностью, когда уже перестает вывозить тележку.
    если их не трогать или не возникнет необходимости что-то сделать, когда выясняется, что там куча костылей, индусский код и вообще "я художник, я так вижу"
    обычно это происходит когда начальник, поглядев на АРМ оператора, говорит что хочет у себя в кабинете "такое же", но узнав цену лицензии за рабочее место, зовёт местного асушника
    ладно, это совсем другая история

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

    По умолчанию

    Saint999 ну я на RapidScada как раз учился программировать на C#, хотя можно было ее просто использовать, если устройства Modbus ее выше крыши. И Web без лицензий за рабочее место, и всего-то в предыдущей версии было ограничение на 65 тысяч тегов. а не 16, 32, 64 как у остальных.
    Да и работает на Linux к тому же, в общем там, где ставится dotnet (предыдущая работала на Mono)...

    Скажем так, когда дело касается только и по большей части Modbus, ну не понимаю я писателей велосипедов, при массе доступного ПО.
    а с Modbus работают много scada систем за меньшие деньги, чем потраченное время. pult-online, intrascada и еще целый ворох наверняка найдется. которые могут работать на Linux.

  3. #3

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Saint999 ну я на RapidScada как раз учился программировать на C#, хотя можно было ее просто использовать, если устройства Modbus ее выше крыши. И Web без лицензий за рабочее место, и всего-то в предыдущей версии было ограничение на 65 тысяч тегов. а не 16, 32, 64 как у остальных.
    Да и работает на Linux к тому же, в общем там, где ставится dotnet (предыдущая работала на Mono)...

    Скажем так, когда дело касается только и по большей части Modbus, ну не понимаю я писателей велосипедов, при массе доступного ПО.
    а с Modbus работают много scada систем за меньшие деньги, чем потраченное время. pult-online, intrascada и еще целый ворох наверняка найдется. которые могут работать на Linux.
    Возможно Вы и правы, но оно уже есть, оно написано, осталось добавить новое устройство в него, в частности пр от овна.

    https://aliexpress.ru/item/100500322...00024747834825 нашел такую штуку, вроде как подходит, а может все же Вы на пальцах обьясните как пр и сервер увидеть друг друга, вопрос же не в оболочке, а в способе.

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

    По умолчанию

    Saint999 не изучал ваше устройство, но скорее всего подойдет. Мы пробовали подключать кондиционер через Радио удлинитель RS485 этого производителя вроде. Timeout надо выставлять высокий, чтобы дождаться когда оно там туда-обратно все передаст секунды 3-и. А так норм.

    Вот сразу бы начали с того, что интернет должен быть 3G/4G и кроме ПР нет ни черта на объекте.

    В общем.
    1. VPN каналы это первый способ когда у вас две сети, одна это собственно Сервер, другая, где есть устроства
    2. Преобразователи интерфейсов любого вида Ethernet-RS485, 3G-RS485 и так далее, которые могут соединяться с сервером как TCP(UDP) клиенты. Но тут или ваше ПО должно уметь выступить как TCP(UDP) сервер, либо вы используете стороннее ПО для этого.

    Пример стороннего ПО например преобразователи от Teleofis с поддержкой m2m, можно развернуть на собственном сервере серверную часть m2m или использовать облако от производителя. Всякие модемы от iRZ, там есть функционал виртуальных IP адресов, но у них кажется только через их сервера.
    Так же возможно облачное решение может предлагать и вот то устройство, на которое вы дали ссылку.

    Поищите документацию на найденное устройство по модели. Там указана поддержка стандартного TCP(UDP). Предположительно они умеют быть как серверами так и клиентами (вот в этом надо убедиться). В таком режиме проверял какой-то преобразователь от Teleofis. Тогда в scada настраивал линию как TCP Сервер и устройством стучался на сервер scada и опрашивал устройства. В Moxa, USR-IOT это все тоже есть.
    Вам останется найти TCP сервер, который создает виртуальный COM порт, или на который можно создать виртуальный COM порт.

    з.ы. ну или вам придется писать такую штуку.
    а еще как вариант, вы можете установить ту же RapidSCada и не хранить в ней БД, не ставить там WEB и т.д. а просто использовать ее как шлюз в вашу систему. Через OPC UA, MQTT или просто забирая и передавая данные через API.
    Последний раз редактировалось melky; 11.01.2025 в 10:34.

  5. #5

    По умолчанию

    Поговорил с программистом, говорит есть библиотека modbus tcp, он ее накатит, дальше как всегда переписывание под определенные условия.
    1. VPN - поднимаем на сервере, на объекте teltonica какая нибудь подключится, по езернет с пр у нас связь.
    2. Условный "модем" который сделает modbus (tcp или rtu) в простые tcp запросы на сервер через свой канал связи.

    Я правильно понял?

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

    По умолчанию

    Saint999 не совсем.
    1. Например у вас есть сеть, где стоит в том числе ПР, если он имеет только RS485, то любой преобразователь Ethernet-RS485. Средствами роутера сети поднимается VPN на ваш сервер и настраивается проброс портов на IP преобразователя и порт, настроенный на его COM порт.
    Далее зависит от вашего ПО. Если оно умеет работать в режиме ComOverTcp то опрашиваете свое устройство обращаясь сразу на IP (в vpn сети) и по номеру порта, которые вы настроили для проброса на преобразователь.
    Если не умеет так, ставится какое-то ПО для создания виртуального Com порта на сервере, который обращается на настроенный IP:порт

    2. Например у вас роутер не умеет поднимать VPN или на объекте только ПР и для него нужен интернет. Путь по варианту 1 - какой-то GSM роутер с RS485 портом, который умеет поднимать VPN. Ну или связка роутер 4G + Ethernet-RS485 преобразователь.
    Второй путь - когда модем 4G, получая интернет сам стучится куда-то на сервер как TCP клиент например. А на сервере соответственно запущен TCP Сервер для этого.
    Но тут ваше ПО должно уметь потом обращаться на некий порт, настроенный на физический COM порт подключенного TCP клиента. Или должна быть какая-то прокладка, так же создающая виртуальный COM порт. Типа Виртуальный Сом порт -- TCP сервер --- TCP клиент -- RS485 -- устройство.

    Не проще ли перейти на scada и переписать свое ПО для получения любых данных от нее?

    Собственно самый первый шаг - понять как ваше ПО вообще обращается к устройствам, как может обращаться?
    Второй шаг - создать канал связи между объектами
    Третий шаг - исходя из первого привести к общему знаменателю. Чтобы ПО смогло обращаться к устройству.

    ну и учитывать ОС, на которой все это будет делаться.
    Последний раз редактировалось melky; 11.01.2025 в 14:20.

  7. #7

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    библиотеки или переменные, я глобальные не экспортировал, но они там в функции вставляются в строки

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

    первую посылку принимает, обрабатывает как 'GET / HTTP/1.1$R$N' , но отравить у него получается только заголовок.
    а вот второй запрос вообще принимать не хочет, начинает принимать только после сброса контроллера, соответственно только один раз, хотя TcpReceiveData также опрашивает сокет.

  8. #8

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    возможно и так, файл был написан для теста, а не для работы. Во вложении еще один тестовый проект,он должен работать с неоднократными запросами, правда написан для WinPLC, есть отличия в применении бибки от овеновских контроллеров
    на PLCwinNT заработать не захотел, не проходит bind и listen.

    загрузил в плк150, заработал, но почему то ведет себя также как предыдущий пример - первую посылку принимает и отправляет "Hello, word", а последующие посылки SysSockRecv возвращает всегда ноль. До тех пор пока не сбросишь ПЛК или принудительно после отправки посылки не закроешь сокет.
    Вложения Вложения

  9. #9

    По умолчанию

    в пример на первой странице добавил ещё 2 входа, но в Web-интерфейсе не отображаются состояния входов 7,8, точки чёрного цвета, при наведении курсора "wrong" (ПЛК-100, теперь 8 входов в Web-интерфейсе).
    Как, где "оживить " 7 и 8 вход?
    И управление выходами нужны.
    Спасибо.

  10. #10

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    при захвате видео, почему то клава отваливается
    даже не знаю, не хочет у меня WinPLCnt как у вас работать и все тут. Хендл получает а Bind не проходит.
    Может потому что у меня библиотека и платформа новее.

    Ну ладно, главное на плк пашет, буду на нем разбираться...
    Изображения Изображения

Страница 11 из 11 ПерваяПервая ... 91011

Ваши права

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