PDA

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



Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 [43] 44 45 46 47 48

МихаилГл
20.05.2024, 11:52
Спасибо 75867но не помогло

Возможно домашняя версия очень урезана...

EFrol
20.05.2024, 11:55
Спасибо 75867но не помогло

Слабо надеюсь, что может "Запуск от имени администратора" прокатит.

Potoks
20.05.2024, 13:35
На будущее ВСЕМ ответ сервисного инженера :
--------------------------------------------
Драйвера для Win11, к сожалению, нет. Только до Win10 включительно.

С Уважением,

Пинэко-Скворцов Александр Алексеевич

Инженер технической поддержки ОВЕН

Тел:8-800-775-63-83 (бесплатно)

e-mail: support@owen.ru

------------------------------------------

EFrol
20.05.2024, 14:00
Ставлю WinXP под VirtualBox. В настройка гостевой включаю фильтр USB для чипа ?? (питание панели включить, кабель воткнуть).
Вроде работает.

FPavel
20.05.2024, 21:15
В Win7 Pro был штатный режим ModeXP - в формате обновлений устанавливалась виртуальная машина с WinXP из которой возможен проброс портов.
Может быть и для Win11 такое возможно.

Помню, что где-то видел, как вместо установки драйвера для ПР200 просто указывалось, что драйвер совпадает с драйвером для AC-4. Или наоборот, но идея в том, чтобы установить драйвер от производителя микросхемы USB, а после подключения и обнаружения панели СП307 указать, что драйвер для неё совпадает с драйвером для микросхемы.
Название микросхемы не знаю, но может кто-то подскажет.

atomo2
21.05.2024, 08:12
Добрый день , подскажите пожалуйста , никак не получается прописать СТГ-3 в мсд. Удалось прописать только 9 штук, 7 штук с одного БПС с адресом 3 и 2 штуки с 2го БПС с адресом 4.
Вот к примеру беру 10 канал указываю адрес, указываю регистр и все ничего нет.
Нужно прописать еще 4 штуки, но не получается, что только не пробовал.7589275893

МихаилГл
21.05.2024, 08:29
Добрый день , подскажите пожалуйста , никак не получается прописать СТГ-3 в мсд. Удалось прописать только 9 штук, 7 штук с одного БПС с адресом 3 и 2 штуки с 2го БПС с адресом 4.
Вот к примеру беру 10 канал указываю адрес, указываю регистр и все ничего нет.
Нужно прописать еще 4 штуки, но не получается, что только не пробовал.7589275893

Вам на форум аналитприбора. Либо хоть схему нарисуйте как вы что подключили, а то сумбур какой-то...

capzap
21.05.2024, 09:34
Добрый день , подскажите пожалуйста , никак не получается прописать СТГ-3 в мсд. Удалось прописать только 9 штук, 7 штук с одного БПС с адресом 3 и 2 штуки с 2го БПС с адресом 4.
Вот к примеру беру 10 канал указываю адрес, указываю регистр и все ничего нет.
Нужно прописать еще 4 штуки, но не получается, что только не пробовал.7589275893

возможно нужно группы упорядочить

Лосев Олег
22.05.2024, 20:36
Добрый вечер.
задача: есть блок управления исполняющими устройствами по показаниям скажем температуры и уставки температуры.
Требуется: что бы не писать длиннющую программу с несколькими блоками и для каждого блока свою уставку, я написал пробу с блоком MUX но что то мне кажется сыровато. Может кто подскажет лучшее решение.

Dimensy
22.05.2024, 21:40
Добрый вечер.
задача: есть блок управления исполняющими устройствами по показаниям скажем температуры и уставки температуры.
Требуется: что бы не писать длиннющую программу с несколькими блоками и для каждого блока свою уставку, я написал пробу с блоком MUX но что то мне кажется сыровато. Может кто подскажет лучшее решение.

Вы бы, хоть, какие-нибудь комментарии к коду написали.
Ну и, не очень понятно: что значит несколько исполняющих устройств - они зависимы, независимы, в каждый момент времени может выполняться только одно устройство, они могут одновременно или по очереди выполняться?

Лосев Олег
23.05.2024, 12:38
Мне самое важное это как сделать несколько уставок для температуры что бы включались одна за другой .
Что бы не копировать всю схему блока управления скажем задвижки на каждую уставку, а в блоке только заменять уставку температуры.

Dimensy
23.05.2024, 13:43
Мне самое важное это как сделать несколько уставок для температуры что бы включались одна за другой .
Что бы не копировать всю схему блока управления скажем задвижки на каждую уставку, а в блоке только заменять уставку температуры.

Тогда MUX, все правильно

Potoks
28.05.2024, 11:20
Есть небольшой вопрос, скорее всего это обсуждалось .. (я неплохой программист но в тут новичек))..) Подскажите пример.. как с ПЛК110-30 подключиться через ПМ01 к сети GPRS (пока МТС) ,

Вернее так, как настроить этот ПМ01 (команды посмотрел, но хотелось бы готовый пример), времени просто нет ..заранее спасибо.. (передачу СМС освоил сам)

Dimensy
28.05.2024, 11:23
Есть небольшой вопрос, скорее всего это обсуждалось .. (я неплохой программист но в тут новичек))..) Подскажите пример.. как с ПЛК110-30 подключиться через ПМ01 к сети GPRS (пока МТС) ,

Вернее так, как настроить этот ПМ01 (команды посмотрел, но хотелось бы готовый пример), времени просто нет ..заранее спасибо.. (передачу СМС освоил сам)

А здесь не смотрели?
https://owen.ru/product/pm01/example

Potoks
28.05.2024, 11:35
что то проглядел.. сори.. если не прокатит , задам более уточняющие вопросы, спасибо..извините

Alex_krg
29.05.2024, 11:40
Всем добрый день!
Помогите разобраться в следующем вопросе: разрабатываю первую программу для АВР на ПЛК-210-14. В программе будет n-e количество автоматических выключателей с одинаковым количеством сигналов. По этой причине сделал массив функциональных блоков.
Возникли вопросы по привязке дискретных входов контроллера:
Является ли нормальным привязка битовой маски входов контроллера напрямую к экземпляру функционального блока ?
Или все же привязку лучше делать через структуры, а потом привязывать структуры к ФБ?
Если без разницы, то хотел бы понять , как решают такие вопросы опытные специалисты.
Просто как я понимаю, то это двойная работа, сначала входы привязать к структуре, а потом эту же структуру привязывать к ФБ.

Программу разрабатываю на CFC.

МихаилГл
29.05.2024, 11:44
Переходите на st, зачем CFC, это же неудобно.

Alex_krg
29.05.2024, 11:49
CFC пока мне более понятен. И для первого раза будет наглядней отследить свои ошибки.

kondor3000
29.05.2024, 14:03
Всем добрый день!
Помогите разобраться в следующем вопросе: разрабатываю первую программу для АВР на ПЛК-210-14. В программе будет n-e количество автоматических выключателей с одинаковым количеством сигналов. По этой причине сделал массив функциональных блоков.
Возникли вопросы по привязке дискретных входов контроллера:
Является ли нормальным привязка битовой маски входов контроллера напрямую к экземпляру функционального блока ?
Или все же привязку лучше делать через структуры, а потом привязывать структуры к ФБ?
Если без разницы, то хотел бы понять , как решают такие вопросы опытные специалисты.
Просто как я понимаю, то это двойная работа, сначала входы привязать к структуре, а потом эту же структуру привязывать к ФБ.

Программу разрабатываю на CFC.

Вот вам пример со структурами и присвоением дискретных входов, выходов на входы ФБ и структур в ПЛК, только на ST

Для эмуляции с предустановленными значениями https://owen.ru/forum/showthread.php?t=10555&page=988#9875

Почти тот же пример https://owen.ru/forum/showthread.php?t=10555&page=987

Alex_krg
29.05.2024, 20:32
Вот вам пример со структурами и присвоением дискретных входов, выходов на входы ФБ и структур в ПЛК, только на ST

Для эмуляции с предустановленными значениями https://owen.ru/forum/showthread.php?t=10555&page=988#9875

Почти тот же пример https://owen.ru/forum/showthread.php?t=10555&page=987

Спасибо за помощь! проекты в codesys 2.3 похоже сделаны, у меня 3.5. Переадресую в другую ветку.

Flawon
30.05.2024, 00:02
Всем доброго времени суток!
Прошу помощи в реализации TOFа с памятью. Данный функц. блок очень нужен для дальнейшего применения в проекте на LD, сам блок пишу на ST, нашёл реализацию TONа, TONа с памятью, с ним разобрался и попытался переделать в TOF (это получилось), потом в TOF с памятью (где-то ошибка в логике, не могу найти).
Поясню, задача такая: нужен TOF (обновление таймера при 1 на IN, при 0 на IN время, в течение которого продолжается подача 1 на Q), НО необходима дополнительная входная переменная для возможности остановить время (при 1 на дополнительном входе время таймера запоминается, на Q подаётся 0, при 0 на доп. входе время продолжает идти с момента паузы, на Q подаётся 1). Думал задача будет проще... https://disk.yandex.ru/d/_B9B5zNqXP1gOw . https://disk.yandex.ru/d/meE9wGrpi5B-tw . Надеюсь смогу оставить ссылки для скачивания самой программы на codesys 2.3. 76131 76132 - то, как примерно выглядит вместе с визуализацией.
Программа в целом работает, но как уже сказал, где-то логическая ошибка. VR (время "простоя") никак не должно влиять на ET (то самое время таймера), в программе оно должно приводить ET к моменту начала "простоя" но почему-то оно прибавляется к этому времени (причём предыдущее VR, а не текущее), хоть в самой программе "ET:=TIME() - START - VR;".

1exan
30.05.2024, 05:18
Всем доброго времени суток!
Прошу помощи в реализации TOFа с памятью. Данный функц. блок очень нужен...

