Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о SMH-2G(i)

Вопросы о SMH-2G(i) Здесь всё, что касается работы контроллера SMH-2G(i).

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.04.2015, 14:51   #1
Nosferatu
Новичок
 
Регистрация: Apr 2015
Сообщения: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию USB-носитель

Попробовал демo-программу "registrator". Все пишется нормально. Возникла необходимость писать не в корневой каталог флешки, а в директорию на ней.
Поменял MY_FLASH_FILENAME с '/media/u1/mylog.txt' на '/media/u1/123/mylog.txt' - контроллер перестал выводить процент доступного места на носителе,записывать данные тоже перестал(возможно нужно добавить команду создания директории).
Создал директорию вручную - все то же самое, писать в эту директорию тоже не стал,процент доступного места не появился(хотя MY_FLASH_FILENAME используется только для работы с файлом).

Вопрос: можно ли записывать не в корневую директорию usb-носителя?
Nosferatu вне форума   Ответить с цитированием
Старый 22.04.2015, 15:06   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: USB-носитель

Цитата
Сообщение от Nosferatu Посмотреть сообщение
Попробовал демo-программу "registrator". Все пишется нормально. Возникла необходимость писать не в корневой каталог флешки, а в директорию на ней.
Поменял MY_FLASH_FILENAME с '/media/u1/mylog.txt' на '/media/u1/123/mylog.txt' - контроллер перестал выводить процент доступного места на носителе,записывать данные тоже перестал(возможно нужно добавить команду создания директории).
Создал директорию вручную - все то же самое, писать в эту директорию тоже не стал,процент доступного места не появился(хотя MY_FLASH_FILENAME используется только для работы с файлом).

Вопрос: можно ли записывать не в корневую директорию usb-носителя?
Конечно можно. И с успехом это делается.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 23.04.2015, 17:28   #3
Nosferatu
Новичок
 
Регистрация: Apr 2015
Сообщения: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: USB-носитель

Вроде заработало. Теперь нужно чтобы имена файла были разными.
Подробнее:
в качестве имени файла создал переменную char *fname;
в команде fopen вместо MY_FLASH_FILENAME подставил переменную fname;
эта переменная меняется в процессе выполнения программы.
Виснет на создании файла. Подскажите пожалуйста в чем может быть проблема?
Nosferatu вне форума   Ответить с цитированием
Старый 23.04.2015, 19:08   #4
Nosferatu
Новичок
 
Регистрация: Apr 2015
Сообщения: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию USB-носитель

Как я понял, это связано с тем что тип переменной в имени файла должен быть const char*.
Когда меняю его, он автоматически становится просто char *.
По ходу дела виснет из-за этого, можно ли как-нибудь обойти это?
Nosferatu вне форума   Ответить с цитированием
Старый 23.04.2015, 19:13   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: USB-носитель

Цитата
Сообщение от Nosferatu Посмотреть сообщение
Как я понял, это связано с тем что тип переменной в имени файла должен быть const char*.
Когда меняю его, он автоматически становится просто char *.
По ходу дела виснет из-за этого, можно ли как-нибудь обойти это?
Извините меня, но я не могу проводить обучение языку С++.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 23.04.2015, 21:12   #6
Nosferatu
Новичок
 
Регистрация: Apr 2015
Сообщения: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: USB-носитель

Проблема в том, что я писал и раньше подобное, только не под сегнетикс и все работало. Похоже на то что сегнетикс сам блокирует, потомучто компилятор не ругается на это. Ладно, думал может кто сталкивался с этим. Спасибо, буду пробовать.
Nosferatu вне форума   Ответить с цитированием
Старый 24.04.2015, 10:18   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: USB-носитель

Цитата
Сообщение от Nosferatu Посмотреть сообщение
Похоже на то что сегнетикс сам блокирует, потомучто компилятор не ругается на это.
Сегнетикс не имеет никакого отношения ни к разработке линукса, ни к разработке компиляторов, ни, тем более, к разработке NetBeans.

Ровно ноль целых ноль десятых процента.

