Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром

Связь с внешним миром Modbus, RS232, RS485, Lon и другое.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.11.2021, 12:04   #1
chif.com
Member
 
Регистрация: Jul 2014
Сообщения: 78
Благодарил(а): 7 раз(а)
Поблагодарили: 4 раз(а) в 3 сообщениях
По умолчанию Транслировать данные на сайт

Порылся на форуме. Или плохо искал или подобной темы нет.
Есть личный сайт на просторах интернета, возможно ли с Matrixa передавать на него данные? К примеру на страничке выводить пару переменных и получать сигнал нажатия кнопки?
chif.com вне форума   Ответить с цитированием
Старый 29.11.2021, 02:11   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от chif.com Посмотреть сообщение
Порылся на форуме. Или плохо искал или подобной темы нет.
Есть личный сайт на просторах интернета, возможно ли с Matrixa передавать на него данные? К примеру на страничке выводить пару переменных и получать сигнал нажатия кнопки?
Сайты всегда работают в браузере того устройства, в котором его открыли. Поэтому словосочетание "передать на сайт" не имеет никакой реальной составляющей в себе.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 29.11.2021, 02:55   #3
chif.com
Member
 
Регистрация: Jul 2014
Сообщения: 78
Благодарил(а): 7 раз(а)
Поблагодарили: 4 раз(а) в 3 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Весь инет завален примерами как на несчастной ардуино через интернет передаёт температуру и т.д. на страничку в интернете.
Может не надо придератся к словам, ведь смысл то был понятен.
chif.com вне форума   Ответить с цитированием
Старый 29.11.2021, 11:33   #4
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Смысл понятен. А ТЗ нет. Ваше ТЗ основано на этих примерах? Покажете?


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 29.11.2021, 11:41   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от chif.com Посмотреть сообщение
Весь инет завален примерами как на несчастной ардуино через интернет передаёт температуру и т.д. на страничку в интернете.
Может не надо придератся к словам, ведь смысл то был понятен.
Нет, не понятен. Технологий существует несколько, часть из них раскрыта в примерах на нашем форуме и даже можно нажать F12 на веб-версии SMConfig и посмотреть, как организован обмен.

Вы можете открыть справку в SMLogix, раздел Справка по SMConfig -> Использование -> Базовые примеры работы -> Особенности работы в интернет-браузере.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 29.11.2021, 12:12   #6
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 744
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от Arsie Посмотреть сообщение
Сайты всегда работают в браузере того устройства, в котором его открыли.
ATS вне форума   Ответить с цитированием
Старый 29.11.2021, 12:13   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от ATS Посмотреть сообщение
Ну попробуйте разъяснить человеку понятие и назначение фронт-енда, бэк-енда, БД


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 03.12.2021, 13:20   #8
pragmatist
Member
 
Аватара для pragmatist
 
Регистрация: Nov 2021
Адрес: Moscow
Сообщения: 42
Благодарил(а): 18 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Тоже не нашел информации, только интересует локальный сервер.
Например у малинки взаимодействие между МК и сервером можно наладить через Apache + MySQL + PHP, Либо python (django/flask) + bash.
Каким способом грамотно связать лоджик и apache для получения и передачи информации?
Например, узнать статус мотора, включить/выключить его?
pragmatist вне форума   Ответить с цитированием
Старый 03.12.2021, 13:51   #9
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Вы читали справку? Можно начать с этого

Цитата:
Инструкция по веб-версии SMConfig, страница 19, "Подключение сайта к проекту".


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Благодарность от:
Старый 03.12.2021, 13:53   #10
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 744
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от pragmatist Посмотреть сообщение
Тоже не нашел информации, только интересует локальный сервер.
Локальный это где?

Цитата:
Например у малинки взаимодействие между МК и сервером можно наладить через Apache + MySQL + PHP
База Вам не нужна - сервер с PHP есть в контроллере. Даже API доступна для связи с переменными.