Посмотрите эти варианты (https://owen.ru/forum/showthread.php?t=26216&p=433734&viewfull=1#post433734), может допилите под себя

EFrol
30.05.2024, 08:10
VR (время "простоя") никак не должно влиять на ET, в программе оно должно приводить ET к моменту начала "простоя" ..

Привет! Это как "не должно", "но должно"?!
Если надо продлить работу таймера на время простоя, то я бы попробовал так:


T : TOF;
ET : INT;

T(IN:=IN, PT:=T#30s, Q=>Q); ; // Таймер управляется IN, Q показывает его состояние
IF T.Q THEN // Пока идет отсчет..
IF SP THEN // активный SP ...
T(IN:=TRUE); // удерживаем таймер активным и ..
IF Q THEN // при активном выходе Q
ET:=T.ET; Q:=FALSE; // Надо запомнить накопленное время и сбросить Q
END_IF
ELSE // При неактивном SP
IF NOT Q THEN // и не активном Q
T(IN:=FALSE); T(IN:=TRUE, PT:=T#30s-ET, Q=>Q); // Надо перезапустить таймер, но с учетом накопленного времени и воcстановить Q
END_IF
END_IF
END_IF

kondor3000
30.05.2024, 10:24
Всем доброго времени суток!
Прошу помощи в реализации TOFа с памятью. Данный функц. блок очень нужен для дальнейшего применения в проекте на LD, сам блок пишу на ST, нашёл реализацию TONа, TONа с памятью, с ним разобрался и попытался переделать в TOF (это получилось), потом в TOF с памятью (где-то ошибка в логике, не могу найти).
VR;".
Код таймера TOF_P с паузой 76145


FUNCTION_BLOCK TOF_P
VAR_INPUT
In,Paus : BOOL;
PT : TIME;
END_VAR
VAR_OUTPUT
Q : BOOL;
ET: TIME;
END_VAR
VAR
x,Pau : BOOL;
t3,T0,TP : TIME;
ftr : F_TRIG;
END_VAR
_____________________________________________

t3:=TIME(); ftr(Clk:=IN );
IF IN AND NOT x THEN x:=TRUE; Q:=TRUE; END_IF
IF ftr.Q THEN T0:=t3; END_IF
IF NOT IN AND x AND NOT Paus AND ET<PT THEN Q:=TRUE; ET:=t3-T0-Tp; Pau:=TRUE;
ELSIF NOT IN AND x AND ET<PT THEN Q:=TRUE; Tp:=t3-T0-ET; END_IF
IF NOT IN AND Pau AND x AND ET>=PT THEN Q:=FALSE; ET:=PT; END_IF
IF IN AND Pau THEN Q:=TRUE; Pau:=FALSE; ET:=T#0ms; Tp:=T#0ms; ;T0:=T#0ms; ; x:=FALSE; END_IF

Potoks
31.05.2024, 10:16
Вопрос , куда бежать, и что с этим делать ?76177 , попытка скачать файл с ПЛК110

Cs-Cs
31.05.2024, 10:28
Potoks А файл с таким именем есть? Ты проверял через команду filedir?

Potoks
31.05.2024, 10:38
спасибо .. я думал что то серьезное , ошибся в имени

Maxwell000
01.06.2024, 20:47
Доброго времени суток, столкнулся с такой ситуацией. Достал блок ПИД регулятора из библиотеки Util что бы протестировать как это будет работать на моём студенческом проекте. На вход завожу разрежение с датчика, выходом хочу подавать управляющий сигнал на твердотельное реле с фазовой регулировкой, которое в свою очередь управляет мощностью осевого вентилятора создающего разрежение в системе. Как можно видеть на картинке, я задал желаемое значение давления, данные с датчика приходят, какие то там коэффициенты поставил, но на выходе системы 0. Прочитал справку, но там просто описание входов блока. В чём может быть загвоздка? Первое моё знакомство с такими вещами, так что даже ума не приложу в какую сторону искать.

ASo
01.06.2024, 21:13
Искать в сторону ТАУ (теории автоматического управления).
Блок работает абсолютно корректно. давление ~0 , уставка -50 (минус 50). Текущая величина много больше уставки, он и ушел в минимум управляющего сигнала, который 0.

EFrol
01.06.2024, 21:18
Доброго времени суток, столкнулся с такой ситуацией. Достал блок ПИД регулятора из библиотеки Util что бы протестировать как это будет работать на моём студенческом проекте. На вход завожу разрежение с датчика, выходом хочу подавать управляющий сигнал на твердотельное реле с фазовой регулировкой, которое в свою очередь управляет мощностью осевого вентилятора создающего разрежение в системе. Как можно видеть на картинке, я задал желаемое значение давления, данные с датчика приходят, какие то там коэффициенты поставил, но на выходе системы 0. Прочитал справку, но там просто описание входов блока. В чём может быть загвоздка? Первое моё знакомство с такими вещами, так что даже ума не приложу в какую сторону искать.

Если я не ошибаюсь, программу надо запустить (в статус-строке "ЗАПУЩЕНО" должно быть активным) и запускается через Онлайн->Старт.

Maxwell000
01.06.2024, 21:19
Об этом я не подумал. Получается он сейчас работает в режиме "нагреватель", а как то можно перевести это дело в режим "холодильник" что бы он стремился к отрицательному значению?

EFrol
01.06.2024, 21:21
Об этом я не подумал. Получается он сейчас работает в режиме "нагреватель", а как то можно перевести это дело в режим "холодильник" что бы он стремился к отрицательному значению?

Ниже Y_MIN он не опустится!

Maxwell000
01.06.2024, 21:26
Нет нет, я не то имел в виду. Я про то что, как мне можно реверсировать работу регулятора что бы он стремился привести систему от большего значения задающего параметра к меньшему значению. Ниже 0 вольт конечно не будет

EFrol
01.06.2024, 21:30
Нет нет, я не то имел в виду. Я про то что, как мне можно реверсировать работу регулятора что бы он стремился привести систему от большего значения задающего параметра к меньшему значению. Ниже 0 вольт конечно не будет

Т.е. Y_MIN := 10, Y_MAX := 0 у Вас тоже не работает?

Maxwell000
01.06.2024, 21:33
Нет, да и оно так не заработает. В справке сказано что Y_MIN не может быть больше Y_MAX

EFrol
01.06.2024, 21:40
Нет, да и оно так не заработает. В справке сказано что Y_MIN не может быть больше Y_MAX

А если сказать, что ACTUAL := -Input1, SET_POINT := 50 - "нагреватель наоборот"?

Maxwell000
01.06.2024, 21:52
Да, всё верно. Так сделал и всё теперь в ажуре. осталось настроить всё это дело. Процесс совсем не инерционный, а период дискретизации огромный... будем настраивать на очень тугодумную систему

ASo
02.06.2024, 08:37
Можно сделать отрицательным KP - это тоже самое.

1exan
02.06.2024, 08:51
Об этом я не подумал. Получается он сейчас работает в режиме "нагреватель", а как то можно перевести это дело в режим "холодильник" что бы он стремился к отрицательному значению?

Просто поменяйте местами значения "ACTUAL" и "SET POINT", что также аналогично этому:


Можно сделать отрицательным KP ...

sviriba
02.06.2024, 15:07
Можно сделать отрицательным KP - это тоже самое.
написал вам в личку, не могу понять видели, нет?

Potoks
03.06.2024, 11:29
Смотрел, не подходит, мне нужно выйти в облако OWEN через ПМ01 в режиме GPRS .. просто через Ethernet разобрался .. все работает..

короче, как настроить интернет с ПЛК110-30 посредством GPRS через ПМ01 ???

Pavel5698
03.06.2024, 17:25
короче, как настроить интернет с ПЛК110-30 посредством GPRS через ПМ01

Там есть примеры, может помогут
https://owen.ru/product/codesys_v2/example_program
https://owen.ru/product/pm01/documentation

vsa
04.06.2024, 09:54
Разрабатывается система управления на ПЛК110-24.60.Р[М02]. По ModBus будут подключены 3 модуля МВ110-224.16ДН и два модуля МУ110-224.16Р. Когда я записываю данные в регистры удаленных модулей ввода-вывода я не должен управлять очередностью обслуживания модулей ввода-вывода? В предыдущих проектах, где были всего два модуля - один ввода и один вывода, я просто записывал регистр и считывал данные из регистра. А когда несколько однотипных модулей должны в одном цикле изменять значения своих регистров, не будет никаких коллизий с очередностью записи или чтения данных? Кто гарантирует, что данные прописались во внутренних регистрах удаленных модулей? Контроллер все берет на себя сам? Естественно, каждый модуль будет обладать уникальным адресом в сети.

kondor3000
04.06.2024, 10:03
Разрабатывается система управления на ПЛК110-24.60.Р[М02]. По ModBus будут подключены 3 модуля МВ110-224.16ДН и два модуля МУ110-224.16Р. Когда я записываю данные в регистры удаленных модулей ввода-вывода я не должен управлять очередностью обслуживания модулей ввода-вывода? В предыдущих проектах, где были всего два модуля - один ввода и один вывода, я просто записывал регистр и считывал данные из регистра. А когда несколько однотипных модулей должны в одном цикле изменять значения своих регистров, не будет никаких коллизий с очередностью записи или чтения данных? Кто гарантирует, что данные прописались во внутренних регистрах удаленных модулей? Контроллер все берет на себя сам? Естественно, каждый модуль будет обладать уникальным адресом в сети.

Коллизий не будет, всё будет работать. Но в одном цикле вы не сможете управлять 3 модулями, даже если вы выставите все входы, выходы в одном цикле, модули всё равно будут опрашиваться по порядку.
Для опроса 3 модулей надо минимум 35 мс, что в несколько раз больше цикла ПЛК.

vsa
04.06.2024, 10:42
В одном цикле мне не нужно управлять модулями. Я хотел в одном цикле выставить данные модулям. Я правильно понял, что данные обязательно перешлются? Если я в одном цикле в программе запишу в регистры трех модулей данные, то в течении нескольких циклов контроллера эти данные перешлются в нужные модули. Меня это устраивает.

kondor3000
04.06.2024, 10:45
В одном цикле мне не нужно управлять модулями. Я хотел в одном цикле выставить данные модулям. Я правильно понял, что данные обязательно перешлются? Если я в одном цикле в программе запишу в регистры трех модулей данные, то в течении нескольких циклов контроллера эти данные перешлются в нужные модули. Меня это устраивает.

Всё данные будут отправлены, а если вам нужно подтверждение, то после записи, читайте маски выходов и проверяйте правильность записи.

vsa
04.06.2024, 11:01
kondor3000, а где можно почитать про работу с маской выходов удаленных выходов? Или это простое чтение регистра вывода?

МихаилГл
04.06.2024, 11:03
kondor3000, а где можно почитать про работу с маской выходов удаленных выходов? Или это простое чтение регистра вывода?

Маска это просто, это двоичное представление состояния входов/выходов:
0: 00000000
1: 00000001
2: 00000010
и т.д.

vsa
04.06.2024, 11:12
Что такое маска я знаю. А как можно проконтролировать правильность записи данных в модуль МУ110-224.16Р? В моем проекте подобные модули будут на расстоянии от контроллера примерно на расстоянии 20-30 метров. Боюсь, что возможна потеря данных при передачи информации на расстояние.

west
04.06.2024, 11:23
В моем проекте подобные модули будут на расстоянии от контроллера примерно на расстоянии 20-30 метров. Боюсь, что возможна потеря данных при передачи информации на расстояние.

Для RS485 - 20-30 метров не расстояние. Думаю, что даже терминаторы не понадобятся.

1exan
04.06.2024, 11:24
Разрабатывается система управления на ПЛК110-24.60.Р[М02]. По ModBus будут подключены 3 модуля МВ110-224.16ДН и два модуля МУ110-224.16Р. Когда я записываю данные в регистры удаленных модулей ввода-вывода я не должен управлять очередностью обслуживания модулей ввода-вывода? В предыдущих проектах, где были всего два модуля - один ввода и один вывода, я просто записывал регистр и считывал данные из регистра. А когда несколько однотипных модулей должны в одном цикле изменять значения своих регистров, не будет никаких коллизий с очередностью записи или чтения данных? Кто гарантирует, что данные прописались во внутренних регистрах удаленных модулей? Контроллер все берет на себя сам? Естественно, каждый модуль будет обладать уникальным адресом в сети.

Если вы будете использовать для опроса конфигурацию ПЛК - то в модуле "Modbus (Master)" имеются две переменных "Last address" и "Last error", для контроля наличия ошибок связи с модулями

МихаилГл
04.06.2024, 11:27
Что такое маска я знаю. А как можно проконтролировать правильность записи данных в модуль МУ110-224.16Р? В моем проекте подобные модули будут на расстоянии от контроллера примерно на расстоянии 20-30 метров. Боюсь, что возможна потеря данных при передачи информации на расстояние.

Шлете команду на выход, сравниваете маску с модуля с тем, что вы хотели получить... Ну в программе если что делаете задержку на начало этого сравнения, если переживаете что потеряете. Всё будет нормально работать, никогда не задумывался проверять, что на модуль что-то не ушло. Обычно для этого есть модули входов, к которым подключены датчики или доп контакты контакторов. Обычно по ним формируют аварию условного не ухода сигнала (ну модуль отвалился или выход сгорел) или не сработки исполнительного механизма. А контролировать непосредственно выход, это никто не делает обычно.

vsa
04.06.2024, 11:54
Если вы будете использовать для опроса конфигурацию ПЛК - то в модуле "Modbus (Master)" имеются две переменных "Last address" и "Last error", для контроля наличия ошибок связи с модулями

"Last error" может подсказать, что потеряна связь с модулем?

Potoks
04.06.2024, 12:03
смотрел все не то

kondor3000
04.06.2024, 13:20
"Last error" может подсказать, что потеряна связь с модулем?

Модуль с адресом 16 работает 76235 С адресом 17 отключил 76236

1exan
04.06.2024, 13:21
"Last error" может подсказать, что потеряна связь с модулем?

В основном, только это и фиксируется (https://docs.owen.ru/product/plk160m02/759/62787#topic-62818)

vsa
04.06.2024, 13:36
Всем большое спасибо! Вы меня выручили и обнадежили!

vsa
07.06.2024, 17:17
В моем проекте ПЛК110-24.60.Р[М02] должен связываться по Modbus RTU с модулями расширения вход-выход МВ110-224.16ДН и МУ110-224.16Р на скорости 115200 бит/c и с технологическими пультами (7 штук) на скорости 38400 бит/с. Пульты не от фирмы ОВЕН, но я с ними раньше работал с другими контроллерами. Не хотелось бы все модули опрашивать на низкой скорости. Можно ли порт RS-485-2[SLOT] использовать на скорости 115200 бит/c, а RS-485-1[SLOT] на скорости 38400 бит/с? И при этом, все порты RS485 должны быть Master. Это же разные подсети. Или я ошибаюсь? Поправьте.

kondor3000
07.06.2024, 17:28
В моем проекте ПЛК110-24.60.Р[М02] должен связываться по Modbus RTU с модулями расширения вход-выход МВ110-224.16ДН и МУ110-224.16Р на скорости 115200 бит/c и с технологическими пультами (7 штук) на скорости 38400 бит/с. Пульты не от фирмы ОВЕН, но я с ними раньше работал с другими контроллерами. Не хотелось бы все модули опрашивать на низкой скорости. Можно ли порт RS-485-2[SLOT] использовать на скорости 115200 бит/c, а RS-485-1[SLOT] на скорости 38400 бит/с? И при этом, все порты RS485 должны быть Master. Это же разные подсети. Или я ошибаюсь? Поправьте.

На разных портах можно и это разные подсети.

vsa
07.06.2024, 18:46
Отлично! Подскажите, а если у удаленного устройства мне необходимо регистр читать и записывать, то как это можно реализовать в моем случае? Универсального доступа я не нашел. Наверное, нужно добавить подэлементы Register input module... и Register output module... , но указать в них один и тот же адрес регистра?

kondor3000
07.06.2024, 19:19
Отлично! Подскажите, а если у удаленного устройства мне необходимо регистр читать и записывать, то как это можно реализовать в моем случае? Универсального доступа я не нашел. Наверное, нужно добавить подэлементы Register input module... и Register output module... , но указать в них один и тот же адрес регистра?

Обычно используют два UMD, один на циклическое чтение, второй на запись по изменению, а уже в них Register input module... и Register output module
А адрес ставите одинаковый.

vsa
07.06.2024, 19:30
А "...один на циклическое чтение, второй на запись по изменению, ..." это нужно как-то указывать?

kondor3000
07.06.2024, 19:50
А "...один на циклическое чтение, второй на запись по изменению, ..." это нужно как-то указывать?

На чтение оставляете настройку по умолчанию By Poll Time, а для записи меняете на By Value Change 76373

vsa
07.06.2024, 20:59
Спасибо. А я и не знал о такой настройки.
Кстати, а если используешь выходной модуль МУ110-224.16Р, то и для него нужно прописывать By Value Change? Я посмотрел в свои проекты, а там для этих модулей стоит By Poll Time.

kondor3000
07.06.2024, 21:29
Спасибо. А я и не знал о такой настройки.
Кстати, а если используешь выходной модуль МУ110-224.16Р, то и для него нужно прописывать By Value Change? Я посмотрел в свои проекты, а там для этих модулей стоит By Poll Time.

Для модулей ввода используйте только чтение.

vsa
08.06.2024, 07:09
Я не много не понял Ваш ответ. Что значит, что "Для модулей ввода используйте только чтение."? Стандартный Овеновский выходной модуль МУ110-224.16Р при конфигурировании ПЛК нужно прописывать By Value Change или By Poll Time?

1exan
08.06.2024, 09:23
Я не много не понял Ваш ответ. Что значит, что "Для модулей ввода используйте только чтение."? Стандартный Овеновский выходной модуль МУ110-224.16Р при конфигурировании ПЛК нужно прописывать By Value Change или By Poll Time?

МУ110-224.16Р - модуль вывода, можно использовать и тот и другой вариант, но:
Если используете By Poll Time (периодически) - ПЛК делает запись в модуль с установленным периодом, при этом в модуле можно активировать параметр контроля связи и при её отсутствии модуль установит свои выходы в безопасное состояние.
Если используете By Value Change (по изменению значения) - то ПЛК будет делать запись в модуль только в том случае, если необходимо изменить текущее состояние выходов модуля, и здесь использовать контроль наличия связи не получится

kondor3000
08.06.2024, 11:46
Я не много не понял Ваш ответ. Что значит, что "Для модулей ввода используйте только чтение."?

МУ110-224.16Р это модули вывода. Про только чтение написал про модули ввода, типа МВ110-16D.

OlegNZH
08.06.2024, 12:40
Совершенно глупый вопрос . Но я не просто новичок , а совсем уж.(Панель СПК107 . Давно лежала - решили в Дело реализовать). Вопрос звучит так - Во всех примерах от OWEN -первое подключение - это пингование . И пример на 10.0.6.10 . Но это IP адрес . У меня не проходит ping . А вот по шлюзу 10.0.6.1 всё нормально . Что я делаю не так? Настройки по умолчанию.Сетка . (мне просто понять хочется - почему сразу не совпадает с классическим примером из Руководства (где ping 10.0.6.10 -t пингуется)?. Изначально , решать "непонятности" , чтобы не накапливать в дальнейшем).
PS О как! Я оказывается ещё в 2020 году зарегился, но просто глянул "для общей информации" ..У меня всякие Термодаты-Мерадаты- Гигротермы были ... А сейчас ОВЕН решили , для однородности контроллеров на Панели . Приспичило.
PPS И заодно ещё один вопрос. Датчики на вакуум . Как мне ответили в техподдержке - ПМИ-2 не поддерживаются . Нет так нет . Но хотя-бы ПМТ-6-3 ,ПМТ-2,ПМТ-4..(где-то видел что можно , но не понял как (как-то хитро). А без них смысл теряется).

In_Da_Cher_A
08.06.2024, 13:24
Панель СПК107 . Давно лежала - решили в Дело реализовать).

И пример на 10.0.6.10 . Но это IP адрес . У меня не проходит ping . (мне просто понять хочется - почему сразу не совпадает с классическим примером из Руководства (где ping 10.0.6.10 -t пингуется)?.потому что вероятно
Панель СПК107 . Давно лежала и кто-то сменил ей адрес
вот и всё.

А вот по шлюзу 10.0.6.1 всё нормально .
а это не трогали

Что я делаю не так? настройки сети как правило везде "встают" после изменений, только после перезагрузки
вероятно их надо "сохранить" и перезагрузить панель

OlegNZH
08.06.2024, 21:17
Спасибо за ответ . ...Конечно панелью игрались до меня . Но я ведь явно вижу в настройках в Панели - IP 10.0.6.10 и шлюз 10.0.6.1 . ping по IP не проходит . Я не понимаю в приоритетах?

In_Da_Cher_A
08.06.2024, 21:36
Я не понимаю в приоритетах?это вопросы не для форума, а для психоанализа
если вы ищете внятные объяснения искажения пространства в вашей комнате с панелью, то я вам привёл одно
если вас это не устраивает, можете самостоятельно назвать другие причины, почему пинги не доходят до панели
хотя всё обычно бывает более банально, чем влияние ретроградного меркурия

Flashx
08.06.2024, 22:01
Здравствуйте. Подскажите пожалуйста. Нужно чтобы в таймере ton можно было менять переменную уставки. Я ее собираю в другом месте и она получается типа REAl а в таймер нужен тип TIME. Как конвертировать или через что REAL в TIME?

OlegNZH
08.06.2024, 23:03
это вопросы не для форума, а для психоанализа
если вы ищете внятные объяснения искажения пространства в вашей комнате с панелью, то я вам привёл одно
если вас это не устраивает, можете самостоятельно назвать другие причины, почему пинги не доходят до панели
хотя всё обычно бывает более банально, чем влияние ретроградного меркурия
Спасибо за очень внятный Ответ . Он очень Ценен. (особенно про меркурий , если Вам больше нечего сказать ) .

In_Da_Cher_A
09.06.2024, 00:19
Здравствуйте. Подскажите пожалуйста. Нужно чтобы в таймере ton можно было менять переменную уставки. Я ее собираю в другом месте и она получается типа REAl а в таймер нужен тип TIME. Как конвертировать или через что REAL в TIME?
выберите на панели кдс блок
вставьте его на рабочее поле
нажмите на его тип
нажмите F2 чтобы вызывать ассистента ввода
76401
выберите что вам нужно

Лосев Олег
11.06.2024, 09:45
Написана програмка для автоматизации сушилки. Осталось сделать что бы плк после отключения питания восстанавливала свою работу с установленными уставками.
Уставки задаются с помощью панели оператора Овен сп307 . Бьюсь уже 3 дня ( вроде в инете есть инфа по этому вопросу - надо сделать проект загрузочным и уставки сделать переменными с записью в память плк. А как правильно сделать уставки var retain незнаю. Подскажите.

Potoks
11.06.2024, 10:44
Подскажите какую версию SCADA использовать, что бы она видела Owen OPC Server

kondor3000
11.06.2024, 10:48
Подскажите какую версию SCADA использовать, что бы она видела Owen OPC Server

А вам обязательно Owen OPC Server, есть ещё куча OPC серверов с большим функционалом и бесплатными версиями https://owen.ru/catalog/opc_serveri
Если вы начинающий, советую Скаду попроще, типа SimpLight, есть бесплатная версия на 32 тега и видосы на ю-тубе
https://simplight.ru

Potoks
11.06.2024, 10:55
Да, я начинающий , но объект сложный, остался финиш...)) поставил MasterScada 3.13, похоже начинаю разбираться.. Спасибо..
OPC Owen увидел..

Potoks
11.06.2024, 10:59
Да, я начинающий , но объект сложный, остался финиш...)) поставил MasterScada 3.13, похоже начинаю разбираться.. Спасибо..
OPC Owen увидел..

По поводу других OPC, ПР2ХХ , хочет его ..)))

