Страница 576 из 1044 ПерваяПервая ... 76476526566574575576577578586626676 ... ПоследняяПоследняя
Показано с 5,751 по 5,760 из 10432

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

  1. #5751
    Участник
    Регистрация
    11.05.2016
    Адрес
    Азов
    Сообщений
    15

    По умолчанию

    Спасибо. С праздничком!

  2. #5752
    Участник
    Регистрация
    11.05.2016
    Адрес
    Азов
    Сообщений
    15

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    lecsa для начала открыть документацию на ПЛК, а то может на выход надо подавать не 4-20 а 0-1.....
    Наверное так?

    Аналоговое управление осуществляется по прямо-пропорциональному закону (т.е. 4 мА или 0 В соответствует входному сигналу, равному 0, а 20 мА или 10 В соответствует входному сигналу, равному 1).

  3. #5753
    Участник
    Регистрация
    11.05.2016
    Адрес
    Азов
    Сообщений
    15

    По умолчанию

    Приветствую. Это опять я со своими тупыми вопросами

    Все тот же ПЛК73м. Не могу понять как реализовать следующее, вернее реализовано все кроме 3го абзаца.
    Кратко: Уставка (sp1) температуры в ПИД. Изменение уставки с панели (Sub_menu - Float - sp1 - тип "конфигурационный") По умолчанию "0". При вводе кнопками уставки, ПЛК запоминает ее значение при выключении питания. Тут все нормально. И как я понимаю, в этом случае sp1 является глобальной,так как обьявлена в sub_menu, правильно?

    Далее, для познания не опознанного, сделал визуализацию, для более комфортного настраивания ПИД. Визуализация записывает переменные в плк в он-лайн режиме, допустим ту же уставку sp1, все отлично, но плк не запоминает ее при выключении.

    Проба обьявить sp1 VAR_GLOBAL_RETAIN_PERSISTENT увенчалась конфликтом с глобальной sp1 .
    Как правильно сделать. Я еще не силен чтоб самому додуматься. Если можно строчку кода или ссылку на пример или просто немного разжевать.

    Наверное правильно будет спросить так " Как записать значение переменной в меню конфигурации самого плк через тег визуализации но чтобы осталась возможность, задавать значение переменной через ручной ввод на панели плк, меню конфигурации"

    Файлик с проектом прилагаю.

  4. #5754
    Участник
    Регистрация
    11.05.2016
    Адрес
    Азов
    Сообщений
    15

    По умолчанию

    Все вопрос снимается. В конфигурацию через кодесис записать значение переменной НЕЛЬЗЯ.

    Конфигурационные пользовательские параметры – значение этих парамет-ров считывается из EEPROM при запуске контроллера. Конфигурационные пользова-тельские параметры доступны для редактирования с передней панели и для чте-ния / записи по сети (при условии установленных атрибутов).
    Введенные в ПО CoDeSys (в окне режима «Конфигурация ПЛК (PLC Configuration)») новые значения этих параметров не сохраняются в EEPROM и не до-ступны по сети RS.
    Введенные с передней панели ПЛК или по сети значения конфигурационных па-раметров сохраняются в EEPROM, и при выключении питания будут сохранены.

  5. #5755
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,658

    По умолчанию

    lecsa запишите по сети

  6. #5756
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от lecsa Посмотреть сообщение
    Все вопрос снимается. В конфигурацию через кодесис записать значение переменной НЕЛЬЗЯ.

    Конфигурационные пользовательские параметры – значение этих парамет-ров считывается из EEPROM при запуске контроллера. Конфигурационные пользова-тельские параметры доступны для редактирования с передней панели и для чте-ния / записи по сети (при условии установленных атрибутов).
    Введенные в ПО CoDeSys (в окне режима «Конфигурация ПЛК (PLC Configuration)») новые значения этих параметров не сохраняются в EEPROM и не до-ступны по сети RS.
    Введенные с передней панели ПЛК или по сети значения конфигурационных па-раметров сохраняются в EEPROM, и при выключении питания будут сохранены.
    здесь речь идет, НЕ о введенных в окне визуализации, а о тех случаях, когда вводятся значения вручную прямо в дерево ресурса конфигурация.
    А так, в программе запросто, только использовать нужно функцию "SAVE_PARAMETER" из библиотеки ARM7_specific.lib

    ЗЫ
    Пример есть на диске ПЛК
    Применение данной функции показано на примере ее вызова в составе
    программы, которая при отпускании нажатых кнопок Альт+стрелка вверх записывает
    значение параметра «Уставка 1», увеличенное на 1.
    Вложение 29798
    Код:
    PROGRAM PLC_PRG
    VAR
    	tm:TON;
    	fm:F_TRIG;
    	starting:BOOL:=FALSE;
    	param_ptr:POINTER TO parameter_descriptor;
    	param_adr: POINTER TO REAL;
    	param_adr2: POINTER TO ARRAY[0..15] OF BYTE;
    	temp:  REAL;
    	temp2: ARRAY [0..15] OF BYTE;
    END_VAR
    VAR CONSTANT
    	key:BYTE:=136;
    END_VAR
    IF NOT starting THEN (*То что делается при начальной загрузке контроллера*)
    	SetWorkScreenCount(1); (*Установим количество экранов = 1 *)
    	ClearScreen(0); (*Очистим экран*)
    	starting:=TRUE; (*Установим аттрибут, чтобы больше не входить в этот цикл*)
    	END_IF
    
    fm(clk:=kbrd=key); (*Если пользователь нажал Альт+стрелка вверх*)
    IF fm.Q THEN (*и отпустил, то будет выполнен этот цикл*)
    	param_ptr:=READ_BY_HASH(16#37B7,0); (*чтение дескриптора параметра*)
    	temp:=sp1+1.0; (*в переменную temp занесём значение уставки + 1*)
    	param_adr:=ADR(temp); (*в param_adr -- адрес temp*)
    	param_adr2:=param_adr; (*Сделаем так, чтобы переменные param_adr и param_adr2 ссылались на одно и то же место в памяти*)
    	temp2:=param_adr2^; (*в temp2 занесём результат, считанный по адресу param_adr2, то есть фактически в temp2 попадает значение из temp с учётом преобразования типов*)
    	param_ptr^.value:=temp2; (*значение переменной в param_ptr занесём temp2*)
    	SAVE_PARAMETER(param_ptr); (*запись параметра в память контроллера*)
    END_IF
    tm(in:=NOT tm.Q,  pt:=t#200ms); (*цикл индикации -- 200 мс*)
    IF tm.Q THEN (*цикл будет запущен каждые 200 мс*)
    	ShowReal(0,0,0,'%2.1f',sp1); (*отображаем значение уставки*)
    END_IF
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #5757
    Участник
    Регистрация
    11.05.2016
    Адрес
    Азов
    Сообщений
    15

    По умолчанию

    О, petera благодарю! Попробую вникнуть!

  8. #5758
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от lecsa Посмотреть сообщение
    О, petera благодарю! Попробую вникнуть!
    Смысл в том, что в окне визуализации нужно будет вводить значения не в конфигурационную переменную, а в промежуточную. Затем промежуточную переменную с помощью функции "SAVE_PARAMETER" записывать в конфигурационную переменную.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #5759

    По умолчанию

    Добрый вечер. Есть проблема. Нужно поднять ТРМ в кодесис на СFC. C cамим ТРМ проблем не возникло, но с гистерезисом никак не справлюсь. Подскажите как лучше это сделать.

  10. #5760

    По умолчанию

    Примеры смотрели на сайте?

Страница 576 из 1044 ПерваяПервая ... 76476526566574575576577578586626676 ... ПоследняяПоследняя

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

Ваши права

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