Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Поблочное чтение файла

  1. #1

    По умолчанию Поблочное чтение файла

    Пытаюсь поблочно читать файл из внешней Flash при помощи асинхронной библиотеки. В файле f.txt записано 123;456*. Читаю по 4 байта. Первые четыре байта читаются правильно, а вторые четыре байта не правильно. В чем может быть причина ?
    Вложения Вложения
    • Тип файла: rar Read File.rar (21.6 Кб, Просмотров: 8)
    • Тип файла: txt f.txt (8 байт, Просмотров: 7)
    Последний раз редактировалось IVM; 22.03.2016 в 14:02.

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    а скрин то приложите что получается при чтении второй то группы, не у всех же есть такой плк, и лучше бы иметь две строки для первого прочтения и для второго, а то может ошибка в дальнейшем преобразовании а не в чтении
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а скрин то приложите что получается при чтении второй то группы, не у всех же есть такой плк, и лучше бы иметь две строки для первого прочтения и для второго, а то может ошибка в дальнейшем преобразовании а не в чтении
    В MAS[0] получается 123, а в MAS[1] - 5. Из-за того, что не верно считываются вторые 4 байта и дальнейшее преобразование цикл не может завершиться.

    Что значит "лучше бы иметь две строки для первого прочтения и для второго" ?

    Первое чтение и преобразование происходят правильно. Второе чтение происходит не правильно.
    Последний раз редактировалось IVM; 22.03.2016 в 14:29.

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    так покажите на скрине что при втором проходе находится в строке, в массиве у Вас уже пройденные через постобработку данные - ни какой связи с чтением
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #5

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    так покажите на скрине что при втором проходе находится в строке, в массиве у Вас уже пройденные через постобработку данные - ни какой связи с чтением
    К сожалению не могу показать скрин строки после второго чтения. Но если бы второе чтение было корректно, то преобразование было бы совершено верно и в MAS[1] получилось бы 456.

    Еще раз пишу, что первое чтение и преобразование происходят корректно. Второе преобразование происходит не верно потому что не верно читаются вторые 4 байта.

    Программа очень простая.

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    К сожалению не могу показать скрин строки после второго чтения. Но если бы второе чтение было корректно, то преобразование было бы совершено верно и в MAS[1] получилось бы 456.

    Еще раз пишу, что первое чтение и преобразование происходят корректно. Второе преобразование происходит не верно потому что не верно читаются вторые 4 байта.

    Программа очень простая.
    аааа, замучился я Вас подводить к самостоятельному решению вопроса, прочтите в справке КДС диапазон типа данных байт и сравните то, что Вы подаете в свою функцию преобразования, вроде код похож на тот, что дается в бибке оскат, но как то своеобразно
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    аааа, замучился я Вас подводить к самостоятельному решению вопроса, прочтите в справке КДС диапазон типа данных байт и сравните то, что Вы подаете в свою функцию преобразования, вроде код похож на тот, что дается в бибке оскат, но как то своеобразно
    А что там не так. Функция DEC_TO_BYTE родная оскатовская. Преобразование строки из первых четырех байт при помощи этой функции происходит правильно. Что мешает правильно произвести преобразование строки из следующих четырех байт - только то, что следующие четыре байта прочитаны не верно.
    Последний раз редактировалось IVM; 22.03.2016 в 15:24.

  8. #8
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    А что там не так. Функция DEC_TO_BYTE родная оскатовская. Преобразование строки из первых четырех байт при помощи этой функции происходит правильно. Что мешает правильно произвести преобразование строки из следующих четырех байт - только то, что следующие четыре байта прочитаны не верно.
    это уже не смешно и скрин Вы не показываете, потому что там правильно всё считывается
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #9

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    это уже не смешно и скрин Вы не показываете, потому что там правильно всё считывается
    Я бы показал, но у меня его нет. Вы сами подумайте. Если со строкой было бы все нормально, то преобразование было бы выполнено верно. Ведь при чтении первых четырех байт все нормально получается в MAS[0]. Программа циклическая, т.е. все действия повторяются.

  10. #10
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    открытым текстом говорю, функция DEC_TO_BYTE имеет выходное значение байт, массив MAS это тоже массив байт, байт как тип данных не может быть больше 255, подставляя в него большее значение Вы получите число по модулю 256. Да хоть десять раз Ваша прога будет циклической, Вас не затруднило запоминать индекс массива, почему вызывает сложности сохранять прочитанные строки
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Сигнализация из файла
    от Kotov666 в разделе Master SCADA 3
    Ответов: 6
    Последнее сообщение: 28.03.2018, 09:24
  2. MasterOPC и чтение файла с ПЛК
    от energvk в разделе Master SCADA 3
    Ответов: 73
    Последнее сообщение: 29.05.2017, 20:33
  3. Сохранение/чтение текстового файла
    от Boris_K в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 18.02.2015, 11:30
  4. Чтение файла посредством plcIO
    от Назаров Александр в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 26.10.2008, 13:21
  5. !!!чтение данных из файла на компе
    от max в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 20.10.2008, 12:10

Ваши права

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