Potoks
11.06.2024, 11:00
Да, я начинающий , но объект сложный, остался финиш...)) поставил MasterScada 3.13, похоже начинаю разбираться.. Спасибо..
OPC Owen увидел..

По поводу других OPC, ПР2ХХ , хочет его ..)))

In_Da_Cher_A
11.06.2024, 12:25
Написана програмка для автоматизации сушилки. Осталось сделать что бы плк после отключения питания восстанавливала свою работу с установленными уставками.
Уставки задаются с помощью панели оператора Овен сп307 . Бьюсь уже 3 дня ( вроде в инете есть инфа по этому вопросу - надо сделать проект загрузочным и уставки сделать переменными с записью в память плк. А как правильно сделать уставки var retain незнаю. Подскажите.
причём здесь ПЛК, когда вы значение уставки вводите В панели? что будет происходить с числом в панели, когда вы перезагружаете ПЛК?
76474

1exan
11.06.2024, 12:52
Написана програмка для автоматизации сушилки. Осталось сделать что бы плк после отключения питания восстанавливала свою работу с установленными уставками.
Уставки задаются с помощью панели оператора Овен сп307 . Бьюсь уже 3 дня ( вроде в инете есть инфа по этому вопросу - надо сделать проект загрузочным и уставки сделать переменными с записью в память плк. А как правильно сделать уставки var retain незнаю. Подскажите.

Ну напишите хоть кто мастер в соединении, как связываете...

Лосев Олег
11.06.2024, 18:45
Панель оператора - мастер , ПЛК - слейв.

1exan
11.06.2024, 18:55
Панель оператора - мастер , ПЛК - слейв.

Те переменные, что находятся в блоке Modbus(slave) конфигурации ПЛК являются энергонезависимыми и сохраняют своё значение после отключения питания ПЛК

Лосев Олег
11.06.2024, 19:03
Те переменные, что находятся в блоке Modbus(slave) конфигурации ПЛК являются энергонезависимыми и сохраняют своё значение после отключения питания ПЛК

Тогда я так понимаю я должен поработать с панелью и что бы при включении питания уставки вызывались из памяти панели
потому что при включении на панли в уставках ноли

kondor3000
11.06.2024, 19:17
Тогда я так понимаю я должен поработать с панелью и что бы при включении питания уставки вызывались из памяти панели
потому что при включении на панли в уставках ноли

Храните уставку в панели, в PFW. При включении считываете в оперативный регистр 4х...., если надо, там же и меняете пока идёт процесс.
При нажатии кнопки Стоп, например в конце смены, записываете уставку обратно в PFW. Запись делать желательно не чаще нескольких раз в день.

1exan
11.06.2024, 19:29
Тогда я так понимаю я должен поработать с панелью и что бы при включении питания уставки вызывались из памяти панели
потому что при включении на панли в уставках ноли

Уставки панели (где нули) - в каких регистрах расположены?

In_Da_Cher_A
11.06.2024, 19:38
Те переменные, что находятся в блоке Modbus(slave) конфигурации ПЛК являются энергонезависимыми и сохраняют своё значение после отключения питания ПЛКпроблема в том, что цифры на панели отображают значение регистра не в панели, а в ПЛК, который в момент перезагрузки ПЛК становится недоступен для панели и панель собственно "обнуляет" значение, которое пишет в ПЛК.
Поэтому после перезагрузки ПЛК, несмотря на типа энергонезависимость переменной ПЛК, при восстановлении связи, происходит обнуление этого регистра.
Поэтому необходимо "конфигурировать" уставку и её хранение в панели, а не в ПЛК , опять же в случае Панель Мастер ПЛК Слейв

1exan
11.06.2024, 20:02
проблема в том, что цифры на панели отображают значение регистра не в панели, а в ПЛК, который в момент перезагрузки ПЛК становится недоступен для панели и панель собственно "обнуляет" значение, которое пишет в ПЛК.
Поэтому после перезагрузки ПЛК, несмотря на типа энергонезависимость переменной ПЛК, при восстановлении связи, происходит обнуление этого регистра.
Поэтому необходимо "конфигурировать" уставку и её хранение в панели, а не в ПЛК , опять же в случае Панель Мастер ПЛК Слейв

Панель не может по собственному желанию инициировать запись значений в ПЛК

Лосев Олег
11.06.2024, 20:57
Пока экспериментировал заметил что если сразу отключить питание щита а потом включить то панель оператора включается за секунду а ПЛК еще секунд 5 грузится. поэтому панель не с чего не считывает и показывает нули. А если подключить сначала плк а потом панель то все уставки считываются с плк.
Может легче реле с задержкой на питание поставить на включение панели ( пусть плк успевает прогрузиться и войти в режим работа)

In_Da_Cher_A
11.06.2024, 21:02
Панель не может по собственному желанию инициировать запись значений в ПЛКну а что тогда делает Мастер панели "по умолчанию", которое и есть его "собственное желание", выраженное в виде графического элемента с командой записи введённого с помощью графического элемента цифрового значения в соответствующий регистр Слейва?
и что собственно инициирцет Мастера начать обмен после старта панели?
и что делает Мастер, когда через 3 дефолтные попытки установить связь, он не получает "ответа" от Слейва?

я чисто из академического интереса рассуждаю, потому что проходил всё это десятки раз и мне просто интересно стало, понять механику процесса

Лосев Олег
12.06.2024, 09:17
Всё таки что то с ПЛК , после выключения питания и обратно , показания уставок слетают.( а если просто отключить панель и потом включить при работающим плк все нормально, а как только обрыв питания на плк то нули в уставках. Разобрал плк проверил аккум. держит 3.89 вольт

kondor3000
12.06.2024, 09:49
Всё таки что то с ПЛК , после выключения питания и обратно , показания уставок слетают.( а если просто отключить панель и потом включить при работающим плк все нормально, а как только обрыв питания на плк то нули в уставках.

Храните уставку в панели, в PFW.

Добавляю, как это сделать.
Например экран настроек, в нём пять уставок (1 Float это 2 регистра) в регистрах PFW, с помощью ФО (функц. области) по условию, При включении панели, копировать Регистр из PFW300..309 в нужные 4х0...9 ( копировать надо по 1 уставке как DWORD). Получаете в оперативной памяти все уставки, которые можно менять и передавать в ПЛК. При первом включении вы их забиваете в память. Если панель включается раньше ПЛК, то копирование в оперативные регистры надо сделать по биту.

Например в конце смены, нажимаете кнопку Стоп, по этому биту Стоп, другая ФО копирует регистры из 4х0...9 в PFWPFW300..309. 76491
Главное не записывать в PFW слишком часто (раз в секунду), есть ограничения по ресурсу. Скрин на 3 уставки

In_Da_Cher_A
12.06.2024, 11:06
Всё таки что то с ПЛК , после выключения питания и обратно , показания уставок слетают.( а если просто отключить панель и потом включить при работающим плк все нормально, а как только обрыв питания на плк то нули в уставках. Разобрал плк проверил аккум. держит 3.89 вольтпотому что ПЛК не при чём. Обнуление происходит на стороне панели

а если просто отключить панель и потом включить при работающим плк все нормальнотак панель вам показывает содержимое регистра Слейва в ПЛК

1exan
12.06.2024, 11:07
ну а что тогда делает Мастер панели "по умолчанию", которое и есть его "собственное желание", выраженное в виде графического элемента с командой записи введённого с помощью графического элемента цифрового значения в соответствующий регистр Слейва?
и что собственно инициирцет Мастера начать обмен после старта панели?
и что делает Мастер, когда через 3 дефолтные попытки установить связь, он не получает "ответа" от Слейва?

я чисто из академического интереса рассуждаю, потому что проходил всё это десятки раз и мне просто интересно стало, понять механику процесса

Графический элемент ввода отображает значение регистра путем периодического чтения регистра. Команду на изменение регистра панель посылает только в тот момент, когда выполняется ввод нового значения. Обрыв связи и её восстановление никак не должен вызывать выдачу команд записи значений в ПЛК

1exan
12.06.2024, 11:08
Всё таки что то с ПЛК , после выключения питания и обратно , показания уставок слетают.( а если просто отключить панель и потом включить при работающим плк все нормально, а как только обрыв питания на плк то нули в уставках. Разобрал плк проверил аккум. держит 3.89 вольт

Можете выложить ваши проекты панели и ПЛК с парой уставок для примера?

In_Da_Cher_A
12.06.2024, 14:05
Графический элемент ввода отображает значение регистра путем периодического чтения регистра.если панель не смогла прочитать значение регистра, что произойдёт? она выставит НОЛЬ в цифровом табло.

когда выполняется ввод нового значения.новое значение НОЛЬ введено панелью в цифровое табло.

Команду на изменение регистра панель посылает только в тот момент, когда выполняется ввод нового значения.
Панель "встала" на запись Ноля. Вот и всё
при восстановлении связи панель пишет в регистр НОЛЬ. ПЛК обнуляет регистр по команде панели

Вы сами как часто это наблюдали? я просто интересуюь. через мои руки прошло почти полторы сотни плк и панелей ОВЕН, и я знаю эту фичу или баг панели, не знаю как это называть. Но мне это обнуление некритично, на второстепенном алгоритме, поэтому я забил на решение этой проблемы, проще Оператору вписать этот момент в руководство, чем насиловать панель с риском угробить её регулярной перезаписью значения черех PFW

коренной способ решения этой проблемы - это ПЛК делать мастером, а Панель слейвом.
Если панель Мастер - то добро пожаловать на эти грабли

1exan
12.06.2024, 14:41
если панель не смогла прочитать значение регистра, что произойдёт? она выставит НОЛЬ в цифровом табло.
новое значение НОЛЬ введено панелью в цифровое табло.

Панель "встала" на запись Ноля. Вот и всё
при восстановлении связи панель пишет в регистр НОЛЬ. ПЛК обнуляет регистр по команде панели

Вы сами как часто это наблюдали? я просто интересуюь. через мои руки прошло почти полторы сотни плк и панелей ОВЕН, и я знаю эту фичу или баг панели, не знаю как это называть. Но мне это обнуление некритично, на второстепенном алгоритме, поэтому я забил на решение этой проблемы, проще Оператору вписать этот момент в руководство, чем насиловать панель с риском угробить её регулярной перезаписью значения черех PFW

коренной способ решения этой проблемы - это ПЛК делать мастером, а Панель слейвом.
Если панель Мастер - то добро пожаловать на эти грабли

Конкретно по СП я утверждать ничего не буду, т.к. имел с ними дело только пару раз и довольно давно. Но панели других производителей точно ничего не пишут в слейв при любых проблемах связи

Валенок
12.06.2024, 14:44
,,,,,,,,,,,,,,,,,,,,,

Валенок
12.06.2024, 14:49
.............

In_Da_Cher_A
12.06.2024, 14:52
Конкретно по СП я утверждать ничего не буду, т.к. имел с ними дело только пару раз и довольно давно. Но панели других производителей точно ничего не пишут в слейв при любых проблемах связидобро пожаловать в волшебный мир СП300
вы опять не поняли механизм, что происходит- панель не пишет в слейв, панель , когда не может прочитать регистр слейва, "пишет" НОЛЬ в цифровое табло - она же не смогла ничего прочесть. Панель не хранит введённое значение в своей памяти.
со всеми вытекающими далее приколами

In_Da_Cher_A
12.06.2024, 14:54
без проектов - это как бабки у подъезда сказали
да ладно, я хоть сейчас могу набросать одно табло с одним регистром слейва в ПЛК и вести себя всё будет одинаково

Валенок
12.06.2024, 15:03
да ладно, я хоть сейчас могу набросать одно табло с одним регистром слейва в ПЛК и вести себя всё будет одинаково
дык и решить вышеуказанную проблему как 2пальца даже когда плк - слейв))

(замечу, что решение "панель-мастер" это так себе, я говорил еще лет 15 назад)

kondor3000
12.06.2024, 15:18
Немного изменил проект.
При загрузке проекта- записываются 3 уставки в PFW. 76500
При старте панели- уставки разово копируются в PSW, в них можно менять уставки при работе.
Постоянно - копируются из PSW в 4х...... и отравляются в ПЛК.
При нажатии Стоп - записываются из PSW в PFW.

In_Da_Cher_A
12.06.2024, 15:24
дык и решить вышеуказанную проблему как 2пальца даже когда плк - слейв))на стороне ПЛК? или панели? думать сейчас неохота, когда-то я пытался "закольцевать" регистры - считывание с ПЛК сначала, потом перекладка в цифровое табло, потом уже обратно в ПЛК
но что-то времени не хватило, занят был чем-то срочным и я забил на эти эксперименты


(замечу, что решение "панель-мастер" это так себе, я говорил еще лет 15 назад)ну когда висит куча всякого барахла помимо ПЛК, это неизбежно

Валенок
12.06.2024, 15:30
на стороне ПЛК? или панели?
Можно с 2-х сторон. Но можно только со стороны плк-слейва.

1exan
12.06.2024, 15:30
добро пожаловать в волшебный мир СП300
вы опять не поняли механизм, что происходит- панель не пишет в слейв, панель , когда не может прочитать регистр слейва, "пишет" НОЛЬ в цифровое табло - она же не смогла ничего прочесть. Панель не хранит введённое значение в своей памяти.
со всеми вытекающими далее приколами

Все равно не верится, что при потере связи панель решила, что значение регистра нужно сделать равным нулю и срочно записать его в слейв

In_Da_Cher_A
12.06.2024, 15:37
При старте панели- уставки разово копируются в PSW, в них можно менять уставки при работе.
Постоянно - копируются из PSW в 4х...... и отравляются в ПЛК.
При нажатии Стоп - записываются из PSW в PFW.кто или что нажмёт СТОП при отвале ПЛК?
понятно примерно, но чисто по мне - это опять костыли и недоработки софта этой сырой панели, в результате чтобы сделать элементарную вещь, ты вынужден громоздить херову тучу всякого барахла и в итоге слишком много возни и разработка проекта на СП3хх обходится слишком затратно

In_Da_Cher_A
12.06.2024, 15:46
Все равно не верится, что при потере связи панель решила, что значение регистра нужно сделать равным нулю и срочно записать его в слейвну вот чо теперь поделать - "вот оно чо Михалыч"
панель не делает значение регистра нулевым , панель не запоминает значение в цифровом табло, потому что она СЧИТЫВАЕТ это значение из ПЛК
и при отсутствии связи с этим регистром цифровое табло обнуляется
можете в эмуляторе попробовать записать в несуществующий регистр, что будет

1exan
12.06.2024, 15:53
ну вот чо теперь поделать - "вот оно чо Михалыч"
панель не делает значение регистра нулевым , панель не запоминает значение в цифровом табло, потому что она СЧИТЫВАЕТ это значение из ПЛК
и при отсутствии связи с этим регистром цифровое табло обнуляется
можете в эмуляторе попробовать записать в несуществующий регистр, что будет

Хвост не может вилять собакой - я то это представляю так: есть экран, а есть - тач-панель.
Экран может показывать что угодно при наличии/отсутствии связи, но ЗАПИСЬ производится ТОЛЬКО по нажатию на сенсор

kondor3000
12.06.2024, 16:00
Хвост не может вилять собакой - я то это представляю так: есть экран, а есть - тач-панель.
Экран может показывать что угодно при наличии/отсутствии связи, но ЗАПИСЬ производится ТОЛЬКО по нажатию на сенсор

Проверил уже давно, панель загружается быстрее ПЛК и считывает нули в регистры обмена.

kondor3000
12.06.2024, 16:03
Последний вариант с копированием регистров группой. 76502 ФО должны быть глобальные.

Валенок
12.06.2024, 16:07
Тимур Назарбоев - Привет!

1exan
12.06.2024, 19:20
проекты - выше. Тута - живьем
https://www.dropbox.com/scl/fo/0gcyn13qd81pzolr3jnvl/ANvYY82c1TDGSFJq-hUX3Ac?rlkey=hjfqq83psf0ibhlwmdsqs2mnj&e=1&dl=0



Вот это больше похоже на правду.
Тоже поэкспериментирую, если будет возможность

Лосев Олег
12.06.2024, 20:42
Храните уставку в панели, в PFW.

Добавляю, как это сделать.
Например экран настроек, в нём пять уставок (1 Float это 2 регистра) в регистрах PFW, с помощью ФО (функц. области) по условию, При включении панели, копировать Регистр из PFW300..309 в нужные 4х0...9 ( копировать надо по 1 уставке как DWORD). Получаете в оперативной памяти все уставки, которые можно менять и передавать в ПЛК. При первом включении вы их забиваете в память. Если панель включается раньше ПЛК, то копирование в оперативные регистры надо сделать по биту.

Например в конце смены, нажимаете кнопку Стоп, по этому биту Стоп, другая ФО копирует регистры из 4х0...9 в PFWPFW300..309. 76491
Главное не записывать в PFW слишком часто (раз в секунду), есть ограничения по ресурсу. Скрин на 3 уставки

Спасибо огромное всё получилось. не большой вопрос: а если нужно больше чем 10 уставок а написано что в момент исполняется только один рецепт.

kondor3000
12.06.2024, 22:39
Спасибо огромное всё получилось. не большой вопрос: а если нужно больше чем 10 уставок а написано что в момент исполняется только один рецепт.

О чём вы? Где написано про 10 уставок? Для примера у меня 3, но можно сделать и 50 и больше.
Выложенный проект выше 1 Панель МастерСохранение уставок 3.txp как раз удобнее, групповая запись регистров, только количество регистров поменять.

In_Da_Cher_A
12.06.2024, 23:21
проекты - выше. Тута - живьем
https://www.dropbox.com/scl/fo/0gcyn13qd81pzolr3jnvl/ANvYY82c1TDGSFJq-hUX3Ac?rlkey=hjfqq83psf0ibhlwmdsqs2mnj&e=1&dl=0

вот этот момент - что такое?76531те самые нули
повторю через пару дней

Валенок
13.06.2024, 00:17
Тимур Назарбоев - Привет!

дрю
13.06.2024, 08:27
Доброго дня всем! Подскажите: _Язык ST_раздел обьявления_хочуиспользовать тай мер PT и обявить для него переменную времени для использования в качестве уставки продолжительности его работы:
TIME_KLAP:=T# 5S; ругается,
TIME_KLAP:TIME=T# 5S; ругается,
Как правильно?

kondor3000
13.06.2024, 08:50
Доброго дня всем! Подскажите: _Язык ST_раздел обьявления_хочуиспользовать тай мер PT и обявить для него переменную времени для использования в качестве уставки продолжительности его работы:
TIME_KLAP:=T# 5S; ругается,
TIME_KLAP:TIME=T# 5S; ругается,
Как правильно?

TIME_KLAP:TIME:=T#5s;

дрю
13.06.2024, 09:22
7653976540 не работает:confused:

МихаилГл
13.06.2024, 09:25
7653976540 не работает:confused:

Пробел удалите... Должно работать

76541

дрю
13.06.2024, 09:28
Точно, не работало из за отсутствия _:_ и лишний пробел. Благодарю!:o

Potoks
13.06.2024, 10:58
Пытаюсь с помощью HiperTerminal отправить SMS через ПМ01(режим ECHO отключен), после нажатия Ctrl+Z вконце сообщения модем зависает и постоянно горит TXD, GSM перестает моргать совсем, разумеется терминал не отвечает на команды.. 76549
при том, пока не оторвеш компорт физически, никакие сбросы и перезагрузки и снятия питания не помогают...(((

Potoks
13.06.2024, 15:22
Значит так.. я подключался по RS-232 , отсюда все проблеммы.. (хотя мне не понятно почему)..!!
при подключении по RS-485, все работает нормально.. УЖАС !! это дело не годится!

capzap
13.06.2024, 15:46
Значит так.. я подключался по RS-232 , отсюда все проблеммы.. (хотя мне не понятно почему)..!!
при подключении по RS-485, все работает нормально.. УЖАС !! это дело не годится!

если Вас попросить предоставить распайку Вашего кабеля RS232, Вы же не исчезните из чата, дадите ответ с картинками?

1exan
14.06.2024, 05:26
Проверил уже давно, панель загружается быстрее ПЛК и считывает нули в регистры обмена.

Тестировал сейчас связку ПЛК110-60(М2) и панель СП307. Я не смог добиться обнуления значений в регистрах ПЛК при различных сочетаниях подачи питания и состояния линии связи.
Что нужно сделать, чтобы увидеть обнуление регистров?

kondor3000
14.06.2024, 07:49
Тестировал сейчас связку ПЛК110-60(М2) и панель СП307. Я не смог добиться обнуления значений в регистрах ПЛК при различных сочетаниях подачи питания и состояния линии связи.
Что нужно сделать, чтобы увидеть обнуление регистров?

Проверил уже сам ещё раз, всё сохраняется.
Что у вас за версия V2.E6 beta3 конфигуратора панели? У меня проект не открывается.

1exan
14.06.2024, 08:07
Проверил уже сам ещё раз, всё сохраняется.
Что у вас за версия V2.E6 beta3 конфигуратора панели? У меня проект не открывается.

Не помню, скачал откуда-то - нужна?

Potoks
14.06.2024, 08:23
конечно не убегу ..)) был приобретен такой интерфейс, на все команды нормально отвечает 76566

capzap
14.06.2024, 08:30
был приобретен такой интерфейс

https://owen.ru/downloads/re_pm01.pdf таблица 3.1 для Х2 уверены что это кабель предоставляет все сигналы?

Potoks
14.06.2024, 09:07
возможно вы правы , попробую промышленный RS-232, хотя это уже для меня неактуально.. но всеравно проверю, спасибо

Potoks
14.06.2024, 15:42
новая напасть , с hiperTerminal , все работает.. выделил отдельный RS-485 на ПЛК-100.ХХХ , 7658376584
ересь , какая то..
блин, сижу как идиот на простых вещах.. хотя вся математика написана и работает..обидно..(((

capzap
14.06.2024, 15:47
новая напасть , с hiperTerminal , все работает.. выделил отдельный RS-485 на ПЛК-100.ХХХ , 7658376584
ересь , какая то..
блин, сижу как идиот на простых вещах.. хотя вся математика написана и работает..обидно..(((

есть целая тема по работе, полистайте, может найдете ответ https://owen.ru/forum/showthread.php?t=13029

ЗЫ и если не хотите светить свой телефон, то удалите картинки они всёравно не информативны

Potoks
14.06.2024, 15:58
спасибо, посмотрю...

Dimensy
14.06.2024, 16:34
новая напасть , с hiperTerminal , все работает.. выделил отдельный RS-485 на ПЛК-100.ХХХ , 7658376584
ересь , какая то..
блин, сижу как идиот на простых вещах.. хотя вся математика написана и работает..обидно..(((

а в базовых параметрах что в "идент. узла" написано?
а, вообще, вот https://owen.ru/uploads/373/1/syslibcom_comid.pdf - у вас DeviceNumber должен быть равен 2

Cs-Cs
14.06.2024, 17:31
Я вмешаюсь.
1. Dimensy Не путай его: эта библиотека работает через UNM-блоки, и их номер указывается с нуля в том порядке, в каком они в конфигурацию внесены.
2. Во всех примерах работы с модемом ещё и блок конфигурации используется. Я так тоже делал - и у меня заработало.

Лосев Олег
15.06.2024, 22:00
Сегодня сохранил проект. Потом решил еще поработать и добавить пару блоков.
Появилась проблема с прокруткой проекта вниз. Не могу вставить ни переменную ни блок как будто лист кончился.
Появилась синяя стрелочка вниз ( на фото) может это какое нибудь ограничение.76597

kondor3000
16.06.2024, 08:16
Сегодня сохранил проект. Потом решил еще поработать и добавить пару блоков.
Появилась проблема с прокруткой проекта вниз. Не могу вставить ни переменную ни блок как будто лист кончился.
Появилась синяя стрелочка вниз ( на фото) может это какое нибудь ограничение

Синяя стрелка говорит, что проект в ПЛК отличается от проекта в компе. Обычно такое бывает после изменений с компиляцией или после Очистить всё, компилировать всё.

По поводу ограничений размера листа, такое есть в CFC. Программу надо разбивать на ФБ ( функц. блоки ) или подпрограммы. Или писать на ST (но лучше всё равно делить на части). Если есть однотипные куски, например 5 насосов, пишите 1 ФБ и вызываете его 5 раз (аналогично вызову 5 таймеров).
Или просто делите на блоки, например Блок управления, Блок коммутации, Блок Времени.
Вместо одного загруженного листа, у вас будет несколько блоков, где видны все входы и выходы, например 76602
Можно посмотреть в работе каждый блок отдельно и всё вместе. Наглядно и удобно.

Лосев Олег
16.06.2024, 14:56
Синяя стрелка говорит, что проект в ПЛК отличается от проекта в компе. Обычно такое бывает после изменений с компиляцией или после Очистить всё, компилировать всё.

По поводу ограничений размера листа, такое есть в CFC. Программу надо разбивать на ФБ ( функц. блоки ) или подпрограммы. Или писать на ST (но лучше всё равно делить на части). Если есть однотипные куски, например 5 насосов, пишите 1 ФБ и вызываете его 5 раз (аналогично вызову 5 таймеров).
Или просто делите на блоки, например Блок управления, Блок коммутации, Блок Времени.
Вместо одного загруженного листа, у вас будет несколько блоков, где видны все входы и выходы, например 76602
Можно посмотреть в работе каждый блок отдельно и всё вместе. Наглядно и удобно.

Вопрос: Вот сижу пытаюсь создать ф.блок что бы в него как то скопировать содержимое PLC_PRG но ничего не получается даже с помощью импорта и экспорта. Не ужели всё придется писать заново в ф. блоках( я хотел разделить програму на функц. блоки)

ASo
16.06.2024, 15:04
Только сейчас скопировал со связями через copy-paste.
Как вариант - скопируйте PLC_PRG в окне проекта, а потом замените PROGRAM на FUNCTION BLOCK - копия станет FB.

kondor3000
16.06.2024, 15:08
Вопрос: Вот сижу пытаюсь создать ф.блок что бы в него как то скопировать содержимое PLC_PRG но ничего не получается даже с помощью импорта и экспорта. Не ужели всё придется писать заново в ф. блоках( я хотел разделить програму на функц. блоки)

Создайте в проекте ФБ и копипастом всё переносится в одном проекте, только отдельно переменные в Объявлении, отдельно схема кусками. Если в другом, сделайте копию всего проекта и в нём уже переносите копипастом, а так же можно менять имя программ, ФБ. Не забывайте что в ФБ есть входы и выходы, а в программе только переменные.
Если переменные нужны в нескольких блоках, то можно их перенести в глобальные (только не входы и выходы). Переменные в конфигурации глобальные по умолчанию.
Ну и можно через экспорт, импорт переносить кусками или всё.

Deanisii
16.06.2024, 22:23
Нужно написать программу для станка с двумя энкодерами и кучей исполнительных механизмов. (примерно 20 шт). Как приступить к проекту если нет физического доступа к станку, есть только схема и принцип работы?
Будет ПЛК110 и панель оператора.
Какой подход в таком случае применяется?
Может сделать виртуальные "механизмы", двигатели, концевики, пневматика, толкатели, подача, оси и генератор импульсов вместо энкодеров и пробовать запустить станок виртуально? Так вообще делают? Или есть другое , проверенные способы и я изобретаю велосипед?

МихаилГл
17.06.2024, 00:23
На старте только так и делают. А допиливают на объекте с реальным железом. Даже без виртуального создания механизмов. Достаточно при эмуляции имитировать сработку датчиков и пр...

Potoks
18.06.2024, 08:17
В общем так, похоже что на одном 485ом не могут сидеть и блоки расширения для ПЛК110 и ПМ01.. так как ПМ01, захватывает порт и все модули отваливаются, если это не так подскажите как правильно это реализовать на одном интерфейсе.. Попытка изменить идентификатор узла ни к чему не привела . Device как был ноль, так и остался. Открытие и закрытие порта после передачи СМС не устраивает.. так как модули расширения висят.. Заранее спасибо..

Cs-Cs
18.06.2024, 08:38
Potoks Я не знаю, как это пропустили люди в форуме, но это прям ошибка. И серьёзная. Позволю себе объяснить:
* Интерфейс - это то, при помощи чего передаются данные. Провод, Радио, WiFi, LAN, RS-485
* Протокол - это то, что эти данные означают. Есть Modbus, есть DX-512 для сценического света, есть KNX для умного дома, есть СПОДЭС для электросчётчиков. Все они работают по RS-485, например.

С модемом та же ситуация: ему нужны текстовые команды. А для модулей ввода-вывода (они - НЕ модули расширения, они могут работать как самостоятельное устройство) нужен протокол Modbus RTU.
Так как один интерфейс в одно время может работать по одному протоколу - то ничего и не получится.
Поэтому надо или модем переводить на RS-232 (я так обычно их к ПЛК110 подключаю во всех проектах), или отказываться от него.

EFrol
18.06.2024, 08:48
В общем так, похоже что на одном 485ом не могут сидеть и блоки расширения для ПЛК110 и ПМ01.. так как ПМ01, захватывает порт и все модули отваливаются, если это не так подскажите как правильно это реализовать на одном интерфейсе.. Попытка изменить идентификатор узла ни к чему не привела . Device как был ноль, так и остался. Открытие и закрытие порта после передачи СМС не устраивает.. так как модули расширения висят.. Заранее спасибо..

Мысль правильная! ПМ01 не работает по протоколам Modbus и OWEN, поэтому будет пытаться ответить на любой запрос, который сформирует ПЛК (для модулей расширения), что приводит к коллизии в сети RS485. Однако ПЛК110 , если я не ошибаюсь, имеет 1 RS232 и 1 Debug-RS232. Выделите один из них для работы с ПМ01.

Potoks
18.06.2024, 08:58
Разумеется , так и сделаю, просто я пока начинающий, и это оборудование для меня новое.. )) Смутило то что в проекте на схеме указано именно соединение по 485ому в одной цепочке с модулями расширения ввода вывода.. отсюда и косяк.. Всем спасибо за разъяснения (в общем сам до них дошел, но приятно получить подтверждение ...))))

Cs-Cs
18.06.2024, 09:14
Potoks Да. Многие путают Интерфейс и Протокол. Интерфейс может быть один, но протоколы разные.

Potoks
20.06.2024, 14:32
не могу подобрать номер девайся для ПЛК100 и ПМ01 интерфейс 485-2 (на нем кроме ПМ01 ничего больше нет), 485-1 (0- девайс, занят). Прогнал номера 1 до 10 ... глухо
ПМ01 с компом через HT работает норм , отправляет СМС, минимальный таймаут 10мс на ПЛК тоже выставил. 76742
76745

Николай Суриков
20.06.2024, 15:43
https://owen.ru/uploads/373/syslibcom_comid.pdf

Potoks
20.06.2024, 15:46
нифига.. (прежде чем сюда писать) все до дыр прочитал..))

capzap
20.06.2024, 15:50
0- девайс, занят

как Вы определили что занят?

Potoks
20.06.2024, 16:07
у меня на нем висят модули расширения ...4Д + ...8А .. я про это писал выше , вешаю ПМ01 на Dev 0, вырубаются эти модули

capzap
20.06.2024, 16:16
у меня на нем висят модули расширения ...4Д + ...8А .. я про это писал выше , вешаю ПМ01 на Dev 0, вырубаются эти модули
читаем реальную документацию на библиотеку SmsOwenLib про DeviceNumber
номер модуля UNM – нумерация идет с 0 по порядку сверху вниз как расположены модули UNM в конфигурации, первый сверху модуль UNM имеет номер 0, следующий номер UNM – 1, и так далее Только модули, называющиеся , Universal network module, поэтому в ПОУ OpenPort и FB_SMS_** нужно подавать ноль
Почему отваливаются модули ввода вывода, это с модемом ни как не связано, на скрине каша из слейвов и мастеров модбас, какой из них на каком порту нам не известно без проекта. Первое что Вам нужно следать это не зачитывать электронные документы до дыр, а создать пустой проект только с UNM и протестироовать отправку cмc как Вы делаете это в винде через терминал, только потом уже добавлять в рабочий проект или переделывать его

Potoks
20.06.2024, 16:22
по видимому вы правы, я просто самое сложное реализовал, просто не мог себе представить что вроде простая вещь а столько проблем , прогнал все номера с 1 по 10 и хрен там.. Что бы не ломать все , попробую поступить так, перевешу все оборудование на RS-482-2 а модем на первый..

capzap
20.06.2024, 16:26
по видимому вы правы, я просто самое сложное реализовал, просто не мог себе представить что вроде простая вещь а столько проблем , прогнал все номера с 1 по 10 и хрен там.. Что бы не ломать все , попробую поступить так, перевешу все оборудование на RS-482-2 а модем на первый..

я вобще не про это говорил, ни какого отношения к физическим последовательным портам подключение модема отношение не имеет, внутри модуля UNM выбирается с каким RS485 будет работать модем

Лосев Олег
20.06.2024, 18:34
Добрый вечер.Задавал вопрос по копированию проекта и разбивки его на ФБ.
Всё получилось огромное спасибо за советы. Но теперь опять засада.
При эмуляции выводит кучу ошибок 4331 ( десять раз проверил обьявление переменных)
Скрин прилагаю.76752

Валенок
20.06.2024, 18:39
скрин не того места

1exan
20.06.2024, 18:39
Добрый вечер.Задавал вопрос по копированию проекта и разбивки его на ФБ.
Всё получилось огромное спасибо за советы. Но теперь опять засада.
При эмуляции выводит кучу ошибок 4331 ( десять раз проверил обьявление переменных)
Скрин прилагаю.

Ну так потыкайте в ошибки - проблемное место откроется и выделится

In_Da_Cher_A
20.06.2024, 18:41
Добрый вечер.Задавал вопрос по копированию проекта и разбивки его на ФБ.
Всё получилось огромное спасибо за советы. Но теперь опять засада.
При эмуляции выводит кучу ошибок 4331 ( десять раз проверил обьявление переменных)
Скрин прилагаю.76752проверьте, что у вас переменная "физически" прикреплена ко входу ФБ

Лосев Олег
20.06.2024, 18:55
Вот еще скрин.76753

Лосев Олег
20.06.2024, 18:58
вот тело самой программ76754ы

In_Da_Cher_A
20.06.2024, 19:08
так получается ФБ нагрев_пуск не стыкуется по типу входов внутри ФБ с перменными, которые вы в него отправили
и сделайте Порядок - в соответствии с потоком данных и покажите то место, на которое ссылается ошибка
вы ни один скрин не сделали как надо, чтоб можно было увидеть

вот у вас на вход PH_kamera_in который вы объявили как REAL отправили переменную PH_kamera1 - а вы её как объявили и где?

у вас порядок как-то через задницу - ФБ номер 28, выход ФБ номер 25 и так далее

внутри ФБ тоже самое - порядок скачет

Лосев Олег
20.06.2024, 19:20
Вот ошибки и место в программе76756
Да я так понимаю что ругается на input переменные но по факту всё присоединено.
А он не видет.

In_Da_Cher_A
20.06.2024, 19:25
так где объявление переменных РН бла бла бла и так далее - в ПЛС_ПРГ где оно?

Лосев Олег
20.06.2024, 19:31
Вот пожалуйста76757
по поводу порядка нажимаю в соотв. с пот. дан. - ничего не меняется

Лосев Олег
20.06.2024, 19:50
Стер все переменные - установил заново. Все равно не видет.

Лосев Олег
20.06.2024, 19:53
Может быть я что то делаю не так при создании ФБ.

In_Da_Cher_A
20.06.2024, 19:55
Стер все переменные - установил заново. Все равно не видет.
наведите на переменную указателем, на имя нажмите и потом F2 нажмите и найдите свои переменные на которые ругается КДС в списке глобальных
в ПЛС ПРГ

In_Da_Cher_A
20.06.2024, 19:59
я не силён в протоколе ОВЕН, но вот это место мне совсем непонятно
76758
вы сделали Модбас Мастер на РС-1 и засунули в него аналоговый модуль по протоколу ОВЕН?

In_Da_Cher_A
20.06.2024, 20:03
разве протокол ОВЕН не должен быть "отдельно" обяъвлен?
76759
у вас в Ф2 нет глобальных переменных? потому что вы неправильно сделали опрос аналогового модуля?
и поэтому КДС не видит ничего на входе ФБ
я лично вот так понимаю весь этот ребус с ошибками

Лосев Олег
20.06.2024, 20:28
когда программа была одной простыней без ФБ, я все модули подключал на столе и все работало( модуль выдавал все показания и температуры и влажности). Потом мне надо было продлить программу а кодесис мне не дал прокрутить и вставить код. Тогда мне подсказали сделать ФБ и вот после этого начались проблемы.

Лосев Олег
20.06.2024, 20:28
При нажатии на F2 ничего не происходит

In_Da_Cher_A
20.06.2024, 20:58
При нажатии на F2 ничего не происходитвставьте в ПЛС ПРГ на поле переменную
выделите её имя и Ф2 вызовите Ассистент ввода
76760

In_Da_Cher_A
20.06.2024, 21:04
когда программа была одной простыней без ФБ, я все модули подключал на столе и все работало( модуль выдавал все показания и температуры и влажности). Потом мне надо было продлить программу а кодесис мне не дал прокрутить и вставить код. Тогда мне подсказали сделать ФБ и вот после этого начались проблемы.ФБ здесь вообще мимо, глобальные переменный должны быть глобальными независимо есть или нет ФБ
я не знаю, как у вас и что работало, я вижу подозрительное для меня место потенциальных проблем
если вы можете объяснить как по Модбас Мастер опрашивает модуль по протколу ОВЕН - расскажите, я у вас чему-то научусь
но чисто мой скромный опыт подсказывает, что так работать не может. Я поделился с вами моими сомнениями. Развейте их, если можете

In_Da_Cher_A
20.06.2024, 21:21
КДС ругается на переменные, он их не видит
спрашиваю - как вы их объявили?
вы показываете конфигурацию (история с Модбас Мастер - ОВЕН пока опустим, пусть это рабочая схема. ок)
но тогда,
переменные, объявленные в конфигурации, должны быть в списке глобальных и тогда КДС не будет кричать, что на входе ФБ у него нет ничего
где они у вас?

Валенок
20.06.2024, 22:13
Кто-нить предложит выложить проект, или так и будет проктология по факсу?

In_Da_Cher_A
20.06.2024, 23:30
зачем? всё есть на картинках, в другом КДС будет тоже самое
наводящие вопросы задали, ответа пока нет
гораздо полезнее, если сам найдёт и исправит косяк

Лосев Олег
21.06.2024, 19:23
ФБ здесь вообще мимо, глобальные переменный должны быть глобальными независимо есть или нет ФБ
я не знаю, как у вас и что работало, я вижу подозрительное для меня место потенциальных проблем
если вы можете объяснить как по Модбас Мастер опрашивает модуль по протколу ОВЕН - расскажите, я у вас чему-то научусь
но чисто мой скромный опыт подсказывает, что так работать не может. Я поделился с вами моими сомнениями. Развейте их, если можете

Я обязательно вам покажу в работе с подключенными датчиками и с показаниями. Только сейчас на даче просто в кодесис гоняю программу.

Лосев Олег
21.06.2024, 19:26
Я нашел причину почему ФБ невидит переменные - я когда разбивал программу на ФБ просто копировал кусок программы и переносил в чистый ФБ.
И видно нажимал "вставить" несколько раз и по этому блоки наслоились друг на друга.

In_Da_Cher_A
21.06.2024, 19:47
так что с Ф2 и глобальными переменными?

SeR681
21.06.2024, 21:38
Добрый день, помогите пожалуйста сделать лабораторную работу, сессия горит. Да и разобраться хотелось бы как ее сделать. 76788

In_Da_Cher_A
22.06.2024, 00:30
Да и разобраться хотелось бы как ее сделатьгод назад надо было начинать хотеть, сейчас уже поздно

SeR681
22.06.2024, 10:09
год назад надо было начинать хотеть, сейчас уже поздно
Поможете, или будете глумиться)?

Николай Суриков
22.06.2024, 10:46
Поможете, или будете глумиться)?

Чем помочь? Для каждой позиции в вашем вопросе есть страница в википедии с картинками, как эти элементы реализовать на логических элементах. Ссылки надо дать или сами справитесь?

SeR681
22.06.2024, 11:15
У меня не получается связать с визуализацией это. Кнопки сделал, не получается сделать что бы они работали. 76798

SeR681
22.06.2024, 11:19
Код шифратора приоритетов получился вот такой

PROGRAM PLC_PRG
VAR
Input1, Input2, Input3: BOOL;
Priority1, Priority2, Priority3: INT;
END_VAR


IF Input1 THEN
Priority1 := 1;
END_IF;

IF Input2 THEN
Priority2 := 1;
END_IF;

IF Input3 THEN
Priority3 := 1;
END_IF;

Как его визуализировать в этом виде что бы76799 он работал?

EFrol
22.06.2024, 11:20
У меня не получается связать с визуализацией это. Кнопки сделал, не получается сделать что бы они работали. 76798

У Вас в задании "разработать схему с помощью логических операторов".
Где здесь схема? И где логические операторы?

SeR681
22.06.2024, 11:26
Получается язык реализации CFC?

EFrol
22.06.2024, 11:29
Получается язык реализации CFC?

Та это Вы нам скажите! На каком языке собираетесь ваять?

SeR681
22.06.2024, 11:30
Ну если схема получается на cfc.

EFrol
22.06.2024, 11:33
Ну если схема получается на cfc.

А FBD (https://ru.wikipedia.org/wiki/FBD#:~:text=FBD%20(%D0%B0%D0%BD%D0%B3%D0%BB.,%D1%8 6%D0%B5%D0%BF%D0%B5%D0%B9%2C%20%D0%B2%D1%8B%D0%BF% D0%BE%D0%BB%D0%BD%D1%8F%D0%B5%D0%BC%D1%8B%D1%85%20 %D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D 0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%20%D1%81% D0%B2%D0%B5%D1%80%D1%85%D1%83%20%D0%B2%D0%BD%D0%B8 %D0%B7.) и LD (https://ru.wikipedia.org/wiki/Ladder_diagram) уже на схемы не похожи?

SeR681
22.06.2024, 11:34
VAR
Input1, Input2, Input3 : BOOL;
Output : WORD;
END_VAR
Output := TO_WORD(TO_INT(Input3) * 4 + TO_INT(Input2) * 2 + TO_INT(Input1));
Так?

EFrol
22.06.2024, 11:39
VAR
Input1, Input2, Input3 : BOOL;
Output : WORD;
END_VAR
Output := TO_WORD(TO_INT(Input3) * 4 + TO_INT(Input2) * 2 + TO_INT(Input1));
Так?

Мне больше так нравится:
76800

Так как у Вас "шифратор ПРИОРИТЕТОВ" то лучше так:


VAR
Input1, Input2, Input3 : BOOL;
Output : WORD;
END_VAR

Output := 0;
IF Input1 THEN Output := 1; END_IF
IF Input2 THEN Output := 2; END_IF
IF Input3 THEN Output := 3; END_IF


Разница видна ?

Валенок
22.06.2024, 13:13
Output := 0;
IF Input1 THEN Output := 1; END_IF
IF Input2 THEN Output := 2; END_IF
IF Input3 THEN Output := 3; END_IF

==


Output.0 := (input1 and not input2) or input3;
Output.1 := input2 or input3;
Одни логические)

Лосев Олег
23.06.2024, 07:26
Еще раз говорю - потерпите нет пока перед собой оборудования.

Dimensy
23.06.2024, 12:12
Добрый день, помогите пожалуйста сделать лабораторную работу, сессия горит. Да и разобраться хотелось бы как ее сделать. 76788

Вот пример шифратора с приоритетом. Схема, правда, не оптимизированная

SeR681
23.06.2024, 18:02
Правильно я понимаю, что схемы дешифратора изображаются в зеркальной виде?

Dimensy
23.06.2024, 19:38
На каком языке это писать?

А в какой среде вы это должны сделать?

SeR681
23.06.2024, 20:39
Правильно я понимаю что схема дешифратора будет выглядеть зеркально шифратору или нет?76817

Dimensy
23.06.2024, 21:11
Правильно я понимаю что схема дешифратора будет выглядеть зеркально шифратору или нет?76817

нет, дешифратор будет выглядеть так
76818

а, вообще, вот, держите

SeR681
23.06.2024, 23:30
Огромное спасибо. Есть еще добрые люди, которые помогают.

donvictorio
24.06.2024, 00:06
исходные данные: ПР200, (регулятор температуры):
3 датчика температуры, выход - float
хочу: выбор датчика через combo box на дисплее.
combo box выдаёт целочисленные значения 0,1,2,3...
решение вижу так: некий десятично-двоичный(или секвентальный) дешифратор, который управляет "переключателем" на fmul (с умножением ненужных линий на ноль с дальнейшим суммированием)), типа как в макросе sel_float.
76824

вопрос: есть ли более адекватные решения?
я с овенлоджиком третий день работаю, пока только учусь, многие вещи неочевидны. если есть что-то похожее, скиньте ссылку, на форуме что-то найти нереально.
спасибо.

Сергей0308
24.06.2024, 00:19
исходные данные: ПР200, (регулятор температуры):
3 датчика температуры, выход - float
хочу: выбор датчика через combo box на дисплее.
combo box выдаёт целочисленные значения 0,1,2,3...
решение вижу так: некий десятично-двоичный(или секвентальный) дешифратор, который управляет "переключателем" на fmul (с умножением ненужных линий на ноль с дальнейшим суммированием)), типа как в макросе sel_float.
76824

вопрос: есть ли более адекватные решения?
я с овенлоджиком третий день работаю, пока только учусь, многие вещи неочевидны. если есть что-то похожее, скиньте ссылку, на форуме что-то найти нереально.
спасибо.

Наверно Вы хотите мультиплексор для переменных с плавающей запятой, в смысле, такие встречались на форуме, посмотрите в менеджере компонентов.

Dimensy
24.06.2024, 00:23
исходные данные: ПР200, (регулятор температуры):
3 датчика температуры, выход - float
хочу: выбор датчика через combo box на дисплее.
combo box выдаёт целочисленные значения 0,1,2,3...
решение вижу так: некий десятично-двоичный(или секвентальный) дешифратор, который управляет "переключателем" на fmul (с умножением ненужных линий на ноль с дальнейшим суммированием)), типа как в макросе sel_float.
76824

