Segnetics

Вернуться   Segnetics > Общий > Вопросы о Trim5

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.01.2018, 15:05   #31
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

#include "shm.hpp"
int main()
{
Shm mymem("./load_files.srv");//Инициализация переменных разделяемой памяти

struct timespec tv;//Структура для задания временных интервылов
tv.tv_sec = 0;
tv.tv_nsec = 100000000; //Период в наносекундах для организации задержек

while (1) //Бесконечный Главный Цикл программы
{
nanosleep(&tv, NULL);
mymem.setLong("mlong",123);
}
}

Делал по шаблону. Мне кажется, что ресурсы тут в норме.
maks вне форума   Ответить с цитированием
Старый 15.01.2018, 16:51   #32
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Попробуйте так:
Код:
#include "shm.hpp"
#define timesec 0			
#define timensec 100
int main()
{
  Shm mymem("./load_files.srv");//Инициализация переменных разделяемой памяти

  struct timespec tw = {timesec,timensec*1000000};	 
  struct timespec tr;							

  while (1) //Бесконечный Главный Цикл программы
  { 
    nanosleep (&tw, &tr);
    mymem.setLong("mlong",123);
  }
}
В теле цикла можете ещё добавить строку:
Код:
printf("Данные переданы: 123");		// Вывод переданного значения в консоль


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 15.01.2018, 16:58   #33
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 269
По умолчанию

Цитата:
Сообщение от Gromov Посмотреть сообщение
Попробуйте так:
Код:
#include "shm.hpp"
#define timesec 0			
#define timensec 100
int main()
{
  Shm mymem("./load_files.srv");//Инициализация переменных разделяемой памяти

  struct timespec tw = {timesec,timensec*1000000};	 
  struct timespec tr;							

  while (1) //Бесконечный Главный Цикл программы
  { 
    nanosleep (&tw, &tr);
    mymem.setLong("mlong",123);
  }
}
А где контроль, что шмем создан?

Цитата:
Сообщение от maks Посмотреть сообщение

Делал по шаблону. Мне кажется, что ресурсы тут в норме.
Программа-то ваша запущена? Сколько процессора отъедает и сколько занимает в памяти?


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.

Последний раз редактировалось Arsie, 17.01.2018 в 15:02
Arsie вне форума   Ответить с цитированием
Старый 15.01.2018, 23:12   #34
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Скомпилировал версию Дмитрия, только добавил изменение переменной в цикле, чтобы видно было, что программа работает.
Включаю - программа не запущена.
Подключаюсь по ssh, перехожу в каталог projects, mydemo не запущена. Далее ./mydemo программа запускается, в лоджике в режиме отладки я вижу, как меняется переменная в заданных пределах.
При этом pytty "умирает", я не могу записать больше ни одну команду.
После закрытия окна pytty останавливается выполнение mydemo.
maks вне форума   Ответить с цитированием
Старый 16.01.2018, 11:32   #35
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

А приложите, пожалуйста, скомпилированный файл сюда, ну и проект.


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 16.01.2018, 13:34   #36
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Вся папка с проектом в архиве
Вложения
Тип файла: rar mydemo.rar (194.9 Кбайт, 5 просмотров)
maks вне форума   Ответить с цитированием
Старый 16.01.2018, 17:07   #37
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Итак, программа работает, сессия по ssh тоже работает нормально, просто ввод перехватывается программой, а вывода нет. Ctrl+C для выхода из этого режима (закроет программу).

Таким образом, вам нужно только адекватно прописать запуск вашего приложения в скрипты. Справитесь или посодействовать?


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 16.01.2018, 17:59   #38
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию

Если не трудно, то помогите.

А почему не работают скрипты start.after и start.before? Они созданы автоматически, я их не менял.