Цитата:
Например, узнать статус мотора, включить/выключить его?
Да нет никакой проблемы.
ATS вне форума   Ответить с цитированием
Благодарность от:
Старый 03.12.2021, 18:10   #11
pragmatist
Member
 
Аватара для pragmatist
 
Регистрация: Nov 2021
Адрес: Moscow
Сообщения: 42
Благодарил(а): 18 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Спасибо что подсказали куда смотреть в документацию, на основании "Создание сайта" сделал страничку и загрузил ее в trim-5, но как связать temp_out, temp_set, hum_out и hum_set так и не понял.



Добавлено через 7 минут


Возможно, сначала нужно добавить интернет-slave. ip слейва - мк или пк?


__________________
Вежливый человек.
pragmatist вне форума   Ответить с цитированием
Старый 03.12.2021, 18:37   #12
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Приложите ваш проект и сайт?


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 03.12.2021, 18:46   #13
pragmatist
Member
 
Аватара для pragmatist
 
Регистрация: Nov 2021
Адрес: Moscow
Сообщения: 42
Благодарил(а): 18 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Приложите ваш проект и сайт?
Проект пустой, создавал ui-выходы, именовал их как и переменные в вебе, internet устройство пробовал добавить, что-то еще тыкал. Фронт весь из примера.
ip тримки 192.168.1.215
ip пк 192.168.1.1

Объясните, пожалуйста, пошагово. Что делать в лоджике, чтобы подключить тестовый сайт.
Вложения
Тип файла: zip index.zip (1.2 Кбайт, 13 просмотров)


__________________
Вежливый человек.
pragmatist вне форума   Ответить с цитированием
Старый 03.12.2021, 18:47   #14
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 744
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от pragmatist Посмотреть сообщение
Возможно, сначала нужно добавить интернет-slave.
Точно не надо

Цитата:
ip слейва - мк или пк?
А вот про пк уже надо подробнее.
Что Вы вообще пытаетесь делать?
ATS вне форума   Ответить с цитированием
Старый 03.12.2021, 18:51   #15
pragmatist
Member
 
Аватара для pragmatist
 
Регистрация: Nov 2021
Адрес: Moscow
Сообщения: 42
Благодарил(а): 18 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от ATS Посмотреть сообщение
Что Вы вообще пытаетесь делать?
Понять, как связать переменные из лоджика с переменными на сайте.


__________________
Вежливый человек.
pragmatist вне форума   Ответить с цитированием
Старый 03.12.2021, 19:03   #16
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от pragmatist Посмотреть сообщение
Понять, как связать переменные из лоджика с переменными на сайте.
Почитайте внимательней руководство и попробуйте повторить пример. Логично, что проект не может быть пустым, если вы хотите какие-то данные из него прочитать, значит эти данные должны быть в проекте. Вот вырезка из руководства, выделил в каком направлении вам двигаться.

Цитата:
Пользовательские сайты
Назначение

Данная функция реализует возможности web-сервера и позволяет пользователю создавать и
загружать в контроллер свои собственные web-сайты. Эти сайты становятся доступными через
веб-браузер и SMConfig, и могут быть использованы для диспетчеризации и управления
оборудованием, задействованным в проекте SMLogix.

Возможности
 Создание, хранение в проекте SMLogix и загрузка в контроллер пользовательских webсайтов
 Контроль доступа пользователей к web-сайтам
Чтение, запись shmem-переменных для реализации человеко-машинного интерфейса на
web-сайте


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Благодарность от:
Старый 03.12.2021, 19:07   #17
pragmatist
Member
 
Аватара для pragmatist
 
Регистрация: Nov 2021
Адрес: Moscow
Сообщения: 42
Благодарил(а): 18 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Спасибо что указали на невнимательность.
http://192.168.1.215/shmem.php?cmd=get-variables теперь возвращает их!


