Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 21

Тема: мистическая комбинация в ПЛК150

  1. #11

    По умолчанию

    Цитата Сообщение от Sergey666 Посмотреть сообщение
    Ага, каждому его метод предпочтительнее, см. притчу о лисе и журавле.

    У вас предусмотрено (млин вот все как у Овена, вы часом не у них на курсах учились) какое-то не понятное поведение системы - если bIndexOk=False что тогда? Что в массиве?
    А почему Вы считаете, что всегда, когда индекс массива выходит за допустимый диапазон, должны изменяться крайние элементы?

  2. #12

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Естественно, никакой "мистической комбинации" нет, и такое поведение будет воспроизводиться при любой размерности массива:
    Да у вас нет мистики, а на моем плк она к сожалению есть. Вероятно потому что плк-150 2007 года выпуска с прошивкой того же года(обновить не получается ни у меня ни у тех.отдела OWEN). Прилагаю мистические скрины, на них видно что ошибки нет при других комбинациях.
    Изображения Изображения

  3. #13
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,495

    По умолчанию

    Цитата Сообщение от saii Посмотреть сообщение
    А почему Вы считаете, что всегда, когда индекс массива выходит за допустимый диапазон, должны изменяться крайние элементы?
    Потому что считаю, что индекс массива не стоит выводить за допустимый диапазон.

  4. #14

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Вы, видимо, просто не выполняете команду Проект - Очистить все при внесении изменений - в этом случае компилятор, вероятно, не перераспределяет адреса.
    Делал сто раз вчера очистить все, потому что прежде чем написать в чат перепроверил все что можно. Но решил еще раз сегодня очистить все и ошибка пропала теперь даже при комбинации 6 и 5 нет ошибки. Опять все очистил, пересохранил, перекомпилировал, выключил включил и прочие танцы исполнил. Ошибки нет. Бред какой то. Должен же он записывать в соседнюю ячейку или нет если элемент вываливается, если должен то почему сейчас все не записывает.

    Подскажите где-то описано в какой нибудь литературе как работает компилятор в Codesys?
    Изображения Изображения

  5. #15
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,495

    По умолчанию

    Цитата Сообщение от Ian Посмотреть сообщение
    Да у вас нет мистики, а на моем плк она к сожалению есть. Вероятно потому что плк-150 2007 года выпуска с прошивкой того же года(обновить не получается ни у меня ни у тех.отдела OWEN). Прилагаю мистические скрины, на них видно что ошибки нет при других комбинациях.
    А вы, Батенька, жулик... xInit на первую строчку поставил и ... все данные в массив переливаются хрен знает куда, теперь, ради хохмы попробуйте прочитать значение в массиве с индексом [7].
    Это не ПЛК и не среда разработки, это называется культура программирования и очень часто вижу такие опусы, что их аффтаров хочется бить по голове палкой из виноградной лозы(она не ломается).

  6. #16

    По умолчанию

    Цитата Сообщение от Ian Посмотреть сообщение
    Делал сто раз вчера очистить все, потому что прежде чем написать в чат перепроверил все что можно. Но решил еще раз сегодня очистить все и ошибка пропала теперь даже при комбинации 6 и 5 нет ошибки. Опять все очистил, пересохранил, перекомпилировал, выключил включил и прочие танцы исполнил. Ошибки нет. Бред какой то. Должен же он записывать в соседнюю ячейку или нет если элемент вываливается, если должен то почему сейчас все не записывает.

    Подскажите где-то описано в какой нибудь литературе как работает компилятор в Codesys?
    Кончай ерундой заниматься.

  7. #17

    По умолчанию

    Цитата Сообщение от Sergey666 Посмотреть сообщение
    А вы, Батенька, жулик... xInit на первую строчку поставил и ... все данные в массив переливаются хрен знает куда, теперь, ради хохмы попробуйте прочитать значение в массиве с индексом [7].
    Это не ПЛК и не среда разработки, это называется культура программирования и очень часто вижу такие опусы, что их аффтаров хочется бить по голове палкой из виноградной лозы(она не ломается).
    Нервные все тут на форуме) Жулик, палкой бить... Эти выпады в мою сторону удивляют и забавляют. Я в этой теме две недели, а отвечающие с 2008 года судя по регистрации на форуме. Вопросы задаю потому что мне реально непонятно. Поменял порядок потому что пробовал разные варианты и забыл. Поставил на место, опять ошибка, но уже без мистики на всех комбинациях. В итоге получается два момента: 1) От мистики избавился за счет очистить все. 2) Если xInit на первой строке ошибки нет, а если на последней то есть. Только непонятно почему все так.

  8. #18
    Пользователь Аватар для A.Simonov
    Регистрация
    11.07.2017
    Адрес
    Москва
    Сообщений
    373

    По умолчанию

    Цитата Сообщение от Ian Посмотреть сообщение
    Нервные все тут на форуме) Жулик, палкой бить... Эти выпады в мою сторону удивляют и забавляют. Я в этой теме две недели, а отвечающие с 2008 года судя по регистрации на форуме. Вопросы задаю потому что мне реально непонятно. Поменял порядок потому что пробовал разные варианты и забыл. Поставил на место, опять ошибка, но уже без мистики на всех комбинациях. В итоге получается два момента: 1) От мистики избавился за счет очистить все. 2) Если xInit на первой строке ошибки нет, а если на последней то есть. Только непонятно почему все так.
    Что не понятного то?
    Вы создали массив из пяти элементов (они в памяти занимают 5 ячеек памяти).
    Когда вы обращаетесь к 6-му элементу массива, которого нет, то попадаете в соседнюю ячейку памяти, а в ней находится ваша булевская переменная.
    А находится она там по тому, что память выделяется в момент объявления переменной, причем это, очевидно, происходит в той последовательности в которой переменные объявлены.
    Если вы следом объявите еще одну переменную. то обращаясь к 7-му элементу массива сможете перезаписать и её.

    Вообще, если уже на то пошло. То обращаться к несуществующим элементам массива не стоит, это некорректно и приводит к тому, что вы наблюдаете.
    Александр Андреевич Симонов
    Инженер по продуктам «ПЛК, модули и OwenCloud»
    e-mail: support@owen.ru
    e-mail: a.simonov@owen.ru

  9. #19

    По умолчанию

    Цитата Сообщение от A.Simonov Посмотреть сообщение
    Вообще, если уже на то пошло. То обращаться к несуществующим элементам массива не стоит, это некорректно и приводит к тому, что вы наблюдаете.
    Я купил книгу для изучения Сергея Романова "Изучаем Structured Text стандарта МЭК 61131-3", набирал пример фильтрования аналогового сигнала, при отладке увидел что возникает ошибка, начал искать почему, удалил все что не вызывает ошибку и потом упростил то что получилось специально для того чтобы задать вопрос и чтобы тот кто будет отвечать смог быстро вникнуть и по сути пояснить. Естественно я не хотел изначально записывать данные в несуществующий элемент массива. Но меня тут стали бить палкой и обвинять в глупости. Короче вот такая история)

  10. #20
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,495

    По умолчанию

    Цитата Сообщение от Ian Посмотреть сообщение
    Я купил книгу для изучения Сергея Романова "Изучаем Structured Text стандарта МЭК 61131-3", набирал пример фильтрования аналогового сигнала, при отладке увидел что возникает ошибка, начал искать почему, удалил все что не вызывает ошибку и потом упростил то что получилось специально для того чтобы задать вопрос и чтобы тот кто будет отвечать смог быстро вникнуть и по сути пояснить. Естественно я не хотел изначально записывать данные в несуществующий элемент массива. Но меня тут стали бить палкой и обвинять в глупости. Короче вот такая история)
    Конкретно вас ни кто по голове бить не собирался, вы еще пока не представляете опасности в роли программиста устройств АСУ-ТП, так что можете расслабиться, ну и слог более-менее, на программерских форумах вообще трэш+жаргон специфический, так что обижаться не продуктивно.
    И книжки это хорошо, но изучение конкретной среды разработки и изучение руководств по программированию конкретных устройств может быть более полезно, подобный фокус с наложением на сименсе, шнайдере и на чем угодно еще просто бы не прокатил.
    Последний раз редактировалось Алексеев Савр; 15.04.2021 в 13:14.

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

Похожие темы

  1. ПЛК150 + ПЧВ
    от NikeTM в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 23.09.2014, 04:00
  2. ПЛК150
    от Денис_NTS в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 30.07.2013, 20:35
  3. ПЛК150!
    от Broka в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 27.11.2011, 20:21
  4. ПЛК150 и ТХК(L)
    от exbit в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 06.01.2011, 15:28
  5. ПЛК150+ПКП 1Т
    от Руслан2 в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 11.03.2008, 14:15

Ваши права

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