Jump to content
Форум по продукции MOXA

Agibalov

Пользователи
  • Posts

    209
  • Joined

  • Last visited

Информация

  • Пол
    Мужчина
  • Город
    Санкт-Петербург

Recent Profile Visitors

1813 profile views
  • BKA

Agibalov's Achievements

Повелитель коммуникационных сил

Повелитель коммуникационных сил (4/5)

0

Reputation

  1. Здравствуйте! Я подозреваю, что это происходит потому, что компилятор может брать заголовочные файлы не из той директории. Попробуйте в makefile изменить строку CC=$(PREFIXPATH)/arm-linux-gcc на INCPATH=/usr/local/arm-linux/include CC=$(PREFIXPATH)/arm-linux-gcc -I$(INCPATH)
  2. Ничего страшного, главное - что ошибка нашлась. Удачной Вам работы!
  3. То есть, насколько я понимаю, система выглядит так: modbusRTUserverS - простые преобразователи Modbus RTU в TCP, а процессы IA240_modbus содержат всю рабочую логику, ведут обмен с устройствами, обращаясь к modbusRTUserverS, а между собой передают данные через сервер связи. При этом, modbusRTUserverS к серверу связи не имеют никакого отношения и нужно искать проблему именно во взаимодействии процессов и сервера. Как процессы начинают работать с сервером связи? Они просто подключаются к нему или кроме подключения ещё и как-то регистрируются? Не может ли сервер связи как-то "перепутать" процессы во время регистрации? Как происходит процесс обмена данными? Хранит ли сервер связи какие-то данные или только передаёт их от отправителя к получателю? Передаются какие-то фрагменты данных (отдельные параметры) или все данные системы единым блоком? К чему именно относится отчёт? Это данные о зарегистрированных процессах, которые не меняются во время выполения, или таблица всех параметров, или такой отчёт относится только к одному сеансу связи? Не может ли какой-то процесс изменить поля stat, так что возникает эта проблема?
  4. Здравствуйте! Опишите, пожалуйста, конкретно, по пунктам: 1) Назначение каждого из элементов системы (modbusRTUserverS, сервер межпроцессной связи, процессы IA240_modbusx). 2) Что подразумевается под взаимодействием процессов между собой? Они пересылают какие-то данные или, может, один процесс вызывает участки кода второго процесса или ещё что-то? 3) В чём именно состоит проблема? Неправильно выводятся данные на консоль или есть какие-то более серьёзные последствия? 4) Какой из элементов выводит первый ("правильный"), а какой - второй ("неправильный") отчёт? 5) Какие участки кода отвечают за формирование отчётов? 6) В каких условиях выводится первый, а в каких - второй отчёт? Что нужно сделать, чтобы программа, работающая правильно, стала работать неправильно или наоборот? 7) Вы указываете на объём занятой памяти. Избыточно ли оно для Вашей задачи? Или другими словами - это описание второй проблемы или условий? Изменяется ли объём занятой памяти со временем? Насколько быстро?
  5. Здравствуйте! Исходники ядра у Вас в системе установлены?
  6. Пришлите, пожалуйста, программу на которой проявляется проблема и текст сообщения об ошибке.
  7. Здравствуйте! Прежде всего необходимо разобраться с тем, как система работает сейчас. Можете ли Вы обратиться к тому, кто её делал за доработкой? Осталась ли какая-нибудь документация? Скорее всего, прямо с порта забрать данные нельзя, т.к. порт уже занят, программой, выводящей их на самописец. Есть ли у Вас дистрибутив этой программы?
  8. Здравствуйте! Разработчики пишут следующее: 1. Нужно использовать тулчейн с сайта. 2. Библиотеки с поддержкой плавающей запятой будут находиться в директории /usr/local/arm-linux/lib/gcc/arm-linux/4.2.1/soft-float/ 3. main.c нужно собрать со следующими параметрами: arm-linux-gcc ./main.c -o main -lrt -msoft-float 4. Т.к. glibc на контроллере старая, и там остутствует определение CLOCK_MONOTONIC, то необходимо добавить его в main.c: /* * The IDs of the various system clocks (for POSIX.1b interval timers): */ #define CLOCK_REALTIME 0 #define CLOCK_MONOTONIC 1 #define CLOCK_PROCESS_CPUTIME_ID 2 #define CLOCK_THREAD_CPUTIME_ID 3 После этого, программа должна выполняться быстрее, примерно за 5.1 с.
  9. Здравствуйте! Инструкция приложена к моему сообщению.
  10. Здравствуйте! В каком формате выдаёт данные сервер сбора? Совпадает ли он с форматом данных, передаваемым по RS-485?
  11. Здравствуйте! Наугад сложно сказать, в чём была проблема. Попытайтель для начала обновить прошивку.
  12. Здравствуйте! Попробуйте, пожалуйста, этот драйвер, предварительно удалив уже установленный.
  13. Здравствуйте! Можете ли прислать программу, с помощью которой Вы передаёте данные? Мы передадим её разработчикам устройства, чтобы они попытались обнаружить причину проблемы.
×
×
  • Create New...