Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 17 из 17

Тема: странная синтаксическая ошибка

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

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

    По умолчанию

    Вообще то я имел ввиду, что редактируя в ST ассистент никогда не предложит использовать команду CAL, а вот в IL данная команда будет присутствовать, хотя компилятору главное чтоб синтаксис был не нарушен поэтому CAL можно вызывать и в ST

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

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    хотя компилятору главное чтоб синтаксис был не нарушен поэтому CAL можно вызывать и в ST
    Пример работающего кода на ST с вызовом инструкции CAL в студию!

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

    По умолчанию

    попробовал не получилось, значит остается во всем слушаться ассистента.

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

    По умолчанию

    Если внимательно почитать документацию, то станет ясно, что оператор CAL принадлежит языку IL, а не ST. Поэтому использовать его в языке ST некорректно, и компилятор должен выдавать ошибку.

    Точка_с_запятой после END_IF не нужна и бесполезна.

    Компилятор в CodeSys слегка странный. При наличии нескольких ошибок в коде некоторые из них может пропускать, а также сообщать о несуществующих.

  5. #5

    По умолчанию

    Цитата Сообщение от Serge_UA Посмотреть сообщение
    Точка_с_запятой после END_IF не нужна и бесполезна.
    Не только не бесполезна, а я рекомендую всегда ставить. Точкой с запятой Вы даете однозначный ответ компилятору (уменьшаете для него неопределенность)
    Цитата Сообщение от Serge_UA Посмотреть сообщение
    Компилятор в CodeSys слегка странный. При наличии нескольких ошибок в коде некоторые из них может пропускать, а также сообщать о несуществующих.
    Просто до некоторых ошибок он не успевает дойти и проверить. В итоге, если есть хоть одна - он скажет. А когда ошибок 150 - все сразу не показывает - психику щадит

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

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Не только не бесполезна, а я рекомендую всегда ставить. Точкой с запятой Вы даете однозначный ответ компилятору (уменьшаете для него неопределенность)
    Однозначных ответ на что? Неопределенность в чем?
    Я так понимаю, вы имеете ввиду, что компилятор точнее локализует ошибки?

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Просто до некоторых ошибок он не успевает дойти и проверить. В итоге, если есть хоть одна - он скажет. А когда ошибок 150 - все сразу не показывает - психику щадит
    Я имел ввиду, что то место, где действительно находится ошибка он пропускает, а указывает наличие ошибки в другом месте ниже по коду.

  7. #7

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Регистр в именах не имеет значения.

    ..TPup(PT:=T#20S);..
    ...tpUp(pt=>apt; et=>aet);..

    Это одно и тоже.
    Предположительно (????) это - таймер.
    Тогда один из траблов здесь :

    tpUp(pt=>apt; et=>aet);..

    PT - вход.
    уже всё исправил, но всё равно спасибо

Страница 2 из 2 ПерваяПервая 12

Ваши права

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