__________________
Вежливый человек.
pragmatist вне форума   Ответить с цитированием
Старый 03.12.2021, 19:19   #18
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от pragmatist Посмотреть сообщение
Спасибо что указали на невнимательность.
http://192.168.1.215/shmem.php?cmd=get-variables теперь возвращает их!
У нас нет доступа к вашем сайту, ссылка была лишней)

На данный момент вопросов нет?


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 03.12.2021, 19:20   #19
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 744
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от pragmatist Посмотреть сообщение
Понять, как связать переменные из лоджика с переменными на сайте.
А понять при чем здесь IP ПК.

Вот тут еще примерчик посмотрите
ATS вне форума   Ответить с цитированием
Благодарность от:
Старый 04.12.2021, 13:14   #20
pragmatist
Member
 
Аватара для pragmatist
 
Регистрация: Nov 2021
Адрес: Moscow
Сообщения: 42
Благодарил(а): 18 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от ATS Посмотреть сообщение
А понять при чем здесь IP ПК.
Вдруг файрвол какой-нибудь, блокирующий api.

В общем, пробовал переменные set и out сначала связать через arrey мультивибратором, где готовность одного блока запускала другой. Не получилось. Потом посмотрел ваш пример с чекбоксоми просто подключил через скрин, тоже не работает. Залез поглубже - ругается в js:
Uncaught ReferenceError: Shmem is not defined
at index.html?0.3734065730469196:77

