Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.04.2015, 15:05   #1
Gennadi
Новичок
 
Регистрация: Mar 2013
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию c++

Давно была написана программа на C++ по ведению журнала аварийных сообщений, который потом, по требованию пользователя, выводился на флешку через USB. От проекта к проекту просто менялись строки сообщений. Я не очень следил за обновлениями версий Logics, писал проекты, отлаживая их на контроллере, которому уже много лет. Заказчик мой далеко и контроллер у меня один для отладки. Но недавно, в связи с заменой ноутбука, поставил последнюю версию Logics и виртуалку с файлового архива. logics потребовал обновить ПО на контроллере, что я и сделал. Затем оказалось, что начиная с версии software_264 изменилось распределение адресов переменных разделяемой памяти. Я сделал все, что требовалось в топике http://forum.segnetics.com/showthread.php?t=1080. Но программа не заработала. Оказалось, что не работает даже Demo-программа с файлового архива. И вообще даже самая простейшая, просто включающая mem в программе Logics. Исследования с помощью отладчика показали, что нет именно связи программ C++ и Logics через разделяемую память. В чем может быть проблема? Может ли причиной быть то, что контроллер очень старый? Его s/n 82043. Топик http://forum.segnetics.com/showthread.php?t=1830 я читал.
Gennadi вне форума   Ответить с цитированием
Старый 29.04.2015, 15:56   #2
Gennadi
Новичок
 
Регистрация: Mar 2013
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

В описании на последнюю версию Logics нашел строку - Для корректной работы данной версии SMLogix с программами на "С" необходимо обновить виртуальную машину Linuxvm_v2.0
На файловом сервере версия 1.0 В этом проблема?
Gennadi вне форума   Ответить с цитированием
Старый 03.05.2015, 00:37   #3
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: c++

Цитата:
Сообщение от Gennadi Посмотреть сообщение
В описании на последнюю версию Logics нашел строку - Для корректной работы данной версии SMLogix с программами на "С" необходимо обновить виртуальную машину Linuxvm_v2.0
На файловом сервере версия 1.0 В этом проблема?
Проблема в устаревшей библиотеке shm.h

Обновлённую взять в техподдержке.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 05.05.2015, 13:00   #4
Gennadi
Новичок
 
Регистрация: Mar 2013
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

Да, с новыми файлами заработало. Спасибо.
Gennadi вне форума   Ответить с цитированием
Старый 10.05.2016, 15:48   #5
vstanislav
Member
 
Регистрация: Feb 2013
Сообщения: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

Арсений, подскажите как давно менялись файлы для C++?

летом 2014 года писал программу, в том числе регистратор данных на флешку...

Сейчас открываю, делаю изменения. Обмена с переменными нет. Демо-проект так же не работает.

Лоджик сегодня обновил. Версия 3.26.0474
vstanislav вне форума   Ответить с цитированием
Старый 10.05.2016, 15:58   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: c++

Цитата:
Сообщение от vstanislav Посмотреть сообщение
Арсений, подскажите как давно менялись файлы для C++?

летом 2014 года писал программу, в том числе регистратор данных на флешку...

Сейчас открываю, делаю изменения. Обмена с переменными нет. Демо-проект так же не работает.

Лоджик сегодня обновил. Версия 3.26.0474
Распаковать и в виртуальной машине заменить старые файлы на новые. Скомпилировать заново вашу программу.
Вложения
Тип файла: rar shm.rar (2.3 Кбайт, 62 просмотров)


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 10.05.2016, 16:16   #7
vstanislav
Member
 
Регистрация: Feb 2013
Сообщения: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

Цитата:
Сообщение от Arsie Посмотреть сообщение
Распаковать и в виртуальной машине заменить старые файлы на новые. Скомпилировать заново вашу программу.
Арсений, спасибо!

Помогло.
vstanislav вне форума   Ответить с цитированием
Старый 29.09.2016, 12:28   #8
madeye49
Новичок
 
Регистрация: Sep 2016
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

Здравствуйте!
Пробую откомпилировать проект demo компилятор выдаёт кучу ошибок.

Мои действия:
1. установил виртуальную машину, взял с вашего сервера.
2. распаковал на ней образ системы убунту, взял с вашего сервера.
3. загрузил убунту и загрузил netbeans.
4. в netbeans открыл проект demo.
5. нажимаю F6 и компилятор ругается ошибками.

В самих cpp файлах он красным подчёркивает заголовки и наводя туда курсор мыши, можно прочитать что он не может найти этот файл.

Я правильно понимаю, что писать программу на си и компилить её можно без подключения контроллера или его обзятельно надо подключать к компьютеру?

И что я делаю не так, помогите, пожалуйста.
madeye49 вне форума   Ответить с цитированием
Старый 29.09.2016, 12:47   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: c++

Цитата:
Сообщение от madeye49 Посмотреть сообщение
Здравствуйте!
Пробую откомпилировать проект demo компилятор выдаёт кучу ошибок.