Последний раз редактировалось Arsie, 17.01.2018 в 15:01
maks вне форума   Ответить с цитированием
Старый 17.01.2018, 14:45   #39
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от maks Посмотреть сообщение
А почему не работают скрипты start.after и start.before? Они созданы автоматически, я их не менял.
Тут, сейчас, с ними есть проблема, мы её уже решили, скоро должен новый лоджик появиться, в котором они работают. Контроллер надо будет обновить.


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 17.01.2018, 15:02   #40
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от Gromov Посмотреть сообщение
Тут, сейчас, с ними есть проблема, мы её уже решили, скоро должен новый лоджик появиться, в котором они работают. Контроллер надо будет обновить.
А можно подсказать решение на сегодня, если оно есть?
Для общего развития
maks вне форума   Ответить с цитированием
Старый 17.01.2018, 15:04   #41
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 269
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от maks Посмотреть сообщение
А можно подсказать решение на сегодня, если оно есть?
Для общего развития
Нет, на нынешнем уровне ваших знаний вы даже не поймёте, о чём речь идёт, на самом деле.

Проблема уже на самом деле давно решена была, но её забыли выпустить в релиз. Скрипты отрабатывают только при загрузки проекта лоджиком. При запуске контроллера не отрабатывают.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.
Arsie вне форума   Ответить с цитированием
Старый 17.01.2018, 15:07   #42
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

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


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 17.01.2018, 17:27   #43
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию

Цитата:
Сообщение от Arsie Посмотреть сообщение
Нет, на нынешнем уровне ваших знаний вы даже не поймёте, о чём речь идёт, на самом деле.

Проблема уже на самом деле давно решена была, но её забыли выпустить в релиз. Скрипты отрабатывают только при загрузки проекта лоджиком. При запуске контроллера не отрабатывают.
Т.е. переписать скрипт или добавить другой в автозагрузку (или что-то подобное) нельзя?

Неправильно выразил свою мысль. Мне не нужно перезапускать приложение при изменении проекта в лоджике. Просто запустить mydemo при включении питания. Это возможно сейчас? Или слишком сложно для начинающих?

Последний раз редактировалось Arsie, 17.01.2018 в 18:43
maks вне форума   Ответить с цитированием
Старый 17.01.2018, 18:44   #44
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 269
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от maks Посмотреть сообщение
Т.е. переписать скрипт или добавить другой в автозагрузку (или что-то подобное) нельзя?

Неправильно выразил свою мысль. Мне не нужно перезапускать приложение при изменении проекта в лоджике. Просто запустить mydemo при включении питания. Это возможно сейчас? Или слишком сложно для начинающих?
Подождите релизной версии SMLogix.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.
Arsie вне форума   Ответить с цитированием
Старый 07.02.2018, 17:01   #45
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Версия от 19 января тоже не запускает скрипт. Контроллер обновил.
maks вне форума   Ответить с цитированием
Старый 08.02.2018, 14:44   #46
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от maks Посмотреть сообщение
Версия от 19 января тоже не запускает скрипт. Контроллер обновил.
Попробуйте вот так действовать.


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 09.02.2018, 15:01   #47
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Вы проверили атрибуты?


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 10.02.2018, 10:21   #48
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от Gromov Посмотреть сообщение
Вы проверили атрибуты?
Да. Изменил и все заработало. Спасибо!
maks вне форума   Ответить с цитированием
Старый 15.02.2018, 17:20   #49
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

А что за файл settings.sqlite в папке projects?
Написал программу для обмена данными между трим и сторонним прибором. Думаю использовать БД для сохранения результатов и построения графиков и отчетов. Все хочу сделать на С, лоджик только для визуализации.
Посоветуйте, как лучше с БД поступить, куда копать?
maks вне форума   Ответить с цитированием
Старый 15.02.2018, 17:26   #50
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 269
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от maks Посмотреть сообщение
А что за файл settings.sqlite в папке projects?
Написал программу для обмена данными между трим и сторонним прибором. Думаю использовать БД для сохранения результатов и построения графиков и отчетов. Все хочу сделать на С, лоджик только для визуализации.
Посоветуйте, как лучше с БД поступить, куда копать?
Есть одно общее правило у системный программистов: не тронь чужое.

Предлагаю вам следовать этому правилу, оно писано кровью и потом уже нескольких поколений системщиков.

