Если вам не трудно подскажите точнее где исходники.
Я пока не нашел.
Вид для печати
Нашел, спасибо.
Подскажите, какие библиотеки для CDS3.5 имеют ПИД-регулятор с автонастройкой коэффициентов?
Вложение 19286
Чего от меня хочет owennet3.1.2?
а что будет если RAMP_TIME равно 0 секунд?
ну, вопервых при включении плк эта переменная может иметь изначально нулевое значение, а оператор забудет внести какое нибудь значение, во вторых чтоб не исключать фб из кода я бы например подавал ноль и тогда вместо плавного перехода значение изменилось бы мгновенно
Подскажите пожалуйста под CD 3.5 есть библиотека для снятия показаний счетчиков Меркурий?
В 2.3 код открытый, там насколько помню два ФБ всего подправить придется, которые непосредственно используют SysLibCom. Все остальное должно работоспособно без изменений.
Добрый день, Коллеги,
Я начал писать на CoDeSys для СПК207 и выяснил, что библиотка OSCAT Building на СПК не работает. Техподдержка говорит, что это из-за отсутствия поддержки в СПК Persistent-переменных. Действительно ли всё так плохо? Или может быть кто-то нашёл способ заставить их работать вместе?
Спасибо.
Связь с модулями ADAM-4000 по протоколу DCON возможно в codesys 3.5 реализовать?
Ручками через SysLibCom можно.
Доброго времени суток! Подскажите если кто знает ,как заполучить "dig_fltr" из библиотеки pid_regulators в CDS3.5?
Добрый вечер!
Не могу разобраться с бибкой modbus master, есть моменты, которые я не понимаю. В описании к библиотеке написано следующее: "в PLC Configuration должны быть подключены библиотеки SisLibCom, Modbus, ComService.", но я CDS 3.5 нет библиотеки SisLibCom, а есть SysCom. Я решил, что это опечатка и добавил SysCom.
Соответственно
у меня изменилось наКод:Settings:COMSETTINGS;(* настройки последовательного порта *)
com_num: PORTS:=0; (*0 - RS-485, 1 - RS-232*)
и в программе:Код:Settings :COM_Settings; (* настройки последовательного порта *)
com_num :COM_Ports:=SYS_COMPORT2; (*SYS_COMPORT2 - COM1/RS-485, SYS_COMPORT3 - COM2/RS-232*)
Изменилось наКод:IF port_opened=0 THEN
Settings.Port:=com_num; (*номер COM-порта*)
Settings.dwBaudRate:=115200; (*скорость*)
Settings.byParity:=0;
Settings.dwTimeout:=0;
Settings.byStopBits:=0;
Settings.dwBufferSize:=0;
Settings.dwScan:=0;
END_IF
COM_SERVICE1(Enable:=(port_opened=0) , Settings:=Settings , Task:=OPEN_TSK );
(*Если COM-порт открыт, то переходим к приему и передачи данных *)
IF COM_SERVICE1.ready THEN
port_opened:=2;
END_IF
Затем я начинаю пытаться опрашивать устройство:Код:IF port_opened=0 THEN
Settings.sPort:=com_num; (*номер COM-порта*)
Settings.ulBaudrate:=SYS_BR_115200; (*скорость*)
Settings.byParity:=SYS_NOPARITY;
Settings.ulTimeout:=SYS_NOWAIT;
Settings.byStopBits:=SYS_ONESTOPBIT;
Settings.ulBufferSize:=0;
END_IF
com_serv(Enable:=(port_opened=0) , Settings:=Settings , Task:=OPEN_TSK );
(*Если COM-порт открыт, то переходим к приему и передачи данных *)
IF com_serv.ready THEN
port_opened:=2;
END_IF
При этом ByteCnt всегда равен 17, но size_br равен 4 и in_bits равен одному и тому же числу, сколько бы регистров я не опрашивал, хоть 1, хоть 5,10. С учётом того, что постоянно проскакивает ошибка err=255, я делаю вывод, что связи нет и пробую COM_Ports равным SYS_COMPORT1, SYS_COMPORT3, SYS_COMPORT4. Но результат в итоге один и тот же. Что я делаю не так?Код:IF port_opened=2 THEN (*Удачно проинициализировали*)
blink_read_pr(in:= port_opened=2, t_on:= T#500MS, t_off:= T#10MS, out=> );
get2_modbus(
Enable:= (blink_read_pr.out AND err=0),
Mode:= MB_ASCII,
DevAddr:= 1,
FirstAddr:= 512,
Quantity:= 46,
ComHandle:= Settings.sPort,
TimeOut:= TimeOut,
Buffer:= buffer,
Complete=> cmpl,
Exception=> err,
ByteCnt=> DataSize);
(*если установлен признак завершения операции, то *)
IF cmpl THEN
// IF err=0 THEN (*Если нет ошибок, то получаем данные из буфера типа INT*)
pPR200rd:=ADR(buffer);
buf_pr_rd:= pPR200rd^; //:=buf_pr_rd;
size_br:=SIZEOF(pPR200rd);
in_bits:=pPR200rd^.pr_bits;
in_pr_comm_test:=pPR200rd^.pr_comm_test;
END_IF
END_IF
P.S. забыл добавить, что через конфигурацию данные получаю, т.е. связь между устройствами есть.
В общем получилось наладить связь благодаря примеру из этого поста http://www.owen.ru/forum/showthread....l=1#post143771. RV9WFJ спасибо за работающий пример.
Остались некоторые непонятные мне моменты:
1. Не могу прочитать более 12 регистров (с любым таймаутом), причем, что характерно через конфигурацию тоже. С чем это может быть связано?
2. ByteCnt прыгает со значений 24 в 29. Откуда берутся 3 лишних байта?
У овна некоторые модули такие как МУ110-8И не поддерживают передачу большого кол-ва регистров за раз. Если они есть то обновлять их прошивку. Если их нет копать в другом месте, у меня 24 регистра за раз качает как сейчас помню.
У меня ПР200, задам вопрос в соответствующей ветке
Здравствуйте! Подскажите пожалуйста: устанавливаю Codesys SP6 Patch4 на двух разных машинах. На одной после установки библиотек все нормально а на второй у большинства библиотек выдаются ошибки, что они не установлены в системе
Вложение 22005
Пробовал переустанавливать библиотеки и Codesys, но результат данные процедуры не дали
Скажите пожалуйста, с чем это может быть связано и как решить этот вопрос? Спасибо!
Добрый день! В СПК107 использую библиотеку Modbus TCP Slave ver. 1.0.0.6, которая поддерживает передачу файлов. Возникает некоторое непонимание с чтением файла. На вход Filename я указываю путь и имя одного файла. С opc-сервера пытаюсь считать два файла с номерами файлов 0 и 1 по аналогии работы с ПЛК1хх (в котором файлы добавляю в конфигурации). Но opc читает один и тот же файл, хотя по идее бы не должен. То есть насколько я понял Modbus TCP Slave в СПК не понимает, что он должен отдавать определенный файл (по запросу номера файла), а просто отвечает на запрос функции 0x14 и выдает файл, указанный на входе в ФБ, независимо от номера файла. Видимо библиотека не присваивает номера файлов на входе в ФБ. Соответственно вопрос, как можно решить эту проблему?
Добрый день.
Железо СПК 207 и МДВВ
Не получается прочитать регистры 16#32 и 16#33 одним вызовом FB.
Использую библиотеку GetModbus04.
При вызове FB с параметрами
...
FirstAddr:=16#33
Quantity:=1
...
Получаю Exception=0 все ОК Читается.
При вызове FB с параметрами
...
FirstAddr:=16#32
Quantity:=1
...
Получаю Exception=0 все ОК Читается.
Когда вызываю FB с параметрами
...
FirstAddr:=16#32
Quantity:=2
...
Получаю Exception<>0 не читается!
Вопросы
1 Возможно ли прочитать 16#32 и 16#33 одним вызовом FB GetModbus04.
2 Где можно подробно прочитать о содержимом Buffer FB GetModbus04.
Спасибо
МДВВ не поддерживает множественное чтение этих регистров.
Спасибо большое!
Насчет Buffer FB GetModbus04 не подскажете где почитать?
Что конкретно интересует?
Получаешь (массив) Buffer на выходе FB GetModbus04 а дальше разбираю его содержимое по примерам. Но примеров для МДВВ нет. Приходится изучать практически.
Но ведь его содержимое где то описано. Номер устройства слейва, ..... регистр из modbus.. ?
Естественно, описаны в описании библиотеки.
Для FB чтения - в буфере прочитанные регистры с 0 индекса в массиве. Первый регистр - который указали в FirstAddr. Число регистров - ByteCnt/2
Нет, технически невозможно.Цитата:
Насколько я понимаю, работать с 2 ФБ и разными файлами на разных портах технически не возможно?
Как вариант: несколько входов для файлов или при нескольких ФБ, внутри него идет переприсваивание номера, в зависимости от номера ФБ (хотя это смутно себе представляю)Цитата:
1) Если данный функционал востребован, как вы бы видели входные параметры ФБ? (Файлы)
В разные файлы пишется архив разных событий, которые хотелось бы считывать opc-серверомЦитата:
2) Все же - технически зачем вот это?
Поправил. Не тестировал. Может подойдет
http://owen.ru/forum/attachment.php?...1&d=1460120053
Спасибо, посмотрю-потестирую
Просто супер, работает как нужно. Спасибо большое
Добрый день.
Подскажите пожалуйста, есть ли модуль PSI_MOIS для Codesys v3.5 ,
или нужно самому забивать психрометрическую таблицу и писать модуль на ST
В Codesys v2 PSI_MOIS есть. Как его можно скопировать в V3.5 Спасибо.
Вы наверно про PSI_MOIST. Если да, то он на Си написан, поэтому Овен и не хочет эту библиотеку в CS3.5 переносить. И кодом делиться тоже не хочет.
Добрый день!
Есть библиотека PID регулятора с релейными выходами (больше-меньше) для Codesys 3,5?
Добрый день. Последний раз работал с СПК год-два назад. Сейчас появилась необходимость залезть в старый проект. Поставил кодезис, таргеты, репозитории и библиотеки от сюда: http://www.owen.ru/catalog/codesys_v3/opisanie
Но при открытии проекта вываливает кучу ошибок с библиотеками:
Вложение 27835
Подскажите, пожалуйста, как исправить ситуацию?
Подскажите пожалуйста, как посмотреть код объектов библиотек?