Просмотреть полную версию : VirtualBox Linux. Подключение к трим
Трим. Вкл только LAN2, ip 192.168.1.112 маска 255.255.255.0 шлюз 192.168.1.1
В Linux настраиваю соединение - ip 192.168.1.20 маска 255.255.255.0 шлюз 192.168.1.1
Брэдмауер отключен. В win7 подключаюсь, а Linux - нет. Пинга нет, по fpt тоже не подключается.
ПК и трим соединены патч-кордом. Linux - виртуальная машина.
Делаю подключение впервые, прошу подсказать как победить.
monstr696
09.01.2018, 22:01
Трим. Вкл только LAN2, ip 192.168.1.112 маска 255.255.255.0 шлюз 192.168.1.1
В Linux настраиваю соединение - ip 192.168.1.20 маска 255.255.255.0 шлюз 192.168.1.1
Брэдмауер отключен. В win7 подключаюсь, а Linux - нет. Пинга нет, по fpt тоже не подключается.
ПК и трим соединены патч-кордом. Linux - виртуальная машина.
Делаю подключение впервые, прошу подсказать как победить.
Виртуальная машина другая подсеть, надо смотреть маршруты.
Можно поподробнее? Надо ли настроивать сеть в vm?
На win7 fpt работает. На виртуальной машине - нет. Даже на флэшку проект скинуть не получается. Хотел залить, попробовать.
VB последняя версия, Extension_Pack установил. Ubuntu видит usb флэшки или надо что-то настраивать дополнительно?
На win7 fpt работает. На виртуальной машине - нет. Даже на флэшку проект скинуть не получается. Хотел залить, попробовать.
VB последняя версия, Extension_Pack установил. Ubuntu видит usb флэшки или надо что-то настраивать дополнительно?
Макс, не обижайтесь, но хоть чуть-чуть поизучайте справку VB. Уж что-то, а подключать флешки - это даже не как 2х2, это вообще первая буква алфавита. Наверное потому у вас и сеть не работает.
Читаю, что еще остается
Что за виртуалка у вас? Самосборная или наша?
Так, флэшка подключилась :)
Виртуалка ваша. В винде ip, допустим, 192.168.1.200. Нужно отключать это соединение во время работы виртуальной машины? Нужно ли настраивать virtual box ethernet adaptor?
Виртуалка показывает, что кабель подключен. Адаптер NAT
поставил в vb сетевой мост - сеть заработала.
mc по ftp подключился к триму.
разбираюсь дальше
Виртуалка ваша.
Вообще ничего тогда трогать не нужно было.
Вообще ничего тогда трогать не нужно было.
спасибо
Сделал настройки на на вашем скрине. Из mc ftp работает.
Проект компилирую, потом пкм start -> выполнить. Сначала пишет таймаут соединения, потом как на картинке. mc при этом закрыт. Не понятно.
Скомпилировал проект, подключился по фтп. Скопировал на трим в папку project исп. файл и файлы start.after и start.before. В программе одна строчка - запись в память, трим выводит это число.
Или программа не запустилась, или я где-то опять ошибся. Как понять?
Или программа не запустилась, или я где-то опять ошибся. Как понять?
Зайти на контроллер по SSH, набрать top и посмотреть, запущена ли ваша программа.
Вообще, почаще мучайте гугл. Например, "linux, как увидеть список запущенных программ". Т.е. вбиваете свой вопрос и добавляете слово linux или debian.
Работу с контроллером начните с запуска и анализа работы одного из примеров. Они точно должны работать. Потом перейдёте к созданию своих собственных проектов.
PS. "Run" из предыдущего сообщения и не должен работать.
Вы предлагаете начать с запуска примера и анализа. Я же у вас спрашиваю КАК запустить проект. Мне только это и нужно, дальше сам.
1. компилируется проект.
2. подкл. по фтп и в папку projects копируется исполняемый файл (со звездочкой)
3. Скопировал файлы start.after и start.before в папку projects без изменений. Брал из папки tmp проекта.
Что я сделал неправильно?
Вы предлагаете начать с запуска примера и анализа. Я же у вас спрашиваю КАК запустить проект. Мне только это и нужно, дальше сам.
1. компилируется проект.
2. подкл. по фтп и в папку projects копируется исполняемый файл (со звездочкой)
3. Скопировал файлы start.after и start.before в папку projects без изменений. Брал из папки tmp проекта.
Что я сделал неправильно?
Всё верно. Дальше вам нужно загрузить FBD-проект, который работает с примерами. Ваша программа запустится автоматически.
Не получилось. SSH top во вложении. Не пойму - проект logix не запущен? И мой проект тоже, похоже.
https://yadi.sk/i/csi9e3vO3RLfCP
Записал все действия на видео
Так, флэшка подключилась :)
Пожалуйста, подробнее: что нужно для этого сделать?
Пожалуйста, подробнее: что нужно для этого сделать?
В vb на вкладке usb поставить галку на используемой флэшке. Запустить и сделать тоже самое на работающей виртуалке
В vb на вкладке usb поставить галку на используемой флэшке. Запустить и сделать тоже самое на работающей виртуалке
Достаточно только на работающей виртуалке))
Арсений, я выше видео действий выложил. Посмотрите, пожалуйста.
Достаточно только на работающей виртуалке))
Спасибо. Отметил. Как и где теперь её найти Midnight Commanderoм?
Не получилось. SSH top во вложении. Не пойму - проект logix не запущен? И мой проект тоже, похоже.
https://yadi.sk/i/csi9e3vO3RLfCP
Записал все действия на видео
Кстати о ПО. Вы обновляли контроллер из последнего лоджика? В некоторых предыдущих версиях была нестабильная работа с этими скриптами.
Спасибо. Отметил. Как и где теперь её найти Midnight Commanderoм?
google: "debian как прочитать файлы с флешки?"
Я повторю сказанное мною ранее: "Вообще, почаще мучайте гугл. Например, "linux, как увидеть список запущенных программ". Т.е. вбиваете свой вопрос и добавляете слово linux или debian". Линукс в контроллере не какой-то уникальный, каких в мире больше нет. Миллионы компьютеров и устройств с таким же Линуксом, как и у нас. Миллионы людей задают в мире одни и те же вопросы и получают одни и те же ответы.
85 в конце, по-моему.
И вы уверены, что ядро залито из этой версии, совсем недавно?
И вы уверены, что ядро залито из этой версии, совсем недавно?
Да. Установил последний лоджик и обновил Трим. Вечером перепроверю
SV soft version 29
SV hard version 772
Встроенное ПО 171279-153345
Проект SMLogix 3.28.0085
kernel 4.1-171127
logix 711222
попробую еще раз обновить и залить проекты
обновил, залил. все без изменений, не работает. все как на видео
не работает. все как на видео
Давайте разберёмся, что у вас на видео.
1) Всё правильно при создании шаблона
2) Совершенно зря всё удаляете и создаёте программу с временем жизни в микросекунды
3) Запуск программы в виртуалке. Он невозможен, т.к. виртуалка на базе x86 процессора
4) Правильно переписываете в контроллер
5) Правильно загружаете программу лоджика
Как результат, всё правильно, что не работает. К моменту запуска лоджика ваша программа либо уже отработала свои микросекунды и завершилась, либо вывалилась по ошибке, т.к. лоджик скорее всего ещё не успел создать shmem в памяти.
Большое спасибо, Арсений!
https://yadi.sk/i/ubJ1IF6o3RRDMZ
добавил бесконечный цикл, в котором записываю значение в переменную.
Программа не стартует или shmem не работает? Как это можно понять?
https://yadi.sk/i/ubJ1IF6o3RRDMZ
добавил бесконечный цикл, в котором записываю значение в переменную.
Программа не стартует или shmem не работает? Как это можно понять?
google: "Как узнать, запущена ли программа linux"
pidof mydemo
Если выдало какие-то циферки, ваша программа запущена. Если нет, то нет.
Если вы задали бесконечный цикл без отпускания ресурсов, то всё правильно, что ничего не работает. Ресурсы же не отпускаете.
Также, если копируете через sftp, нужно проверить, чтобы у рута было право запускать ваш файл.
На мой взгляд, самый простой способ узнать о работе программы - вписать в неё функцию логгирования во внешний файл, либо в консоль и запускать из консоли, в целях отладки.
Запуск из консоли: ./filename, писать надо в той папке, где лежит программа.
Спасибо, Арсений и Дмитрий. А что значит "без отпускания ресурсов"?
Спасибо, Арсений и Дмитрий. А что значит "без отпускания ресурсов"?
Представьте, вы ведёте машину. И тут я вас толкаю в плечо и говорю "Привет!". Вы отвлекаетесь от дороги, поворачиваете голову, говорите мне "Привет!" и поворачиваетесь обратно.
А теперь представьте, что это происходит 10 раз в секунду. Как далеко мы уедем?
Это называется "ресурсы CPU". Как их отпускать уже было сделано в шаблоне, в котором вы всё удалили.
#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);
}
}
Делал по шаблону. Мне кажется, что ресурсы тут в норме.
Попробуйте так:
#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"); // Вывод переданного значения в консоль
Попробуйте так:
#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);
}
}
А где контроль, что шмем создан?
Делал по шаблону. Мне кажется, что ресурсы тут в норме.
Программа-то ваша запущена? Сколько процессора отъедает и сколько занимает в памяти?
Скомпилировал версию Дмитрия, только добавил изменение переменной в цикле, чтобы видно было, что программа работает.
Включаю - программа не запущена.
Подключаюсь по ssh, перехожу в каталог projects, mydemo не запущена. Далее ./mydemo программа запускается, в лоджике в режиме отладки я вижу, как меняется переменная в заданных пределах.
При этом pytty "умирает", я не могу записать больше ни одну команду.
После закрытия окна pytty останавливается выполнение mydemo.
А приложите, пожалуйста, скомпилированный файл сюда, ну и проект.
Вся папка с проектом в архиве
Итак, программа работает, сессия по ssh тоже работает нормально, просто ввод перехватывается программой, а вывода нет. Ctrl+C для выхода из этого режима (закроет программу).
Таким образом, вам нужно только адекватно прописать запуск вашего приложения в скрипты. Справитесь или посодействовать?
Если не трудно, то помогите.
А почему не работают скрипты start.after и start.before? Они созданы автоматически, я их не менял.
А почему не работают скрипты start.after и start.before? Они созданы автоматически, я их не менял.
Тут, сейчас, с ними есть проблема, мы её уже решили, скоро должен новый лоджик появиться, в котором они работают. Контроллер надо будет обновить.
Тут, сейчас, с ними есть проблема, мы её уже решили, скоро должен новый лоджик появиться, в котором они работают. Контроллер надо будет обновить.
А можно подсказать решение на сегодня, если оно есть?
Для общего развития :helpsmili
А можно подсказать решение на сегодня, если оно есть?
Для общего развития :helpsmili
Нет, на нынешнем уровне ваших знаний вы даже не поймёте, о чём речь идёт, на самом деле.
Проблема уже на самом деле давно решена была, но её забыли выпустить в релиз. Скрипты отрабатывают только при загрузки проекта лоджиком. При запуске контроллера не отрабатывают.
Для вас - подождать релизной версии. Другие варианты слишком сложны, даже чтобы их тут описывать.
Нет, на нынешнем уровне ваших знаний вы даже не поймёте, о чём речь идёт, на самом деле.
Проблема уже на самом деле давно решена была, но её забыли выпустить в релиз. Скрипты отрабатывают только при загрузки проекта лоджиком. При запуске контроллера не отрабатывают.
Т.е. переписать скрипт или добавить другой в автозагрузку (или что-то подобное) нельзя?
Неправильно выразил свою мысль. Мне не нужно перезапускать приложение при изменении проекта в лоджике. Просто запустить mydemo при включении питания. Это возможно сейчас? Или слишком сложно для начинающих?
Т.е. переписать скрипт или добавить другой в автозагрузку (или что-то подобное) нельзя?
Неправильно выразил свою мысль. Мне не нужно перезапускать приложение при изменении проекта в лоджике. Просто запустить mydemo при включении питания. Это возможно сейчас? Или слишком сложно для начинающих?
Подождите релизной версии SMLogix.
Версия от 19 января тоже не запускает скрипт. Контроллер обновил.
Версия от 19 января тоже не запускает скрипт. Контроллер обновил.
Попробуйте вот так (http://forum.segnetics.com/showpost.php?p=39654&postcount=21) действовать.
Вы проверили атрибуты?
Да. Изменил и все заработало. Спасибо!
А что за файл settings.sqlite в папке projects?
Написал программу для обмена данными между трим и сторонним прибором. Думаю использовать БД для сохранения результатов и построения графиков и отчетов. Все хочу сделать на С, лоджик только для визуализации.
Посоветуйте, как лучше с БД поступить, куда копать?
А что за файл settings.sqlite в папке projects?
Написал программу для обмена данными между трим и сторонним прибором. Думаю использовать БД для сохранения результатов и построения графиков и отчетов. Все хочу сделать на С, лоджик только для визуализации.
Посоветуйте, как лучше с БД поступить, куда копать?
Есть одно общее правило у системный программистов: не тронь чужое.
Предлагаю вам следовать этому правилу, оно писано кровью и потом уже нескольких поколений системщиков.
Это совет вне наличия или отсутствия каких-либо файлов в каких-либо папках. Что-то хотите использовать - делаете свою папку и творите в ней что хотите. Но только в ней. Базы, шмазы, си-плюсплазы.
Sqlite установлен и с ним можно работать. Правильно?
Sqlite установлен и с ним можно работать. Правильно?
dpkg -l | grep sqlite
Установлен и работает. Главное - не сломайте существующую базу.
dpkg -l | grep sqlite
Установлен и работает. Главное - не сломайте существующую базу.
Установил sqlite3 на виртуальную машину. Не подскажете, как правильно подключать эту библиотеку к проекту?
Не подскажу. Ни разу таким не занимался. Я всегда использовал mysql. обычная сишная библиотека. Вроде как, она везде есть. #include <mysql/mysql.h>
Не подскажу. Ни разу таким не занимался. Я всегда использовал mysql. обычная сишная библиотека. Вроде как, она везде есть. #include <mysql/mysql.h>
Я хочу сделать проект, похожий на проект регистратора (там данные сохраняются на usb). Только я хотел сохранять результаты в базе, чтобы можно было делать осмысленные выборки. Например, построить график замеров за определенный месяц. Mysql слишком круто для этого, нет? Или вообще отказаться от базы и работать с архивом данных напрямую? Сам записал, сам нашел, что нужно и выдал лоджику данные для отрисовки.
Ну sqlite подходит под ваши задачи. Тут, я думаю, только гугление примеров подойдёт. Подозреваю, что много полезного можно узнать в контексте RPi3.
каково время выполнения mymem.setShort, mymem.setFloat?
Нужно для понимания, как синхронизировать работу программы и элемента "график реального времени"
Из базы я вычитываю значения и в цикле выдаю их на перья. Пока не понятно, насколько стабильно будет работать с большим числом перьев и с разными типами данных.
каково время выполнения mymem.setShort, mymem.setFloat?
Нужно для понимания, как синхронизировать работу программы и элемента "график реального времени"
Из базы я вычитываю значения и в цикле выдаю их на перья. Пока не понятно, насколько стабильно будет работать с большим числом перьев и с разными типами данных.
Испытания не проводились. Думаю, микросекунды.
Спасибо. Тогда мне не понятен следующий момент. В цикле я выдаю 30 значений с задержкой 0,1 секунда. График реального времени работает с частотой выборок 2, цикл 50мс. Все работает правильно.
Меняю в программе задержку между выдачей данных на 0,05с, ставлю частоту 1 и такая настройка полностью неработоспособна.
Вообще, я хочу добиться максимальной скорости отрисовки графика.
Спасибо. Тогда мне не понятен следующий момент. В цикле я выдаю 30 значений с задержкой 0,1 секунда. График реального времени работает с частотой выборок 2, цикл 50мс. Все работает правильно.
Меняю в программе задержку между выдачей данных на 0,05с, ставлю частоту 1 и такая настройка полностью неработоспособна.
Вообще, я хочу добиться максимальной скорости отрисовки графика.
Не люблю делать операции по телефону. Ясно дело, что где-то у вас рассинхронизация, но это вам нужно уже ловить самостоятельно.
vBulletin v3.8.7 (Russian), Copyright ©2000-2024, Jelsoft Enterprises Ltd.