вопрос: есть ли более адекватные решения?
я с овенлоджиком третий день работаю, пока только учусь, многие вещи неочевидны. если есть что-то похожее, скиньте ссылку, на форуме что-то найти нереально.
спасибо.

А почему в теме cоdesys?

76825

З.Ы. А макрос SEL_FLOAT давно пора из менеджера выкинуть

donvictorio
24.06.2024, 00:44
Наверно Вы хотите мультиплексор для переменных с плавающей запятой, в смысле, такие встречались на форуме, посмотрите в менеджере компонентов.
да, спасибо, это то, что нужно! я только сейчас нашёл поле поиска, а изначально искал компонент в дискретных преобразователях. ещё бы найти поле поиска в библиотеке компонентов, что слева в окне овенлоджика, было бы вообще потрясно!

А почему в теме cоdesys?

76825

З.Ы. А макрос SEL_FLOAT давно пора из менеджера выкинуть
новички, они такие, могут и тему перепутать :))
я пока только готовыми компонентами пользуюсь, а они есть в основном в библиотеке, некоторые светятся жёлтыми линиями и сыпят предупреждениями, но я не знаю, что с этим делать. прибор вроде норм работает. на температуру реагирует.

stdenits
24.06.2024, 18:09
Имеются ли ограничения на количество записываемых в слэйв-устройство регистров для ПЛК63? (протокол RS-485, ПЛК63 - мастер, библиотека - Modbus от Овен)
При попытке записать 50+ регистров за одну сессию постоянно выдаёт ошибку 254.

