Да, правильно, если его по-другому подключить, то он просто ошибку выдает. В общем проблема решилась, 262 - это соответствует температуре 26,2 'C.
Вид для печати
Нужно подключить библиотеку pruAccessLib.lib. Библиотеку берут тут: http://www.owen.ru/forum/showthread....l=1#post180471
Ещё вопрос)
Правильно я понимаю, что PULSES_GENERATED - это информация о количестве сгенерированных сигналов?
Разьясните поподробнее следующую информацию "...При использовании PRU0.prg/PRU1.prg напрямую работать с fast output 3, 4 не получится. При использовании PRU1.prg выходы 1 и 2 будут доступны только через программу ШД..."
Необходимо загрузить обе PRU программы поочереди? Кроме этого с PRU программами надо что то делать?
Да. Её можно использовать, например, для отладки.
Разъясняю:
1) Если нужно управлять одним ШД, то загружаем только PRU0.prg
2) Если нужно управлять двумя ШД, то загружать нужно и PRU0.prg и PRU1.prg в любом порядке (всё равно нужно сначала перезагрузить ПЛК)
Загрузить prg файлы по необходимости и перезагрузить ПЛК. Загружать достаточно 1 раз. Больше делать ничего не нужно.
И ещё. Вопросы по PRU/ШД и т.п. лучше задавать в темах Программирование ПЛК110 М02 для задач реального времени или Автодополнение при программировании для ПЛК
Добрый день!Подскажите, пожалуйста! Для успешного обучения на Интернет-курсах «Программирование ОВЕН ПЛК1хх в среде CODESYS2.3» необходим только компьютер с установленной средой CODESYS2.3, или нужен еще реальный ПЛК?
Здравствуйте. Такой вопрос как активировать растровый рисунок при true и при falseчтоб он был не видим в визуализации кодесис 2 ? Спасибо.
Очередной вопрос. Подключил инкрементный энкодер Autonics E40S8-5000-3-T-24 к быстрым входам ПЛК110-30. Пример по этой ссылке у меня не работает https://www.youtube.com/watch?v=WfIRyDNOf3k . В обработчике прерывания на выходе функции sysPortIn все время значение 165. Проект прикрепляю.
День добрый. Подскажите каким еще способом можно подключить ПЛК73 к компьютеру оператора? Сейчас работает через прошивочный rs-232 (debug). А да забыл в нем стоит ПИ73-5 и один RS485 используется для обмена с MB110 и ПКП1.
В свойствах элемента, есть группа "переменные", там есть параметр "невидимость". Работает наоборот относительно Вашего требования. Если необходимо именно, чтобы при значении "false", рисунок не отображался, то инвертируйте значение вашей переменной непосредственно в строке ввода параметра "невидимость" с помощью оператора "Not". Например, NOT(PLC_PRG.var1).
А как правильно присваивать адрес плк на разных интерфейсах? Можно один и тот же или они должны отличаться?
Евгений спасибо. Сделал как вы сказали получилось.сначала делал так в переменные ставил в графе невидимость PLC_PRG.var1 а на управляющем выходе ставил инверсию вроде в визуализации работало нормально а в программе когда изображение неактивно выход висел активным.:) Спасибо.
Доброго всем дня! Помощи прошу. Как из ПЛК100 передать переменную типа STRING в ОРС сервер по RS485 (как её (эту переменную) прописать в "конфигурации ПЛК"). Спасибо!
например, так:
Вложение 27794
Спасибо! дошло!
Как загружать изменения в проект, чтобы не обнулились Retain-переменные, к примеру, счетчик моточасов? Если загружать только online-изменения, то при выключении питания изменения не сохраняются, в иных случаях обнуляются Retain.
Если есть способ при заливке не трогать ретейн, то я тоже хотел бы знать. Если нет, то вместо ретейн используй запись в файл (лучше на флешке). При перезаливке проекта файлы не трогаются.
Здравствуйте , подскажите пожалуйста как написать программу для ПЛК73 , к которому подключён датчик ДТС125л в комплекте с НПТ по сигналу 4..20 . Программа должна выводить значение температуры на ЖКИ
Здравствуйте! Выявилась непонятная для меня проблема. Есть программа, в которой опрашиваются модули ввода/вывода:
Выделенным копирую полученные в ФБ WORD в булевые структуры:Код:CASE casestate OF
0:
IF enMU16R_1 THEN
MU16R_1(
enable:= TRUE, setMask:= bitMaskMU16R_1, devAdress:= addrMU16R_1, portNum:= portNum, timeout:= toutMU16R_1, max_try_count:= mtcMU16R_1, timerOff:= tOffMU16R_1,
Done=> ,
Data=> ,
ErrSet=> errCommModuls.MU16R_1_set,
ErrGet=> errCommModuls.MU16R_1_get,
CodeErrSet=> ,
CodeErrGet=> ,
CountErr=> countErrMU16R_1);
IF MU16R_1.Done THEN SysMemCpy(ADR(dataMU16R_1), ADR(MU16R_1.Data),2); MU16R_1( enable:= FALSE); casestate := 1; END_IF;
ELSE casestate := 1; MU16R_1( enable:= FALSE);
END_IF;
1:
IF enMV16DN_1 THEN
MV16DN_1(
enable:= TRUE, devAdress:= addrMV16DN_1, portNum:= portNum, timeout:= toutMV16DN_1, max_try_count:= mtcMV16DN_1, timerOff:= tOffMV16DN_1,
Done=> ,
Data=> ,
Err=> errCommModuls.MV16DN_1_get,
CodeErr=>,
CountErr=> countErrMV16DN_1);
IF MV16DN_1.Done THEN
IF NOT MV16DN_1.Err THEN
SysMemCpy(ADR(DataMV16DN_1), ADR(MV16DN_1.Data),2);
END_IF;
MV16DN_1(enable:= FALSE); casestate := 2;
END_IF;
ELSE casestate := 2;
END_IF;
МУ16Р:
МВ16ДН:
Данные структуры объявлены в глобальных переменных (возможно это не правильно):
Так вот, маска считанных выходов из модуля МУ16Р копируется нормально, а маска входов с МВ16ДН не копируется - два первых входа в ошибке висят, остальные по нулям. Не могу понять что не так, в структуру больше нигде ничего не пишется, только читается.Код:dataMV16DN_1 :dataMV16; (* структура данных с модуля дискретного ввода МВ110-16ДН *)
dataMU16R_1 :dataMU16R; (* структура данных модуля релейногых выходов МВ110-16Р (аналогична битовой маске) *)
Также есть структура:
в которую в другой программе пишутся данные:Код:TYPE sendHMI :
STRUCT
mu16rHMI :WORD :=0; (* состояние выходов модуля дискр. вывода МУ110-16Р для HMI *) (* 7 *)
md16dnHMI :WORD :=0; (* состояние входов модуля дискр. ввода МВ110-16ДН для HMI *) (* 8 *)
END_STRUCT
END_TYPE
где DataMU16R_1 и DataMV16DN_1 - те же структуры из глобальных переменных, и получаю HMIsend1.mu16rHMI и HMIsend1.md16dnHMI равными 0. Сломал голову, причину не выяснил. Что здесь не так?Код:SysMemCpy(ADR(HMIsend1.mu16rHMI),ADR(DataMU16R_1),2);
SysMemCpy(ADR(HMIsend1.md16dnHMI),ADR(DataMV16DN_1),2);
Здравствуйте. Вопрос такой есть удаленный объект на котором стоит плк и другой объект где стоит такой же плк. Может плк второго объекта управлять первым и наоборот. как реалезовать это?если есть пример буду очень благодарен.
evgens4 может, поднять каналы связи между объектами .
При очередной заливке программы в ПЛК63-Р-М - связь зависла - в правом нижнем углу появилась буковка Э. Связь с контроллером потеряна... Посоветуйте, что нужно сделать в такой ситуации. Спасибо!
Прочитайте руководство по эксплуатации, там есть возможность запустить ПЛК без запуска программы.
Сочетания клавиш при включении питания контроллера ПУСК/СТОП+ВЫХОД+ВВОД=Перезагрузка прибора, а также АЛЬТ+ВЫХОД+ВВОД=Отладочный режим - не дают результата, также в правом нижнем углу буковка Э. Может еще чего посоветуйте...Спасибо!
В дополнение к основным функция кнопок в контроллере имеются еще дополнительные сочетания кнопок:
1) Для того, чтобы пользовательская программа не запускалась, следует,
удерживая кнопку (ПУСК/СТОП) , включить питание контроллера. Это может понадобиться, например, для того, чтобы программа не занимала COM-порт (подробнее см. п. 3.5.1) или при неправильном функционировании прибора, когда выполнение кода приводит к постоянной перезагрузке прибора.
Тоже пробовали ?
При таком запуске вместо буквы Э дисплей ПЛК выдает верхний ряд "закрашенных" индикаторов. Программа в ПЛК не загружается - Ошибка связи #0...
Посмотрите возможность перепрошить ПЛК прошивкой. Должен быть переходник в коробке и расписана процедура.
Установил прошивку v2.12 - следую согласно пунктам мастера прошивки, который мне выдает (после выбора COM-порта) сперва: "Не установлена связь между компьютером и прибором по протоколу ОВЕН" и предлагает "Нажмите кнопку "Вперед", если известно, что у прибора сбой программы, и Мастер прошивки не может связаться по протоколу ОВЕН", и в самом конце пишет "Нет связи с USART".
Многократно перегружал комп, использовал 3 разных адаптера USB-СOM, 2 кабеля КС1, 2 платы DBGU...может винду (7) сменить... Не знаю уже куда смотреть... Может еще что-то нужно сделать? Посоветуйте. Спасибо!
Тогда пожалуй в сервис...
Добрый вечер!
1) Можно в CoDeSys V2.3 на языке LD снимать значение с TON или CTU то есть то значение которое находится на выходе CV и ET (отработанное) сделать переименую?
2) И как можно на языке LD использовать арифметические операторы, операторы сравнения?
Заранее благодарен.
Panalexfix так WORD_TO_BYTE, при необходимости сдвиньте при помощи SHL или SHR