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

Тема: плк100. самопроизвольный переход в "стоп"

  1. #11

    По умолчанию

    Цитата Сообщение от Sniper007 Посмотреть сообщение
    хм.. а пробовали на него фильтр ставить?
    я сделал чтобы он мне при нажатии открывал одно окошко на ип-320. но сделал фильтр очень большой - 5 секунд.
    нет не делал, но уверен что фильтр решит проблему, ложные срабатывания явно редкие и единичные, просто не очень нужно....

  2. #12

    По умолчанию

    Так я не понял, у вас и при включенном модуле Button контроллер останавливавается?
    Я знаю то, что я ничего не знаю. Но другие не знают и этого. (Сократ).

  3. #13

    По умолчанию

    в конфигурацию вставляется много мастеров их переменных и т.д.
    они не именуются и связываются с переменными через At %хххх или по указателю через функцию Adr().
    результат - компилятор это проглатывает и получается доступ к служебным областям плк, например при внешнем обращении. т.к. обычно 90% переменных нужны раз в год - и к ним раз в год обращаются - проблема вылезает уже на объекте.
    решение - самые последние каналы ввода/вывода в конфигурации всегда именовать и тогда проблем не будет.

    P.S. Достало стирание заглавных букв в сообщениях!

  4. #14

    По умолчанию

    У меня в программе все переменные в PLC Configuration именованы - лучше так и делать?
    Я знаю то, что я ничего не знаю. Но другие не знают и этого. (Сократ).

  5. #15

    По умолчанию

    Цитата Сообщение от Sniper007 Посмотреть сообщение
    Так я не понял, у вас и при включенном модуле Button контроллер останавливавается?
    Нет, не останавливается.
    Иногда самопроизвольно выполнялся код, который я привязывал к модулю "Button"

  6. #16

    По умолчанию

    Аааа... Ну тогда все нормально. Значит отключение модуля Button (или правильно сказать "включение"?) спасает ситуацию. Значит похоже дело действительно в бракованной кнопке или помехах.
    Чтобы код не вызывался самопроизвольно я сделал так:

    Tim:TON;

    TIM(IN:=Button,PT:=t#5s);
    if Tim.Q=true then
    траля-ля;
    траля-ля;
    end_if

    Вопрос к разработчикам, а нельзя реализовать в прошивке контроллера фильтрацию? Пусть останов ПЛК будет происходить не сразу, а, скажем через секунду.
    Я знаю то, что я ничего не знаю. Но другие не знают и этого. (Сократ).

  7. #17

    По умолчанию

    фильтрация есть, где-то 250 мс. но, видимо, не помогает. хотя воспроизвести ситуацию у нас не получилось.

  8. #18

    По умолчанию

    Так будет ответ?
    Цитата Сообщение от Sniper007 Посмотреть сообщение
    У меня в программе все переменные в PLC Configuration именованы - лучше так и делать?
    Я знаю то, что я ничего не знаю. Но другие не знают и этого. (Сократ).

  9. #19

    По умолчанию

    да, конечно. хотя достаточно последней для I и Q типов

  10. #20

    По умолчанию

    нет, лучше так не делать.
    не ленитесь объявлять переменные либо до начала написания проекта, либо в процессе. при объявлении новой переменной в соответствующем поле ассистента ввода (или ручками) пишите адрес переменной At %... а вот адрес можно глянуть как раз в конфигурации плк.
    такой подход наводит порядок в мыслях и делает проект переносимым на другие контроллеры или прошивки.
    А обращение через адреса или указатели - на мой взгляд не самое лучшее решение.

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

Ваши права

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