ASo
24.06.2024, 19:22
Устройство принимает такую запись?
Вы проверили это отдельной программой?

SlavikP
25.06.2024, 07:52
Там еще есть ограничение на общий размер пакета: не более 252 байта данных. Что дает при записи регистров типа Float всего 63 регистра.
И это ограничение похоже фундаментальное ;)

stdenits
26.06.2024, 08:35
Устройство принимает такую запись?
Вы проверили это отдельной программой?
Пытаюсь писать в панель оператора СП310 (множество регистров за раз, Modbus RTU). Она поддерживает функцию 16 (0x10).

Там еще есть ограничение на общий размер пакета: не более 252 байта данных. Что дает при записи регистров типа Float всего 63 регистра.
И это ограничение похоже фундаментальное ;)
Спасибо за ваше уникальное предположение, но нет: отправить получается всего 30 регистра из 57.

Нашёл ещё вот такой пост (https://owen.ru/forum/showthread.php?t=8556&p=282078&viewfull=1#post282078).
ПЛК63 ещё старой версии, до ревизии.

ASo
26.06.2024, 09:34
При чем тут версия ПЛК, если Вы используете библиотеку?
Повторяю вопрос - Вы тестовой программой, скажем ОРС сервером - пробовали?

stdenits
26.06.2024, 11:14
Повторяю вопрос - Вы тестовой программой, скажем ОРС сервером - пробовали?
Нет, не пробовал.

Валенок
26.06.2024, 15:27
... Нашёл ещё вот такой пост (https://owen.ru/forum/showthread.php?t=8556&p=282078&viewfull=1#post282078).
.
Там самый лучший пост - #2

ASo
26.06.2024, 16:09
Нет, не пробовал.

Так начните с этого. Может, панель не принимает столько регистров в одном запросе.

Валенок
26.06.2024, 16:37
.. Может, панель не принимает столько регистров в одном запросе.
Принимает 120+
Код или адресация (что тоже код)

Muran201267
26.06.2024, 20:12
Доброго всём вечера. Подскажите пожалуйста, столкнулся с проблемой. Сам я занимаюсь электрикой. Частный дом на плите смонтировал электрику гофра 20-ка. После монтажа появился теплотехник, будет монтировать в доме отопление, т&#235;плый пол(кот&#235;л), закупил плекс 10-ку, требует убрать гофру с кабелями с пола, якобы при монтаже плекса ему гофра будет мешать. Сделать выборку в плексе отказывается (под гофры), говорит это нарушение технологии монтажа пеноплекса. Какую либо нормативку предоставить отказывается. Я не вижу в этом проблемы, сделать выборку в плексе на глубину гофры. Подскажите как быть, что делать? Есть ли реально нарушение? Спасибо.

Валенок
26.06.2024, 23:06
..Частный дом ..Подскажите как быть, что делать? ...
Скажите ему волшебные слова:
"Я это оплачу, мне не нужна Ваша гарантия и я это подпишу"

Sergey666
27.06.2024, 12:24
Подскажите как быть, что делать?

Сменить теплотехника.

Sergey666
27.06.2024, 12:25
Скажите ему волшебные слова:
"Я это оплачу, мне не нужна Ваша гарантия и я это подпишу"

Так он специально косяк какой-нибудь запорет..., нет только замена

Валенок
27.06.2024, 18:42
Так он специально косяк какой-нибудь запорет..., нет только замена
Вы знаете полную предысторию? Я - нет

Известная вводная:

Я не вижу в этом проблемы,.
Неизвестная вводная:
Что видит тот монтажник
++
Извините.
Тот монтажник (с слов) видит нарушение технологии (какой бы она ни была) своей работы, за которую он (видимо) отвечает.
Я так понял, что Вы таких случаях просто берете другого монтажника который положит болт на эту (не знаю какую) технологию и сделает как Вы хотите и конечно же будет отвечать за конечный результат. Я тоже, как и Вы Sergey666, всегда доверяю таким монтажникам.
++


Как вариант:
Чел приехал, сделал очень просимую клиентом максимальную скидку видя идеальные для него условия монтажа.
Скомплектовавшись, он приехал на монтаж и внезапно увидел другие, значительно ухудшившиеся для него условия - дополнительные работы и т.п.
Вот лично Ваши на его месте в таком случае действия - какие?

--
А так да. Ведь за забором очередь готовых согласится на всё профессионалов))

