Через ОРС сервер
Вид для печати
Тогда вам потребуется добавить канал с триггером типа Передний фронт.
https://www.youtube.com/watch?v=-YsXmwY3t5s&t=186s
Обрисую суть проблемы. Имеется контроллер с собственным ПИД регулятором. Необходимо в ходе выполнения программы изменять значение уставки по определенному условию и передавать это значение в контроллер. Можно это как то реализовать по проще?
Здравствуйте!
В проекте стоит задача использовать контроллер в качестве Manager SNMP и Modbus TCP Server. IP-адреса устройств (SNMP агента и Modbus TCP клиента) пока неизвестны, но на всякий случай я хочу разделить их по разным сетям.
Планирую использовать ПЛК 210.
Подскажите пожалуйста, правильно ли я понимаю, что на данном контроллере несколько сетевых карт и возможно ли реализовать поставленную задачу?
Спасибо!
Никак не соображу, как сделать график зависимости температуры прямой воды котельной от температуры на улице по 4-5точкам в этом графике на CFC.
то есть чтоб условно было так:
Тнар: 10 Тпрям: 35
Тнар: 0 Тпрям: 45
Тнар: -10 Тпрям: 50
Тнар: -25 Тпрям: 70
Тнар: -35 Тпрям: 85
Между точками линейная зависимость.
Почему именно на CFC? Сделайте функцию на ST, это будет проще
Народ, столкнулся с тем что нужно как-то автоматизировать процесс размонтирования и после этого снять сигнал размонтирования, но в СПК1xx если я думаю размонтирование и не вытаскивая USB после размонтирование завершено накопителя снимаю Размонтирование, а затем извлекаю флешку, то после установки USB флеш повторно её не видит, думал статут Доне останется пока флешка не извлечена и за счёт него сыграть, но е всё так просто - сделал небольшой код
ton3(IN:= TargetVars.stDrives.xUsbMounted = FALSE AND TargetVars.stDrives.xUsbUnmountDone = TRUE, PT:= T#2M, Q=> , ET=> );
IF TargetVars.stDrives.xUsbMounted = FALSE AND TargetVars.stDrives.xUsbUnmountDone = TRUE AND ton3.Q THEN
TargetVars.stDrives.xUsbUnmount := FALSE;
END_IF
может кто подскажет более лучшего решения, вообще у меня так сигнал на таймер монтирование неактивно то есть лож фолс, а размонтирование завершено истина Тру, тогда включить таймер задержки на включения 2 минуты и после отсчёта ниже, система проверяет что монтирование равно false, а размонтирование завершено True, и тогда в посылку размонтирования посылать фолс что-бы она была не активна.
Основное:Код://Работа с SD и USB устройствами хранения архива----------
//Команда - Включить устройство Drives при запуске контроллера
IF NOT TargetVars.stDrives.xEnable THEN TargetVars.stDrives.xEnable:=TRUE; END_IF
//Бит статуса программы - Устройство SD смонтировано
B_OUT[12]:= TargetVars.stDrives.xSdMounted;
//Бит статуса программы - Устройство SD размонтировано
B_OUT[13]:= TargetVars.stDrives.xSdUnmountDone;
//Бит статуса программы - Устройство USB смонтировано
B_OUT[14]:= TargetVars.stDrives.xUsbMounted;
//Бит статуса программы - Устройство USB размонтировано
B_OUT[15]:= TargetVars.stDrives.xUsbUnmountDone;
//Команда - Размонтировать SD
IF B_INP[6]= TRUE OR B_OUT[13] THEN TargetVars.stDrives.xSdUnmount:= TRUE; ELSE TargetVars.stDrives.xSdUnmount:= FALSE; END_IF
//Сброс бита "Размонтировать SD"
B_INP[6]:= FALSE;
//Команда - Размонтировать USB
IF B_INP[7]= TRUE OR B_OUT[15] THEN TargetVars.stDrives.xUsbUnmount:= TRUE; ELSE TargetVars.stDrives.xUsbUnmount:= FALSE; END_IF
//Сброс бита "Размонтировать USB"
B_INP[7]:= FALSE;
//Работа с SD и USB устройствами хранения архива----------
И:Код://Бит статуса программы - Устройство SD размонтировано
B_OUT[13]:= TargetVars.stDrives.xSdUnmountDone;
//Бит статуса программы - Устройство USB размонтировано
B_OUT[15]:= TargetVars.stDrives.xUsbUnmountDone;
Принцип тот же, что и у вас, но таймер там не нужен...Код://Команда - Размонтировать SD
IF B_INP[6]= TRUE OR B_OUT[13] THEN TargetVars.stDrives.xSdUnmount:= TRUE; ELSE TargetVars.stDrives.xSdUnmount:= FALSE; END_IF
//Сброс бита "Размонтировать SD"
B_INP[6]:= FALSE;
//Команда - Размонтировать USB
IF B_INP[7]= TRUE OR B_OUT[15] THEN TargetVars.stDrives.xUsbUnmount:= TRUE; ELSE TargetVars.stDrives.xUsbUnmount:= FALSE; END_IF
//Сброс бита "Размонтировать USB"
B_INP[7]:= FALSE;
Здравствуйте, подскажите пожалуйста есть ли какие то видео материалы или методичка по настройке диспетчеризации по modbus RTU rs485 оборудования без использования шаблонов? Все что находил либо подключали оборудование Овен либо по TCP IP. Никак не получается опросить датчик. Пишет "Шина не запущена. Данные значения, возможно, не актуальны". Может я что то не так выбрал? Проект, и карту адресов датчика приложил
Так у вас проект пустой. В некоторых случаях кодесис если не видит в программе переменных остальные действия не производит. Попробуйте прописать какие либо модбас переменные на чтение в основной программе.
Добрый день подскажите как сбросить пользователей контроллера ПЛК210 которые были установлены из Codesys/Devise/Пользователи и группы ??
Вы имеете ввиду составить код программы с использованием переменных, которые привязаны к регистрам? Я пробовал так делать, не получается. Пробовал подключать с МК110 в одну сеть, так вот МК110 видит и обрабатывает, а датчик нет. Пробовал и датчики менять, без результата(
У вас какой порт подключен? Написано в программе RS485_2 , а физически стоит 1, то есть RS485_1
Кроме того каналы у вас не заполнены, вы должны добавить каналы с адресами и с функцией чтения и записи.
У вас стоит чтение 1 канала WORD, это 1 регистр, а длину вы поставили 5 регистров!!!!
Или делайте чтение 5 регистров по 1, либо объявите массив, и вставьте массив для чтения 5 регистров ( или больше).
То же самое и с записью, или 5 отдельных регистров или массив.
На скрине, чтение с использованием виртуального контроллера, как у вас (5 регистров) чтение массивом Vhod: ARRAY [0..4] OF WORD; Вложение 70985
Датчиком в примере выступает ПЛК слейв.
Если прочитали массив, то в программе надо присвоить переменные или просто использовать эти переменные ( в примере просто вывел их в программе)
Добрый день. Подскажите можно ли вывести алармы с ПЛК210 по OPC UA A&E ? Мне кажется я даже видео видел на ютубе но не могу найти))
Добрый день.
https://youtu.be/AQziugiL3nk?t=5198
"никакое устройство не отвечает на запрос поиска"
Не получается подключиться к ПЛК200 через КДС. Но в веб-морду заходит.
КДС соединяется с другими СПК.
Настройки сетевого интерфейса неверные были
Коллеги, подскажите, почему мой функциональный блок - РС триггер не работает? Делаю сигнализацию по температуре. День коту под хвост уже ушёл, идеи кончилисьВложение 71004Вложение 71005
Потому что вы зачем-то унаследовали библиотечный RS-триггер и добавили к нему входы и выходы, которые даже не используете в его реализации.
Просто объявите и вызывайте экземпляр RS-триггера из библиотеки - тогда проблем не будет.
https://youtu.be/mpPUknddQp0?si=yn_hNXJ9CmWTe5ms
Добрый день.
При загрузке проекта на другой ПК с целью доработки возникает ошибка: «Невозможно открыть библиотеку…(Причина: Библиотека Mx110 Assistant, 3.5.4.12 не установлена в системе)».
Где взять библиотеку Mx110 Assistant, 3.5.4.12? Проект создан в CODESYS 3.5.14.3.
Вложение 71017
Добрый день.
Установите этот пакет:
https://ftp.owen.ru/CoDeSys3/04_Libr...5.11.4.package
Она входит в его состав.
Добрый день.
Поясните, пожалуйста, следующее.
У канала Modbus Slave есть параметр триггер. Задавая работу «по переднему фронту», ПЛК через COM-порт обращается к Slave устройству только, соответственно, по изменению значения переменной, привязанной к триггеру. Если же параметр триггер задан как «цикл», то ПЛК все время перезаписывает в Slave устройство одно и тоже значение, тем самым занимая ресурс COM-порта. Я правильно понимаю?
И второй вопрос по работе с шаблонами модулей. Там такого параметра нет. И обращение к модулям идет циклически. Так или нет?
Спасибо. Понял.
Здравствуйте. Скинте пожалуйста код преобразования аналогового сигнала в шим, без библиотек. Может есть у кого самописный? Я его видел где то на ютубе и на просторах инета, но не записал к себе , думал не пригодится. Но теперь надо.
Ну на вскидку это можно реализовать так:
Берете 2 таймера, один будет отвечать за макс, второй на мин. Сумма работы таймеров, это один цикл шим, равный 100 процентному аналоговому сигналу. Ставьте преобразование аналогового сигнала в интеджер, далее в тайм. Соотношение таймеров - шим. Ну а как это в коде, надо смотреть, смотря какой язык.
Зачем два таймера когда есть .ET
Вопрос по поводу Тренда Овен, я не совсем понял, то есть будет сам готовый тренд и в компонентах ОвенТренд или Тренд стандартный, но именно библиотека для работы его уже ручками выбираться должна ?
Тренд в нашей библиотеке реализован как фрейм.
См. документацию и пример:
https://ftp.owen.ru/CoDeSys3/11_Docu...Tools_v3.0.pdf
https://ftp.owen.ru/CoDeSys3/21_Exam...projectarchive
а, то есть он уже готов, понял, спасибо, просто уточнил а то по срокам говорилась к концу года, вот я и не знал уже готов али нет.
Добрый день.
Выход xError компонента Modbus Slave COM Port при неудачном обращении к слэйву принимает значение TRUE. Сбросить его можно по входу xReset. Правильно?
И еще вопрос: чем отличается флаг ошибки в шаблонах модулей Мх110 от xError компонента Modbus Slave COM Port?