Страница 115 из 709 ПерваяПервая ... 1565105113114115116117125165215615 ... ПоследняяПоследняя
Показано с 1,141 по 1,150 из 7087

Тема: CODESYS V3.5. Вопросы и ответы

  1. #1141
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,612

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    В Менеджере библиотек есть кнопка Скачать недостающие библиотеки - если проблема в этом. Приведите сообщения об ошибках из CODESYS все-таки.
    Это где там такая кнопка? Сообщения в предыдущем сообщении.

  2. #1142

  3. #1143
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,612

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    В вашем случае стоит переустановить CODESYS.
    Не помогает. Может сначала надо было КДС3.5, а уже потом КДС3.5SP5?

  4. #1144
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,612

    По умолчанию

    Да, сначала установил КДС3.5SP5 (Думал без него обойдётся), а потом переустановил КДС3.5SP5P5.

  5. #1145

    По умолчанию

    Цитата Сообщение от energvk Посмотреть сообщение
    В InputConfiguration работают все функции,кроме OnDialogClosed. Евгений Кислов, прошу Вашей помощи. В чём ошибка? Не могу разобраться. Для проекта важно выполнять запись команды сразу после изменения переменной.
    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    С OnDialogClosed связан один баг - соответствующий метод не работает во вложенных диалогах. Соответственно, как раз ваша ситуация - вы в своем диалоговом окне вызываете стандартный диалог ввода. Исправили в SP8.
    Цитата Сообщение от energvk Посмотреть сообщение
    Вот оно что! Спасибо за информацию. Придется делать костыли
    Что-то колтыли тоже не работают:

    05.PNG

    При onMouseDown у меня записывается нужный аргумент и должна переключаться в TRUE переменная PLC_PRG.chgFreq[i] (для проверки её также в ST-коде присваиваю, по причине ниже).
    Далее в программе работает следующий код:
    Код:
    // обрабатываем изменение частоты насосов
    	FOR i := 1 TO 5 DO
    		IF chgFreq[i] THEN
    			Cmd := INT_TO_WORD(i)+4; Arg1 := 6; chgFreq[i] := FALSE;
    		END_IF;
    	END_FOR;
    И опять же у меня при нажатии на ОК переменная Arg2 записывается, а chgFreq[i] переходит в TRUE только при следующем открытии диалога ввода.
    Боюсь предположить, что
    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    С OnDialogClosed связан один баг - соответствующий метод не работает во вложенных диалогах. Соответственно, как раз ваша ситуация - вы в своем диалоговом окне вызываете стандартный диалог ввода. Исправили в SP8.
    также относиться и к "Переключить переменную" и ST-коду. Теплится надежда, что у меня что-то не так, иначе возникает серьёзная проблема - как выполнить нужную мне последовательность без глобальной переделки диалогов.

  6. #1146
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,165

    По умолчанию

    У меня, в целом, подобная конструкция работает. Правда, есть один достаточно специфичный момент - chgFreq[i] переходит в TRUE сразу после открытия диалога ввода.

    Т.е., полагаю, вы для себя это представляете в стиле:

    Код:
    открытие диалога ввода-->ввод нового значения-->нажатие на ОК-->взведение флага-->если флаг взведен, то выполняем код
    А CODESYS это воспринимает буквально:

    Код:
    открытие диалога ввода-->взведение флага (независимо, что там в диалоге ввода, пусть он просто даже завис открытым)-->если флаг взведен, то выполняем код
    Вообще, использование подобного кода на кнопках не кажется мне хорошей идеей. По-моему, лучше в программе по флагу производить сравнение введенного значения с предыдущим (если это действительно необходимо).

  7. #1147

    По умолчанию

    У меня, в целом, подобная конструкция работает. Правда, есть один достаточно специфичный момент - chgFreq[i] переходит в TRUE сразу после открытия диалога ввода.
    У меня тоже работала. Правда запись значения команды выполнялась после закрытия диалога. А вот когда уже начал использовать фреймы - начались эти проблемы.

    Т.е., полагаю, вы для себя это представляете в стиле:
    Код:
    открытие диалога ввода-->ввод нового значения-->нажатие на ОК-->взведение флага-->если флаг взведен, то выполняем код
    Именно так мне и нужно, но при использовании фреймов это не работает.

    Вообще, использование подобного кода на кнопках не кажется мне хорошей идеей. По-моему, лучше в программе по флагу производить сравнение введенного значения с предыдущим (если это действительно необходимо).
    Изначально раньше так и было: при включении панели или восстановлении связи с ПЛК считывались значения, потом уже при изменении писались обратно в ПЛК. Позже для упрощения кода и т.п. перешел на команды с аргументами, что тоже хорошо работало. Все проблемы появились, когда начал применять фреймы, т.е. появились "вложенные" диалоги. В итоге конечно удобнее, когда много однотипных элементов, и проще для корректировки, но теперь нет возможности получить на выходе
    Код:
    открытие диалога ввода-->ввод нового значения-->нажатие на ОК-->выполняем код
    То есть нужно опять всё переделывать

  8. #1148
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    Во вкладке Device присутствует следующий параметр Опции цикла шины - Задачи цикла шины.. Что это за параметр? На что влияет?

  9. #1149
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,165

    По умолчанию

    Определяет частоту вызова modbus-компонентов. В большинстве случаев лучше не трогать ни эту (общую), ни аналогичные индивидуальные для компонентов настройки - при значениях по умолчанию обмен привязывается к задаче с наименьшим временем цикла. Поскольку обычно в проекте есть MainTask с циклом 10-20 мс, то проблем не возникает.

  10. #1150
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    69

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Определяет частоту вызова modbus-компонентов. В большинстве случаев лучше не трогать ни эту (общую), ни аналогичные индивидуальные для компонентов настройки - при значениях по умолчанию обмен привязывается к задаче с наименьшим временем цикла. Поскольку обычно в проекте есть MainTask с циклом 10-20 мс, то проблем не возникает.
    Интересуюсь потому что не могу обмен запустить на библиотеке Modbus:http://www.owen.ru/forum/showthread....l=1#post227122. Подумал что может быть в этом параметре дело.

Страница 115 из 709 ПерваяПервая ... 1565105113114115116117125165215615 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3197
    Последнее сообщение: 23.04.2024, 13:45
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 822
    Последнее сообщение: 20.11.2023, 17:48
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 245
    Последнее сообщение: 02.10.2022, 11:34
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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