А по поводу "компилятор не ругается", так это для С++ нормально. Ведь это язык достаточно низкого уровня. Компилятор отслеживает только явные ляпы, остальное на совести программиста.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 24.04.2015, 15:34   #8
Nosferatu
Новичок
 
Регистрация: Apr 2015
Сообщения: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: USB-носитель

Разобрался в чем дело.
Возможно компилятор плохо работает со строковыми массивами нефиксированной длины. Т.е. когда создаю много указателей на строковые переменные (char *) и начинаю их изменять, они принимают то пустое значение, то значение других переменных.
Сделал их фиксированной длины, проблемы сразу пропали.
Может это относится и к массивам других типов, не проверял.
Nosferatu вне форума   Ответить с цитированием
Старый 04.06.2015, 08:40   #9
uJluac
Новичок
 
Регистрация: Jun 2015
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: USB-носитель

Цитата
Сообщение от Nosferatu Посмотреть сообщение
Попробовал демo-программу "registrator". Все пишется нормально. Возникла необходимость писать не в корневой каталог флешки, а в директорию на ней.
Поменял MY_FLASH_FILENAME с '/media/u1/mylog.txt' на '/media/u1/123/mylog.txt' - контроллер перестал выводить процент доступного места на носителе,записывать данные тоже перестал(возможно нужно добавить команду создания директории).
Создал директорию вручную - все то же самое, писать в эту директорию тоже не стал,процент доступного места не появился(хотя MY_FLASH_FILENAME используется только для работы с файлом).

Вопрос: можно ли записывать не в корневую директорию usb-носителя?
привет
не мог бы мне скинуть ссылку на демо проект
очень нужно но на форуме не могу найти
Заранее Спасибо
uJluac вне форума   Ответить с цитированием
Старый 04.06.2015, 10:43   #10
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: USB-носитель

Цитата
Сообщение от uJluac Посмотреть сообщение
привет
не мог бы мне скинуть ссылку на демо проект
очень нужно но на форуме не могу найти
Заранее Спасибо
http://dl.segnetics.com/PRODUCTS/SMH2Gi/C/


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 25.10.2017, 17:30   #11
tishkoff
Новичок
 
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: USB-носитель

Добрый день! Сильно не пинайте, я буквально 1й раз сталкиваюсь с данным ПЛК.
Из прочитанного и увиденного я так понял, что у 2Gi есть возможность "логгировать" данные на USB-флеш и это делается с помощью проекта из архива examples, который необходимо запустить на ОС Linux.
Если нигде грубо не ошибся, то подскажите - есть ли альтернатива простого логгирования данных на флешку с заливкой проекта через SMLogix, не прибегая к установке виртуальной машины c Linux? Спасибо
tishkoff вне форума   Ответить с цитированием
Старый 25.10.2017, 17:41   #12
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: USB-носитель

Цитата
Сообщение от tishkoff Посмотреть сообщение
Добрый день! Сильно не пинайте, я буквально 1й раз сталкиваюсь с данным ПЛК.
Из прочитанного и увиденного я так понял, что у 2Gi есть возможность "логгировать" данные на USB-флеш и это делается с помощью проекта из архива examples, который необходимо запустить на ОС Linux.
Если нигде грубо не ошибся, то подскажите - есть ли альтернатива простого логгирования данных на флешку с заливкой проекта через SMLogix, не прибегая к установке виртуальной машины c Linux? Спасибо
Если контроллер trim5 или smh4 - то есть. Но это требует ещё больше умений в программировании, чем использование виртуальной машины.
А если к контроллеру подключить scada-систему через сеть (даже через интернет можно), то реально сделать архив сразу на ПК.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Matrix, Trim5, SMH4 и USB. Решение проблем, если они есть Arsie Библиотека 4 21.09.2021 15:37
Правильный кабель USB Arsie Библиотека 0 29.12.2018 18:46
SMH2G(i). Ошибка проекта, неизвестный оператор сети masterzx SMConnect & SMConfig 8 09.08.2018 12:45
Модули ядра для поддержки внешней USB клавиатуры mikhailov Вопросы о SMH4 4 01.12.2017 10:56
Использование USB-хаба Varnak Вопросы о SMH-2G(i) 8 01.03.2013 12:20


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


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