Sergey666
28.06.2024, 08:18
Валенок, если есть желание поболтать, давай в курилку и там обсудим.

Potoks
28.06.2024, 11:39
Помогите разобраться в ситуации .. простой пример. Записываю 3 переменные с ПЛК110-30 в СП310 , все нормально (соответственно каждый в свой регистр).
Есть модуль МК110-8А с которого получаю температуру. Далее в главном модуле (PLC_PRG) делаю присвоение тмп из МЛ110-8А в регистр СП310. Все нормально работает

НО если я добавляю еще одну переменную в ПЛК любую (8bit Registr, Real), на панели все нормально , циферки бегают. НО присвоение в главном модуле пропадает.
Как понять где косяк и если есть методика поиска таких непоняток, буду признателен.76921

Potoks
28.06.2024, 15:23
Для начинающих как я..)) окакзалось (как и думал) все лежит на поверхности.. Перед загрузкой надо полностью очистить проект (в меню -> очистить все) и только после этого грузить..

Вячеслав@
01.07.2024, 11:47
Добрый день. Прошу знатоков подсказать. У меня бОльшая часть кода уникальна (не повторяется в разных частях программы). Портянка на несколько сот строк в PLC_PRG крайне неудобна. Функция также неудобна, так как не видишь процесс внутри (вроде ведь нельзя посмотреть конкретный экземпляр, как в FB?). Плюс нужно объявлять входные выходные переменные.
А мне нужно просто сгруппировать код на несколько частей.
Собственно вопрос - корректно ли для этого использовать Программы вместо FB и FN? Допустим их будет 15 штук. Влияет ли это на скорость работы ПЛК, на распределение памяти и т.д.? Мне такой вариант наиболее удобен, но не знаю про наличие подводных каменй.