Это совет вне наличия или отсутствия каких-либо файлов в каких-либо папках. Что-то хотите использовать - делаете свою папку и творите в ней что хотите. Но только в ней. Базы, шмазы, си-плюсплазы.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.
Arsie вне форума   Ответить с цитированием
Старый 16.02.2018, 12:20   #51
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Sqlite установлен и с ним можно работать. Правильно?
maks вне форума   Ответить с цитированием
Старый 16.02.2018, 12:22   #52
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от maks Посмотреть сообщение
Sqlite установлен и с ним можно работать. Правильно?
Код:
dpkg -l | grep sqlite
Установлен и работает. Главное - не сломайте существующую базу.


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 19.02.2018, 13:31   #53
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от Gromov Посмотреть сообщение
Код:
dpkg -l | grep sqlite
Установлен и работает. Главное - не сломайте существующую базу.
Установил sqlite3 на виртуальную машину. Не подскажете, как правильно подключать эту библиотеку к проекту?
maks вне форума   Ответить с цитированием
Старый 19.02.2018, 13:35   #54
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Не подскажу. Ни разу таким не занимался. Я всегда использовал mysql. обычная сишная библиотека. Вроде как, она везде есть. #include <mysql/mysql.h>


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 19.02.2018, 14:58   #55
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от Gromov Посмотреть сообщение
Не подскажу. Ни разу таким не занимался. Я всегда использовал mysql. обычная сишная библиотека. Вроде как, она везде есть. #include <mysql/mysql.h>
Я хочу сделать проект, похожий на проект регистратора (там данные сохраняются на usb). Только я хотел сохранять результаты в базе, чтобы можно было делать осмысленные выборки. Например, построить график замеров за определенный месяц. Mysql слишком круто для этого, нет? Или вообще отказаться от базы и работать с архивом данных напрямую? Сам записал, сам нашел, что нужно и выдал лоджику данные для отрисовки.
maks вне форума   Ответить с цитированием
Старый 19.02.2018, 15:35   #56
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 359
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Ну sqlite подходит под ваши задачи. Тут, я думаю, только гугление примеров подойдёт. Подозреваю, что много полезного можно узнать в контексте RPi3.


__________________
Во всём виноваты менеджеры. (С) Эрнесто Че Гевара
Gromov вне форума   Ответить с цитированием
Старый 07.03.2018, 15:58   #57
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

каково время выполнения mymem.setShort, mymem.setFloat?
Нужно для понимания, как синхронизировать работу программы и элемента "график реального времени"
Из базы я вычитываю значения и в цикле выдаю их на перья. Пока не понятно, насколько стабильно будет работать с большим числом перьев и с разными типами данных.
maks вне форума   Ответить с цитированием
Старый 07.03.2018, 16:14   #58
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 269
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от maks Посмотреть сообщение
каково время выполнения mymem.setShort, mymem.setFloat?
Нужно для понимания, как синхронизировать работу программы и элемента "график реального времени"
Из базы я вычитываю значения и в цикле выдаю их на перья. Пока не понятно, насколько стабильно будет работать с большим числом перьев и с разными типами данных.
Испытания не проводились. Думаю, микросекунды.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.
Arsie вне форума   Ответить с цитированием
Старый 07.03.2018, 16:33   #59
maks
Member
 
Регистрация: Dec 2012
Сообщения: 98
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Спасибо. Тогда мне не понятен следующий момент. В цикле я выдаю 30 значений с задержкой 0,1 секунда. График реального времени работает с частотой выборок 2, цикл 50мс. Все работает правильно.
Меняю в программе задержку между выдачей данных на 0,05с, ставлю частоту 1 и такая настройка полностью неработоспособна.
Вообще, я хочу добиться максимальной скорости отрисовки графика.
maks вне форума   Ответить с цитированием
Старый 07.03.2018, 16:36   #60
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 269
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от maks Посмотреть сообщение
Спасибо. Тогда мне не понятен следующий момент. В цикле я выдаю 30 значений с задержкой 0,1 секунда. График реального времени работает с частотой выборок 2, цикл 50мс. Все работает правильно.
Меняю в программе задержку между выдачей данных на 0,05с, ставлю частоту 1 и такая настройка полностью неработоспособна.
Вообще, я хочу добиться максимальной скорости отрисовки графика.
Не люблю делать операции по телефону. Ясно дело, что где-то у вас рассинхронизация, но это вам нужно уже ловить самостоятельно.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.
Arsie вне форума   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение основной/резервного вентиляторов Iroha SMConstructor (вентиляция) 10 16.06.2014 16:33


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


Версия vBulletin: 3.8.3
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2016