js подключал в конце body
...
76: <script>
77: var shmem = new Shmem;
78: function Provetrivanie() {
...



__________________
Вежливый человек.
pragmatist вне форума   Ответить с цитированием
Старый 04.12.2021, 13:57   #21
pragmatist
Member
 
Аватара для pragmatist
 
Регистрация: Nov 2021
Адрес: Moscow
Сообщения: 42
Благодарил(а): 18 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Загрузил пример с чекбоксом - работает.
Имея рабочий пример, разобраться не составит труда. Спасибо!


__________________
Вежливый человек.
pragmatist вне форума   Ответить с цитированием
Старый 04.12.2021, 16:54   #22
pragmatist
Member
 
Аватара для pragmatist
 
Регистрация: Nov 2021
Адрес: Moscow
Сообщения: 42
Благодарил(а): 18 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

мда, не подключил memvar.js

если кому-нибудь понадобится код целиком из "SMConfig СОЗДАНИЕ САЙТА":

Код:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Умный дом</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" 
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="../../jquery.min.js"></script>
<script src="../../memvar.js" autoupdate="1000"></script>
<style>
.value {
font-weight: bold;
font-size: 30px;
}
.panel {
border: none;
border-radius: 10px;
background-color: lightskyblue;
margin: 10px 10px 10px 10px;
padding: 10px 10px 10px 10px;
}
</style>
</head>
<body>
<div class="container-fluid">

<div class="row">
  <div class="col">
    <h1 class="w-100"><span class="badge badge-primary">Segnetics</span><span class="ml-3">Управление климатом</span></h1>
  </div>
</div>

<div class="row">
  <div class="col-md-6">
    <img src="temperature.png"></img>
    <table class="w-100">
      <tr>
        <td class="pr-3 text-right">Температура</td>
        <td><span class="value" data-var="temp_out">25</span><span class="value">°C</span></td>
      </tr>
      <tr>
        <td class="pr-3 text-right">Уставка</td>
        <td><span>25</span><span>°C</span><input data-var-write="temp_set" type="range" min="17" max="30" /></td>
      </tr>
    </table>
  </div>
  <div class="col-md-6">
    <img src="humidity.png"></img>
    <table class="w-100">
      <tr>
        <td class="pr-3 text-right">Влажность</td>
        <td><span class="value" data-var="hum_out">25</span><span class="value">%</span></td>
      </tr>
      <tr>
        <td class="pr-3 text-right">Уставка</td>
        <td><span>25</span><span>%</span><input type="range" min="0" max="100" data-var-write="hum_set" /></td>
      </tr>
    </table>
  </div>
</div>

<div class="row">
  <div class="col-md-4 text-center">
    Программы:
  </div>
  <div class="col-md-4">
    <button class="btn btn-success w-100" type="button" onclick="Provetrivanie()">Проветривание</button>
  </div>
  <div class="col-md-4">
    <button class="btn btn-warning w-100" type="button" onclick="Leave_home()">Режим "Не дома"</button>
  </div>
</div>

</div>

<script>
var shmem = new Shmem;
function Provetrivanie() {
  let provetrivanie = shmem.getVarsByName()["provetrivanie "];
  provetrivanie.value = 1;
  shmem.saveVariables([provetrivanie]);
}
function Leave_home() {
  let leave_home = shmem.getVarsByName()["leave_home "];
  leave_home.value = 1;
  shmem.saveVariables([leave_home]);
}
</script>
</body>
</html>
И еще одна неуместная проблема: в прилагаемом изображении произвожу запись в ячейку массива и считываю же из него, на выходе блока с записью значение выходит, на выходе блока с чтением нуль!
Правильно ли я делаю, что разграничиваю запись и чтение на два блока и почему не работает?
Миниатюры
Нажмите на картинку для увеличения

Название:  1.png
Просмотров: 59
Размер:  16.1 Кбайт  


__________________
Вежливый человек.
pragmatist вне форума   Ответить с цитированием
Старый 05.12.2021, 21:27   #23
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 744
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от pragmatist Посмотреть сообщение
если кому-нибудь понадобится код целиком
Картинки потеряны, css на внешнем ресурсе.
Как-то не локально.

Цитата:
разграничиваю запись и чтение на два блока и почему не работает?
RTFM?
ATS вне форума   Ответить с цитированием
Старый 06.12.2021, 13:23   #24
pragmatist
Member
 
Аватара для pragmatist
 
Регистрация: Nov 2021
Адрес: Moscow
Сообщения: 42
Благодарил(а): 18 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от ATS Посмотреть сообщение
Картинки потеряны, css на внешнем ресурсе.
Как-то не локально.
RTFM?
Картинки взяты из документации (точнее их отсутствие), да и это не принципиально, человек будет проверять работоспособность кода, а не тратить время на поиск и вставку картинок ради ничего.
css - наверное Вы про bootstrap, взятый также из документации.


По поводу array: почитал, поменял длину на 2 (integer 2 байта);
все равно при чтении нули.


__________________
Вежливый человек.
pragmatist вне форума   Ответить с цитированием
Старый 06.12.2021, 13:27   #25
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от pragmatist Посмотреть сообщение
По поводу array: почитал, поменял длину на 2 (integer 2 байта);
все равно при чтении нули.
Удаляйте правые аррэи, пока память контроллера не уничтожили.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Благодарность от:
Старый 06.12.2021, 13:33   #26
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 744
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Транслировать данные на сайт

Цитата:
Сообщение от pragmatist Посмотреть сообщение
По поводу array: почитал, поменял длину на 2 (integer 2 байта);
все равно при чтении нули.
Каждый блок занимает свою область в памяти и эти области никак не пересекаются.
ATS вне форума   Ответить с цитированием
Благодарность от:
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод графика на пользовательский сайт Antioff Вопросы о Matrix 22 25.05.2023 12:03
SMLogix Как узнать что получены данные по Modbus? Artsen SMLogix 21 25.01.2019 17:29
Можно менять данные при отладке? AlexSku SMLogix 1 16.11.2017 17:38
ПРоблема ТМ6+MasterOPC+SMH2Gi Max2114 Вопросы о SMH-2G(i) 39 28.07.2015 11:21
Элемер EL-4019: как правильно прочитать данные dima Связь с внешним миром 3 06.03.2012 16:40


Часовой пояс GMT +4, время: 14:23.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023