1exan
01.07.2024, 11:57
Добрый день. Прошу знатоков подсказать. У меня бОльшая часть кода уникальна (не повторяется в разных частях программы). Портянка на несколько сот строк в PLC_PRG крайне неудобна. Функция также неудобна, так как не видишь процесс внутри (вроде ведь нельзя посмотреть конкретный экземпляр, как в FB?). Плюс нужно объявлять входные выходные переменные.
А мне нужно просто сгруппировать код на несколько частей.
Собственно вопрос - корректно ли для этого использовать Программы вместо FB и FN? Допустим их будет 15 штук. Влияет ли это на скорость работы ПЛК, на распределение памяти и т.д.? Мне такой вариант наиболее удобен, но не знаю про наличие подводных каменй.

Не должно быть проблем - разбивайте и вызывайте их в нужной последовательности из PLC_PRG или через диспетчер задач (что наверное правильней)

Cs-Cs
01.07.2024, 12:42
Вячеслав@ Есть ещё один вариант: использовать Действия в Программе. Только вчера ночью упоминал про них в своей статье: https://cs-cs.net/funkciya-fun-i-funkcionalniy-blok-fb-codesys-owenlogic#6___fb (заголовок 6).
Вставлю оттуда скриншотв. Суть в том, что в Программу ПЛК можно добавить по правой кнопке Действие.
Действие - это просто кусок кода, который подчинён программе и имеет доступ ко всем её переменным.
Потом можно эти Действия вызывать в нужном месте программы.
Я пользуюсь ими, когда надо сделать сложный FB или разбитть программу (PRG) на разные части.

