Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 32

Тема: Работа с массивами

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Serge_UA Посмотреть сообщение
    Не понял, к кому этот вопрос, но на всякий случай отвечу - не знаю.
    Увидев Ваше обвинение ‘переводчики Пролога напутали’ я хотел лишить виновного отпускных. Но, следствие доказало что совершенно напрасно. Пожалуйста, пишите ‘не знаю кто напутал’ если не знаете или не уверены.

  2. #2
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    На Яве когда я провожу отладку кода, время выполнения значительно увеличивается, при отображении значений каждой итерации, в КДС скорее всего тоже самое, вполне возможно что откомпилированный код выполняется одинаково как я раньше и говорил, но если смотреть, то все подобные функции не включающие в себя прямым образом цикл, выполняются быстрее, потому что при циклах КДС как семафор "тормозит" выполнение программы
    Возможно. Хотя сомневаюсь. На досуге попробую сделать тест с отключенным от PLCWinNT CodeSyS.

    П.С. Что такое Ява? Симулятор написан на java? Не заметил, чтобы устанавливалась java-runtime при установке CodeSys.

  3. #3
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Чтобы закончить следствие, нужно спросить у Логвиненко Андрея откуда скопирована его цитата.

  4. #4

    По умолчанию

    Не думал, что из-за этого может подняться такой спор, цитата взята отсюда:
    "Порядок программирования контроллеров семейства ПЛК1хх (ПЛК100, ПЛК150, ПЛК154, ПЛК110)" стр. 9 с диска ПЛК версия 8.12.

  5. #5

    По умолчанию

    Подскажите п-та "чайнику".
    Имею массив chan:ARRAY[1..4,1..4] OF WORD, пытаюсь обратиться к элементу массива по индексам содержащимся в переменных row:INT и line:INT, но выражение chan[row,line] выдает ошибку.
    Где я ошибаюсь?

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

    По умолчанию

    Цитата Сообщение от ВениаминШ Посмотреть сообщение
    Подскажите п-та "чайнику".
    Имею массив chan:ARRAY[1..4,1..4] OF WORD, пытаюсь обратиться к элементу массива по индексам содержащимся в переменных row:INT и line:INT, но выражение chan[row,line] выдает ошибку.
    Где я ошибаюсь?
    какого вида ошибка мы догадываться должны? Может Вы там нулями всё обложили
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  7. #7

    По умолчанию

    Ошибка выполнения: неверный индекс массива. откройте стек вызовов.
    Переменная получается из числа от 0 до 15 деленного на 4 -> (WORD_TO_INT) -> плюс 1 = число int от 1 до 4

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

    По умолчанию

    ну так в том то и дело, ищите ошибку у себя
    У меня нет ошибок
    Изображения Изображения
    • Тип файла: png owen.png (15.0 Кб, Просмотров: 40)
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  9. #9
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    А вот другие немецкие разработчики (oscat) предлагают неплохой набор функций по работе с массивами
    ...реализованных на циклах и поэтому в десятки-сотни раз медленней, чем аналоги на SysMemLib

  10. #10
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Да уж и не докажешь что SysLibMem использует тоже цикл, да и ADR вместе с SIZEOF тоже без них необходятся. А чем кстати проверяли время в обоих случаях или чисто теория
    Проверял экспериментально в PLCWinNT. Я уверен что SysLibMem написана не на ST, поэтому " ADR вместе с SIZEOF" он точно не использует
    Написана либо на ассемблере, либо на С. Но "местные" вам точнее скажут

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Ваши права

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