Мои действия:
1. установил виртуальную машину, взял с вашего сервера.
2. распаковал на ней образ системы убунту, взял с вашего сервера.
3. загрузил убунту и загрузил netbeans.
4. в netbeans открыл проект demo.
5. нажимаю F6 и компилятор ругается ошибками.

В самих cpp файлах он красным подчёркивает заголовки и наводя туда курсор мыши, можно прочитать что он не может найти этот файл.

Я правильно понимаю, что писать программу на си и компилить её можно без подключения контроллера или его обзятельно надо подключать к компьютеру?

И что я делаю не так, помогите, пожалуйста.
В демо на новой виртуалке нужно в мейкфайле пути сменить. Где-то это написано. По памяти, в путях к компилятору "v5te" заменить на "none".

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


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 30.09.2016, 16:39   #10
madeye49
Новичок
 
Регистрация: Sep 2016
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

Спасибо за разъяснения!
Всё получилось. Теперь вопрос в следующем: пробую debug программы.

1. запускаю arm-none-linux-gnueabi-insight ./своя программа
2. запускается отладчик ( у него в строке состояния написано "программа не запущена. нажмите на иконку бегущего человека для запуска")
3. нажимаю, просит установить параметры соединения
4. указываю
Target: GDBServer/TCP
Hostname: 192.168.1.213
Port: 502

После чего система думает и пишет, что не может подключится.

Подскажите, что не так?
madeye49 вне форума   Ответить с цитированием
Старый 03.10.2016, 11:02   #11
madeye49
Новичок
 
Регистрация: Sep 2016
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

делаю как в руководстве написано:

1. arm-none-linux-gnueabi-insight ./my01

появляется графическое приложение с открывшимся исходным файлом main.cpp программы my01

2. открываю консольное окно и ввожу команду load

запускается процесс подключения к контроллеру
на экране консоли такие строки:

user@segnetics:~/workspace/projects/my01$ arm-none-libux-gnueabi-insight ./my01
Connected to 192.168.1.213.
220-------------Welcom to Pure-FTPd-----------------
220-You are user number 2 of 50 allowed.
220-Local time is now 09:42. Server port: 21
220 You will be disconnected after 15 minut of inactivity.
331 User root OK. Password required
230 OK. Current dirictory is /projects
Remote system type is UNIX.
Using binary mode to transfer files
220 TYPE is now 8-bit binary
local: ./my01 remote: my01.tmp
229 Extended Passive mode OK (|||52616|)

421 Service not avaliable, remote server time out. Connection closed
root@192.168.1.213's password:
killall: my01: no process killed
killall: my01: no process killed
killall: gdbserver: no process killed
killall: gdbserver: no process killed
Process /projects/my01 created; pid=11913
Cannot exec /projects/my01: Exec format error.

Child exited with retcode = 7f
No program to debug. GDBserver exiting.
madeye49 вне форума   Ответить с цитированием
Старый 03.10.2016, 13:29   #12
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: c++

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

421 Service not avaliable, remote server time out. Connection closed

Cannot exec /projects/my01: Exec format error.
Вроде неправильно скомпилировалось. Видимо надо удалить все экзешники и объектники и собрать всё заново


Зачем вы указываете 502 порт? Это порт драйвера Modbus-TCP. На этом порту вы ничего не отладите.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 03.10.2016, 16:17   #13
madeye49
Новичок
 
Регистрация: Sep 2016
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

502 порт я указывал, если нажимать на кнопку с человечком. Если делать по вашему руководству, то никакие порты я не ввожу. все идет по умолчанию, как я описал в последнем сообщении.
madeye49 вне форума   Ответить с цитированием
Старый 03.10.2016, 17:15   #14
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: c++

Цитата:
Сообщение от madeye49 Посмотреть сообщение
502 порт я указывал, если нажимать на кнопку с человечком. Если делать по вашему руководству, то никакие порты я не ввожу. все идет по умолчанию, как я описал в последнем сообщении.
Пароль на запрос вводите правильный?


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 03.10.2016, 18:08   #15
madeye49
Новичок
 
Регистрация: Sep 2016
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

пароль по умолчанию segnetics. Ввожу его в консольном окне
madeye49 вне форума   Ответить с цитированием
Старый 04.10.2016, 16:36   #16
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: c++

Цитата:
Сообщение от madeye49 Посмотреть сообщение
пароль по умолчанию segnetics. Ввожу его в консольном окне
Сервер-отладчик ругается на формат исполняемого файла.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 05.10.2016, 11:09   #17
madeye49
Новичок
 
Регистрация: Sep 2016
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: c++

может это быть из-за ошибок в makefile ?

Поскольку в автомате скрипты ругаются и не скидывают исполняемый файл на контроллер, приходится это делать в ручную.
madeye49 вне форума   Ответить с цитированием
Старый 05.10.2016, 11:41   #18
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: c++

Цитата:
Сообщение от madeye49 Посмотреть сообщение
может это быть из-за ошибок в makefile ?

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


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

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

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

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

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

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



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


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