76963 76964

Вячеслав@
01.07.2024, 14:48
Благодарю от всей души! Действительно очень удобно!

Cs-Cs
01.07.2024, 14:57
Благодарю от всей души! Действительно очень удобно! Спасибо! И мне приятно: только вот написал статью, и уже в дело пошла!

Sergey666
02.07.2024, 12:37
Спасибо! И мне приятно: только вот написал статью, и уже в дело пошла!

Что вы мозги людям пудрите?
Из вашей статейки вот это? Раздел 7
"Для того, чтобы остановить таймер немедленно, надо задать ему PT, равное нулю: это прекратит отсчёт времени. Для этого можно использовать оператор SEL:"

Это зачем такие извращения? Таймер TON останавливается при In:=False, вот с таймером TOF и PT дело другое.

Также бессмысленная строка "fbDelay(In:=DoWork,Pt:=t#10s)" в данном куске кода, вы своих читателей к индокришнаизму склоняете.

Cs-Cs
02.07.2024, 19:37
Таймер TON останавливается при In:=False, вот с таймером TOF и PT дело другое Ну. И? Что не так? Я и пишу про ВСЕ таймеры сразу. Поэтому твой частный случай включён в подмножество общих случаев. Л - логика.

бессмысленная строка "fbDelay(In:=DoWork,Pt:=t#10s)" в данном куске кода Ну, да. Это ж абстрактный вызов какого-то таймера, где на IN передаётся переменная, а на PT - явно заданное время. Всё так и должно быть.

Валенок
02.07.2024, 21:10
ВСЕ таймеры сразу.
где ж все сразу? Вот сразу, все и надежно
p^ := p := 0;

amaterasu
03.07.2024, 13:48
нужна помощь с расходомером, вот пример прерываний в сименс, можно ли сделать что то похожее для плк 110? очень нужна помощь совсем недавно начал работать с контроллерами

kondor3000
03.07.2024, 14:02
нужна помощь с расходомером, вот пример прерываний в сименс, можно ли сделать что то похожее для плк 110? очень нужна помощь совсем недавно начал работать с контроллерами

Вы бы хоть написали какая максимальная частота импульсов на расходомере. Может там и не нужны прерывания.

Для ПЛК110-30 [M02] v2- Два быстрых входа до 100 кГц https://owen.ru/product/plk110_m02
ПЛК110-60[М02] четыре быстрых входа до 100 кГц

Измерить кол-во импульсов и умножить на цену импульсов можно даже на реле типа ПР103 (ПР205) с быстрыми входами.
До 4 быстрых дискретных входов, частота до 100 кГц. https://owen.ru/product/pr103

Sergey666
03.07.2024, 15:59
нужна помощь с расходомером, вот пример прерываний в сименс, можно ли сделать что то похожее для плк 110? очень нужна помощь совсем недавно начал работать с контроллерами

Если нужна помощь с чем-либо, то необходимо выкладывать наименование этого чего-либо и желательно ссылки на документацию, а скринщЁтик с какой то лабудой это на ТНТ в шоу экстрасенсов.

In_Da_Cher_A
03.07.2024, 17:14
нужна помощь с расходомером, вот пример прерываний в сименс,кучка из 4 каких-то блоков, самое веселье, что 2 из них - это блок MOVE :D

можно ли сделать что то похожее для плк 110? можно. а можно и не сделать. такой ответ не устроит?

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

Вы бы хоть написали какая максимальная частота импульсов на расходомерек примеру 500 гц, обычно так у Взлёта было. Расходомер щёлкает литрами в секунду, и надо настраивать коэффициенты преобразования выхода, отталкиваясь от свойств приёмника по частоте и принимаемой длительности импульсов.
поэтому просто так бесполезно смотреть на один расходомер, возможно пролезешь по частоте, но не по длительности импульса

Potoks
08.07.2024, 10:41
понимаю что не сюда, кто имел дело с нашим позитрон VR задолбался чет с ним , модем поднял IP и DNS получает DHCP раздает, похоже надо фильтры настраивать как в mikrotik но чета никак.. заранее благодарен

atomo2
08.07.2024, 10:45
Добрый день, подскажите пожалуйста какой у меня тут адрес будет для панели Weintek чтоб кнопку привязать (плк овен 160)
Если сам считаю, то получается 55.1 - 55.2 :eek:
77133

kondor3000
08.07.2024, 10:49
Добрый день, подскажите пожалуйста какой у меня тут адрес будет для панели Weintek чтоб кнопку привязать (плк овен 160)
Если сам считаю, то получается 55.1 - 55.2 :eek:
77133

Ктож так делает?
Считать умаешься ставьте 8 Bit в начале, потом целочисленные, потом Float и сразу нумеруйте регистры и биты.
Все регистры и биты начинаются с нуля.

Это 50 регистр 0 и 1 биты.

2 штуки 8 Bit - это 1 регистр
2 Byte - это 1 регистр
Float - это 2 регистра

atomo2
08.07.2024, 11:07
Ктож так делает?
Считать умаешься ставьте 8 Bit в начале, потом целочисленные, потом Float и сразу нумеруйте регистры и биты.
Все регистры и биты начинаются с нуля.

Это 50 регистр 0 и 1 биты.

2 штуки 8 Bit - это 1 регистр
2 Byte - это 1 регистр
Float - это 2 регистра

Спасибо, получается будет 0х 50:0 и 0х50:1 ?77134

1exan
08.07.2024, 11:31
Спасибо, получается будет 0х 50:0 и 0х50:1 ?

Не надо никаких двоеточий, последние два знака - это номер бита в регистре
77136
___

77135

kondor3000
08.07.2024, 13:56
Спасибо, получается будет 0х 50:0 и 0х50:1 ?77134

Считается не так, если обращение к битам в регистре, то 4xBit 5000, 4xBit 5001
Если обращение напрямую к битам , то адрес бита - это номер регистра умноженный на 16 + номер бита (50*16+0=800), то будет 0х 800, 0х801
Так же в некоторых панелях, адреса +1 к адресам в ПЛК, надо проверить и 51 регистр, если не будет работать 50

Николай Суриков
08.07.2024, 14:37
...
Так же в некоторых панелях, адреса +1 к адресам в ПЛК, надо проверить и 51 регистр, если не будет работать 50

Уточню, что так как речь идет про панели Weintek, то в настройках связи надо выбирать Modbus (Zero-based-address), тогда нумерация регистров идет с нуля.

atomo2
09.07.2024, 06:16
Спасибо всем за помощь

vsa
09.07.2024, 16:39
Тут пришлось менять целевую платформу для программы в среде CodeSys V2.3.9.41 с ПЛК110-24.30.P [M02] на ПЛК110-24.32.P [M02]. Зашел в пункт "Настройки целевой платформы", выбрал PLC110.32-M v2 и нажал OK. Вроде, все прошло хорошо, но , если зайти в "Конфигурация ПЛК", то стоит PLC110_30! Пришлось вообще выбрать конфигурацию "None" и только потом выбрать PLC110.32-M v2. Теперь все правильно отображается в Конфигурации ПЛК - PLC110_30. Так должно быть ? Или я что-то, как обычно, зеванул при настройки конфигурации?

1exan
09.07.2024, 17:06
Тут пришлось менять целевую платформу для программы в среде CodeSys V2.3.9.41 с ПЛК110-24.30.P [M02] на ПЛК110-24.32.P [M02]. Зашел в пункт "Настройки целевой платформы", выбрал PLC110.32-M v2 и нажал OK. Вроде, все прошло хорошо, но , если зайти в "Конфигурация ПЛК", то стоит PLC110_30! Пришлось вообще выбрать конфигурацию "None" и только потом выбрать PLC110.32-M v2. Теперь все правильно отображается в Конфигурации ПЛК - PLC110_30. Так должно быть ? Или я что-то, как обычно, зеванул при настройки конфигурации?

Обычное дело

Cs-Cs
09.07.2024, 17:10
Так должно быть. При смене целевой платформы надо сбрасывать конфигурацию ПЛК. Иначе ничего даже и работать не будет.

kondor3000
09.07.2024, 17:26
Тут пришлось менять целевую платформу для программы в среде CodeSys V2.3.9.41 с ПЛК110-24.30.P [M02] на ПЛК110-24.32.P [M02]. Зашел в пункт "Настройки целевой платформы", выбрал PLC110.32-M v2 и нажал OK. Вроде, все прошло хорошо, но , если зайти в "Конфигурация ПЛК", то стоит PLC110_30! Пришлось вообще выбрать конфигурацию "None" и только потом выбрать PLC110.32-M v2. Теперь все правильно отображается в Конфигурации ПЛК - PLC110_30. Так должно быть ? Или я что-то, как обычно, зеванул при настройки конфигурации?

Однако плохо вы научились) Это всё обсуждалось уже, обязательно сделать копию проекта, после смены платформы, надо нажать
Дополнения/ Стандартная конфигурация, только тогда появится новая пустая конфигурация.
Всё что добавлено в конфигурации (Мастера, слейвы), можно перенести программой переноса. Руками набить только переменные в самой конфигурации https://owen.ru/forum/showthread.php?t=18269

vsa
09.07.2024, 17:39
kondor3000, извини, что "туплю". Просто, я не так часто изменяю целевую платформу в своих проектах. Спасибо за ответ!