Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: ПЛК73 не переключаются светодиоды

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

    По умолчанию ПЛК73 не переключаются светодиоды

    Вроде бы программа на ПЛК73 работает, но вот почему-то
    иногда светодиоды после засылки соответствующего кода
    сохраняют своё прежнее свечение.
    Чего только не делал, и просто тупо
    N_sc:=GetWorkScreen();
    Leds:=SHL(BYTE#1,N_sc);

    или так
    N_sc:=GetWorkScreen();
    on_lads:=SHL(BYTE#1,N_sc);
    IF(on_lads<>on_lads_old)THEN Leds:=on_lads;END_IF;
    on_lads_old:=on_lads;

    Причём номер экрана N_sc и переменнаяon_lads исправно меняются, а вот светодиоды
    только в процентах 90% случаев
    Иногда бывает всё нормально, нормально .. а потом снова барахлит...
    Последний раз редактировалось RomAl; 14.07.2015 в 14:06.

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Мудрите зачем?
    Leds:=SHL(BYTE#1,N_sc);

    Я не понимаю этого действия.
    Почему проще не написать, простым присвоением?
    Не вижу типа переменных в объявлениях.
    Похоже идет переполнение.

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

    По умолчанию

    Так должно работать:
    VAR
    qty_screen: DINT;
    N_ek: BYTE:=1;
    END_VAR

    qty_screen:=GetWorkScreen(); (*вывод в светодиоды номера текущего экрана*)
    Svit:=SHL(N_ek,qty_screen);

    (проверить не могу)

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

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    Так должно работать:
    VAR
    qty_screen: DINT;
    N_ek: BYTE:=1;
    END_VAR

    qty_screen:=GetWorkScreen(); (*вывод в светодиоды номера текущего экрана*)
    Svit:=SHL(N_ek,qty_screen);

    (проверить не могу)
    не нашёл никакого отличия от моего кода..
    только у вас имя регистра в конфигурации Svit, а у меня Leds
    у вас для сдвига переменная= 1, а у меня константа типа байт=1
    Но дело-то в том, повторяюсь, что я вижу в отладчике, что значение которое я заношу в регистр правильно,
    а вот светодиоды не зажигается в соответствии с этим числом..
    но потом при следующем измененим как правило "исправляется" и
    сново правильно показывает
    Последний раз редактировалось RomAl; 14.07.2015 в 14:05.

  5. #5
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Ну, так проверь.
    Я отличие описал.
    Также можно добавить
    перед вычислением строки
    -перевод DINT в Byte.
    -N_ek:=1,
    Это не обязательно, но в случае сбоя будет поправлять в каждом цикле.
    Самый надежный способ- это через casse прямое присвоение.
    но не так красиво и громоздко.

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

    По умолчанию

    Да всё в коде у меня правильно.. это шаманство уже...
    Да наверно самого главного не написал:
    вся эта фигня появляется когда отключаю online
    в кодесис, выключаю_включаю питание. Программа
    записана- это я вижу по номеру версии, а ведёт
    себя странно..

  7. #7
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    в первой строке программы напишите
    N_ek:=1,

  8. #8
    Пользователь
    Регистрация
    09.09.2011
    Адрес
    Ростовская обл.
    Сообщений
    138

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    в первой строке программы напишите
    N_ek:=1,
    Достаточно, от вас я советов больше не хочу- у меня и своих тараканов полно..

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

    По умолчанию

    Обнаружил новое "чудо"..
    После того как сходишь в конфигурацию
    и просто посмотришь параметр "Сос.светодиодов"
    всё налаживается и ни одной ошибки не наблюдается, жал раз 50 на клавиши..
    Но только до следующего отключения контроллера от сети, а там всё снова..

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

    По умолчанию

    у меня ПЛК 73 еще с предпродажной партии работают.
    И примеры работы с ними с моих выкладок написаны.
    проблемы в вашей программе.
    ваше дело. делайте что хотите.
    проверил:
    http://youtu.be/At46iQZpoHE.
    Пожалуйста не нужно потом говорить, что это ПЛК Овен плохой.
    Учиться нужно было лучше.
    Последний раз редактировалось lara197a; 14.07.2015 в 20:46.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. ПЛК73-светодиоды
    от Ozzz в разделе ПЛК63/73
    Ответов: 29
    Последнее сообщение: 22.04.2022, 13:11
  2. Не работает PID - регулятор ПЛК73.
    от mikola_wow в разделе ПЛК63/73
    Ответов: 4
    Последнее сообщение: 27.01.2016, 21:04
  3. Светодиоды ПЛК73
    от goranach в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 13.01.2015, 22:03
  4. ПЛК73 и не работающий выход 0-10в
    от приборист в разделе ПЛК63/73
    Ответов: 5
    Последнее сообщение: 21.01.2014, 16:02
  5. Ответов: 5
    Последнее сообщение: 06.07.2011, 10:11

Ваши права

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