Страница 778 из 1042 ПерваяПервая ... 278678728768776777778779780788828878 ... ПоследняяПоследняя
Показано с 7,771 по 7,780 из 10414

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #7771
    Пользователь
    Регистрация
    21.12.2011
    Адрес
    Северодвинск
    Сообщений
    438

    По умолчанию

    Согласен с вами полностью, но привычка как раз обратная, долгое время занимался программированием микропроцессоров, где такие штуки как раз не проходят.
    Но во многих контроллерах прописывается, что переменные передаются на выходы по окончании цикла, поэтому пробую не городить лишних локальных.

    Сложнее - это не быстрые таймеры, это автомат состояний на базе CASE, а после (вне его цикла) проверка на наличие ошибок арматуры (приводов, концевых выключателей). По результатам проверки некоторые выходные биты могут быть выключены (или включены).

  2. #7772

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Поподпробнее
    Удалял все старые таргет файлы и поставил новые.

  3. #7773

    По умолчанию

    Доброго времени суток, пкл160 овен, кдс стабильно подключался к нему, в один из дней на предприятии выгорел свитч, заменили, и перестал цепляться, пингуется стабильно большими пакетами, если его подключить напрямую к пк то подключается, а именно через свитч-нет, таргет переустанавливал, все 10 раз перепроверил, понять не могу, по идее пингуется, все должно быть ок. да и в принципе ничего не менялось в сети, есть какие-то мысли ребят?

  4. #7774

    По умолчанию

    Так бывает. Пинг есть, работы нет. Проверьте сетевые настройки, шлюзы, маски
    +79104444236
    С уважением,
    Лапшин Вячеслав

  5. #7775

    По умолчанию

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

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

    По умолчанию

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

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

  7. #7777

    По умолчанию Проверка связи с модулями по RS-485

    Здравствуйте!
    Помогите с реализацией проверки связи с модулями.
    6 модулей связь с которыми идет по rs-485 Modbus.
    В конфигурации задач это ТИП циклический.

    Проблема в том что TRUE и FALSE на одних и тех-же переменных "обрыв" принимают циклические значения. Я так понимаю это связано с о скоростью опроса модулей.

    Вложение 49176
    Это код программы
    Вложение 49177
    Если в конфигурации задач в пункте "по событию" ставлю глобальную переменную (она может быть хоть BOOL хоть FALSE на работу это не влияет), возвращаю в "циклический" все работает как надо.

    Подскажите что не так делаю или как это можно реализовать проще.
    Вложение 49178

  8. #7778
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Убирайте прямую адресацию входов\выходов.
    Переменные, объявленные в шапке программы, объявляйте сразу в конфигурации ПЛК.
    Они будут иметь статус глобальных.
    Вложение 49182

  9. #7779

    По умолчанию

    На самом деле они объявлены Глобальными в Global Variables.
    Это я здесь для примера выложил.

  10. #7780
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Должно быть только одно объявление. Предпочтительно в конфигурации.
    А в программах просто читать эти переменные.
    Если в конфигурации задач в пункте "по событию" ставлю глобальную переменную (она может быть хоть BOOL хоть FALSE на работу это не влияет), возвращаю в "циклический" все работает как надо.
    Программа RS485 будет выполняться по MVA_ERR_=TRUE. Которая нигде не назначается.
    Я бы сделал по другому.
    Выкинул задачи, т. е. все крутится в МайнТаске.
    ----
    Код:
    VAR ERR_RESET: bool; (*Сброс ошибок*)
    --------
    IF MVA_ERR<>0 THEN 
    CASE MVA_Adsress OF
    2: 
    Obriv2:=true;
    .
    .
    .
    n:
    ObrivN:=true;
    END_CASE;
    END_IF;
    
    IF ERR_RESET THEN 
    Obriv2:=false;
    .
    .
    .
    n:
    ObrivN:=false;
    END_IF;
    ---

    Ну как-то так. А вообще удобнее сделать булевый массив Obriv, и обращаться по номеру элемента массива. Так можно читать флаги в цикле FOR..DO. Программа получается проще и читабельнее.

Страница 778 из 1042 ПерваяПервая ... 278678728768776777778779780788828878 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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