Вход

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



Страницы : 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

vsa
09.07.2024, 18:02
И вдогонку еще один вопрос. У ПЛК110-24.32.Р [M02] 14 релейных выходов. Почему в CodeSys указывается, что в конфигурации контроллера 20 выходов. Я понимаю, что последние 6 выходов не доступны. Или где-то в системе прописываются реальные доступные выходы? Есть такой пункт в системе, где я могу посмотреть реальные выходы?77158

kondor3000
09.07.2024, 18:12
И вдогонку еще один вопрос. У ПЛК110-24.32.Р [M02] 14 релейных выходов. Почему в CodeSys указывается, что в конфигурации контроллера 20 выходов. Я понимаю, что последние 6 выходов не доступны. Или где-то в системе прописываются реальные доступные выходы? Есть такой пункт в системе, где я могу посмотреть реальные выходы?

В конфигурации используются стандартные блоки 8 Bit (1 BYTE). Просто не используются последние выходы и всё.
Например у ПЛК110-24.30.Р, этого последнего блока 8 Bit нет вообще (12 выходов), а тут пришлось добавить из-за 2 лишних выходов.
https://owen.ru/product/plk110_m02

Gorynich
11.07.2024, 07:35
Всем доброго времени суток! Недавно начал осваивать ПЛК, когда-то учился на АСУ но по специальности так и не работал. Сейчас появилась возможность, есть реальная задача управление вентиляцией в здании (ПЛК110-220.32.Р-М). Для примера в одной комнате: включение вентилятора 1 раз в 2 часа на 30 мин, так же работа от кнопки. Подскажите как реализовать желательно на CFC, за раннее благодарю!
Для понимания приложил схему автоматизации

In_Da_Cher_A
11.07.2024, 07:59
откройте русскоязычную инструкцию на кодесис 2.3 и начните знакомство с языками "программирования" с выполнения там элементарной задачи Светофор
кроме того, на сайте ОВЕН куча видео, обучающих азам программирования в кдс2.3
кроме того, на ютюбе вагоны видео по кдс 2.3

kondor3000
11.07.2024, 09:06
Всем доброго времени суток! Недавно начал осваивать ПЛК, когда-то учился на АСУ но по специальности так и не работал. Сейчас появилась возможность, есть реальная задача управление вентиляцией в здании (ПЛК110-220.32.Р-М). Для примера в одной комнате: включение вентилятора 1 раз в 2 часа на 30 мин, так же работа от кнопки. Подскажите как реализовать желательно на CFC, за раннее благодарю!
Для понимания приложил схему автоматизации

Это можно сделать на 2 таймерах или одном блоке BLINK ( добавить биб-ку Util.lib)

atomo2
11.07.2024, 09:33
Добрый день, а если в codesys какой ни будь блок , чтобы у меня на входе было от 0 до 100, а на выходе от 100 до 0 ? обратная инверсия грубо говоря

МихаилГл
11.07.2024, 09:36
Добрый день, а если в codesys какой ни будь блок , чтобы у меня на входе было от 0 до 100, а на выходе от 100 до 0 ? обратная инверсия грубо говоря

X1=-1*(X-100)

Dimensy
11.07.2024, 09:38
Добрый день, а если в codesys какой ни будь блок , чтобы у меня на входе было от 0 до 100, а на выходе от 100 до 0 ? обратная инверсия грубо говоря

Самому написать: выход = 100 - вход

МихаилГл
11.07.2024, 09:41
X1=-1*(X-100)


Самому написать: выход = 100 - вход

Я чет намудрил )

Но если ТС начинает искать сложные решения на блоках простых математических операций, это наводит на нехорошие мысли...

kondor3000
11.07.2024, 09:43
Добрый день, а если в codesys какой ни будь блок , чтобы у меня на входе было от 0 до 100, а на выходе от 100 до 0 ? обратная инверсия грубо говоря

Всё просто, достаточно из 100.0 вычесть вход, на выходе будет "как бы "инверсия" 77198

Gorynich
11.07.2024, 11:41
Благодарю за подсказку с Blink всё просто получается

atomo2
15.07.2024, 10:07
Добрый день. Подскажите вот делают пид регулятор , в codesys 2.5 и плк 160 все работает, делаю тоже самое в codesys 3.5 и плк 210 ничего не работает. Где ошибка?7729477295

kondor3000
15.07.2024, 10:22
Добрый день. Подскажите вот делают пид регулятор , в codesys 2.5 и плк 160 все работает, делаю тоже самое в codesys 3.5 и плк 210 ничего не работает. Где ошибка?

У вас минимум больше максимума, уставка SP=0, коэффициены тоже по нулям.

На вход PV_TIME в обоих версиях надо подавать не константу, а циклическое время измерений с текущего аналогового входа.

atomo2
16.07.2024, 12:44
Спасибо , заработало , но не могу никак сделать стабильность, постоянно улетает вот сейчас на 30 градусов улетел(уставка 50)7733577336

kondor3000
16.07.2024, 12:59
Спасибо , заработало , но не могу никак сделать стабильность, постоянно улетает вот сейчас на 30 градусов улетел(уставка 50)7733577336

ПИД плавно работает при +/- 1 (или меньше) градус около уставки, если разница больше 2-5 градусов он быстро улетит в 0 или в максимум.

Dimensy
16.07.2024, 13:14
Спасибо , заработало , но не могу никак сделать стабильность, постоянно улетает вот сейчас на 30 градусов улетел(уставка 50)7733577336

Насколько я понимаю, ХР - это зона пропорциональности, т.е. за пределами этой зоны ПИД принимает крайние значения.
Понятно, что при ХР = 1 регулятор будет колбасить

Валенок
16.07.2024, 15:24
ПИД плавно работает при +/- 1 (или меньше) градус около уставки, если разница больше 2-5 градусов он быстро улетит в 0 или в максимум.
Причём тут ПИД?
Машина хороша ездит на 20км/час, а как быстрее - так сразу улетает в забор. Хреновая машина?
Только настройки.

Cs-Cs
16.07.2024, 18:43
Машина хороша ездит на 20км/час, а как быстрее - так сразу улетает в забор. Хреновая машина? Либо мне надо идти в аналитики, либо в тестировщики.
Кейс: в машине есть какой-то дисбаланс колёс или сбой в системе управления. Поэтому на малых скоростях она едет нормально, а на скоростях, больше 20 км/час, дисбаланс уводит её в сторону, и она по дуге едет до ближайшего забора или столба. Вот.

МихаилГл
16.07.2024, 19:05
Причём тут ПИД?
Машина хороша ездит на 20км/час, а как быстрее - так сразу улетает в забор. Хреновая машина?
Только настройки.


Либо мне надо идти в аналитики, либо в тестировщики.
Кейс: в машине есть какой-то дисбаланс колёс или сбой в системе управления. Поэтому на малых скоростях она едет нормально, а на скоростях, больше 20 км/час, дисбаланс уводит её в сторону, и она по дуге едет до ближайшего забора или столба. Вот.

Ну так правильно, от балансировали колёса (настроили регулятор правильно) и машину не колбасит на высокой скорости.

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

Cs-Cs
16.07.2024, 19:19
МихаилГл Так всё верно, я прав: если колёса в машине не такие, то вся машина целиком - неправильная.
Так что Валенок с метафорой снова ошибся. И ещё про шампанское не ответил.

Валенок
16.07.2024, 20:17
...Так всё верно, я прав: если колёса в машине не такие, то вся машина целиком - неправильная.
Да. Поставили квадратные колеса - машина неправильная и виновата. Кто ж еще как не машина?

Cs-Cs
16.07.2024, 20:32
Да. Поставили квадратные колеса - машина неправильная и виновата. Кто ж еще как не машина? Виновата логика. Машина = Корпус, Гайки, Двигатель, Колёса, Руль. Машина - это целостная сущность. И, если у неё колёса квадратные, то она целиком плохая. Потому что не выполняет своих задач.
Поэтому метафора - валенковская. Или галошная.

Валенок
17.07.2024, 10:13
Виновата логика. Машина = Корпус, Гайки, Двигатель, Колёса, Руль. Машина - это целостная сущность. И, если у неё колёса квадратные, то она целиком плохая. Потому что не выполняет своих задач.
Поэтому метафора - валенковская. Или галошная.
Так кто ж спорит? ПИД не работает. А настройки.. а чо настройки то? ПИД кривой.

Валенок
17.07.2024, 10:31
Виновата логика..
И да. Сложно тут с логикой.


Машина = Корпус, Гайки, Двигатель, Колёса, Руль. Машина - это целостная сущность...
Неа. Кусок железа. Прокладку забыли для целостности.


.. Потому что не выполняет своих задач...
Кусок железа не обязан. Целостная сущность - может.

ПДД РФ

2.3. Водитель транспортного средства обязан:
2.3.1. Перед выездом проверить и в пути обеспечить исправное техническое состояние транспортного средства в соответствии...
....При возникновении в пути прочих неисправностей, с которыми ....запрещена эксплуатация транспортных средств, водитель должен устранить их,..
Но Вы продолжайте жить по Cs-Cs-понятиям: ПИД должен, машина должна..

melky
17.07.2024, 10:39
Cs-Cs про квадратные не скажу, не видел, а на овальных колесах очень даже все правильно двигается, вопрос восприятия и точки зрения :)

Cs-Cs
17.07.2024, 10:53
Я считаю, что у каждого, кто занимается ПЛК, обязана быть культура кода и логика.
У тебя, Валенок, с логикой плохо: ты привёл метафору (надеюсь, ты знаешь, о чём это), которая НЕ подходит к пояснению.
Живу я по понятиям. Юридическим.

Валенок
17.07.2024, 11:22
У тебя, Валенок, с логикой плохо.
Лучше плохо чем вообще без нее как у Вас

Исходное.

ПИД плавно работает при +/- 1 (или меньше) градус около уставки, если разница больше 2-5 градусов он быстро улетит в 0 или в максимум.
Ответ

Причём тут ПИД?
Машина хороша ездит на 20км/час, а как быстрее - так сразу улетает в забор. Хреновая машина?
Только настройки.
По пунктам.

1.Причём тут ПИД?
... а не настройки ?

2.
Машина хороша ездит на 20км/час, а как быстрее - так сразу улетает в забор. Хреновая машина?
... Причем тут машина а не прокладка. См. выше

3.
Только настройки.
См. п.1

Продолжайте витать.

stdenits
17.07.2024, 13:26
Добрый день.

Подскажите, пожалуйста, по сохранению значения параметра по хэшу для ПЛК63 и Codesys V2.3.
В библиотеке Arm7_specific есть функция SAVE_PARAMETER, для которой в примере ПИД-регулятора можно найти обёртку для сохранения переменной типа Float.

Попробовал поправить её по аналогии для сохранения переменной типа WORD (см. вложение), но при вызове функции ничего не происходит, даже из ошибок: ни зависаний, ни ребута, ни некорректных значений.








Что не так я сделал?

1exan
17.07.2024, 13:32
Добрый день.

Подскажите, пожалуйста, по сохранению значения параметра по хэшу.
В библиотеке Arm7_specific есть функция SAVE_PARAMETER, для которой в примере ПИД-регулятора можно найти обёртку для сохранения переменной типа Float.

Попробовал поправить её по аналогии для сохранения переменной типа WORD (см. вложение), но при вызове функции ничего не происходит из ошибок: ни зависаний, ни ребута, ни некорректных значений.

...

Что не так я сделал?



ПЛК то какой?

kondor3000
17.07.2024, 14:08
Добрый день.

Подскажите, пожалуйста, по сохранению значения параметра по хэшу для ПЛК63 и Codesys V2.3.
В библиотеке Arm7_specific есть функция SAVE_PARAMETER, для которой в примере ПИД-регулятора можно найти обёртку для сохранения переменной типа Float.

Попробовал поправить её по аналогии для сохранения переменной типа WORD (см. вложение), но при вызове функции ничего не происходит, даже из ошибок: ребута, ни некорректных значений.


Зачем вам вообще нужны тут функции? Переменные добавленные в конфигурацию (последний ваш скрин) и так энергонезависимые,
если это входы ФБ. Выходы естественно не сохраняться (перезапишутся). Просто перезагрузите питание и проверьте.

stdenits
17.07.2024, 14:13
Зачем вам вообще нужны тут функции?
Я пытаюсь сохранить изменения переменной сделанные в коде, а не через меню ПЛК.

kondor3000
17.07.2024, 14:15
Я пытаюсь сохранить изменения переменной сделанные в коде, а не через меню ПЛК.

1) Функции вообще не имеют памяти, нужно делать ФБ.
2) Читайте выше, всё написано уже.

stdenits
17.07.2024, 16:10
1) Функции вообще не имеют памяти, нужно делать ФБ.
2) Читайте выше, всё написано уже.
Может я плохо объяснил и вы не поняли.

Я опираюсь на пример по ссылке (https://ftp.owen.ru/CoDeSys23/07_Examples/02_Plc63_73/06_Pid_Reg2.zip), где переменные сохраняются во флеш-память при автонастройке ПИД-регулятора. Там они тоже значатся как конфигурационные, но их значению записываются в память с помощью функции save_real().

Пробовал менять значения переменных по ходу выполнения кода (не через режим отладки) и выключить-включить питание ПЛК - не сохраняются, что real, что uint.

Про п.1 не понял что именно вы предлагаете.

kondor3000
17.07.2024, 18:33
Может я плохо объяснил и вы не поняли.

Я опираюсь на пример по ссылке (https://ftp.owen.ru/CoDeSys23/07_Examples/02_Plc63_73/06_Pid_Reg2.zip), где переменные сохраняются во флеш-память при автонастройке ПИД-регулятора. Там они тоже значатся как конфигурационные, но их значению записываются в память с помощью функции save_real().

Пробовал менять значения переменных по ходу выполнения кода (не через режим отладки) и выключить-включить питание ПЛК - не сохраняются, что real, что uint.

Про п.1 не понял что именно вы предлагаете.

Начнём с начала, в программе уже всё сделано для сохранения FLOAT переменных. Это коэффициенты ПИДа, записываются 1 раз, после АНР.
Функции не сохраняют переменные, они сохраняются в программе, а точнее в конфигурации, с помощью функций.
Зачем это переделывать?

Если вам надо сохранить переменные WORD, не надо использовать данную программу (эти функции). Просто используйте другие, новые переменные в конфигурации (Читай выше) или переменные RETAIN. Создайте новый ФБ (функц. блок) и в ФБ пишите, что вам надо.

Или напишите, что вы хотите, подробней.

atomo2
19.07.2024, 05:29
И снова здравствуйте)) Подскажите пытаюсь подключить по 2 rs 485 МДВВ в codesys 3.5 и не подключается
Адрес устройства точно 20, до этого его к компьютеру подключал, все остальные параметры тоже.
Где то, что-то еще нужно прописать? Спасибо
:eek: 774117741277413

1exan
19.07.2024, 06:16
И снова здравствуйте)) Подскажите пытаюсь подключить по 2 rs 485 МДВВ в codesys 3.5 и не подключается
Адрес устройства точно 20, до этого его к компьютеру подключал, все остальные параметры тоже.
Где то, что-то еще нужно прописать? Спасибо
:eek:

Напишите в такую-же тему по CDS3.5, там быстрее помогут

МихаилГл
19.07.2024, 06:16
И снова здравствуйте)) Подскажите пытаюсь подключить по 2 rs 485 МДВВ в codesys 3.5 и не подключается
Адрес устройства точно 20, до этого его к компьютеру подключал, все остальные параметры тоже.
Где то, что-то еще нужно прописать? Спасибо
:eek: 774117741277413

А читаемые регистры где?

atomo2
19.07.2024, 06:20
А читаемые регистры где?

Да, уже дошло что нужно прописать тут 7741477415 только пока не совсем понимаю , что)

atomo2
19.07.2024, 06:20
Напишите в такую-же тему по CDS3.5, там быстрее помогут

Спасибо, сейчас попробую)

stdenits
19.07.2024, 17:55
Или напишите, что вы хотите, подробней.

Спасибо, что ответили. Но вынужден свернуть обсуждаемый вопрос.

Potoks
24.07.2024, 11:59
Как записать и прочитать регистр PFW в макросе панели СП3хх. Что то непонятно , в документации этот вопрос не рассматривается и примеров нет.

EFrol
24.07.2024, 12:10
В этой статье есть примеры: https://aip.com.ru/article/ispolzovanie_makrosov_pri_rabote_s_operatorskimi_p anelyami

Potoks
24.07.2024, 13:45
Спасибо.., очень помогла да и вот еще есть функции которые нифига не описано (выложу скрин), где почитать о них можно77551
тут интуитивно все понятно , просто может еще какие есть , короче все.. подскажите плиз..

Gorynich
26.07.2024, 07:14
Всем привет! Пришла беда откуда не ждали, приехал щит собранный (ПЛК110-220.32.Р.М., модуль МВ110-224.8Дф, и панель СП310-Р) не получается установить связь между панелью и плк по RS485. Всё делал по мануалу, видеоурокам с сайта, но результата нет. ПЛК (slave) - панель (master), настройки: скорость 115200, modbus RTU, адрес плк 10 (скрины приложил). Пробовал вызывать окно отображения интерфейсов по команде 60013, все интерфейсы горят зеленым, кроме того к которому подключен ПЛК (он то красный, периодами зеленый но не долго). Назначил 2 регистра 8 bit для управления с панели выходами на плк, и отображения на панели лампочек при срабатывании выходов на плк. Кто может, подскажите что я пропустил776057760677607

kondor3000
26.07.2024, 08:16
Всем привет! Пришла беда откуда не ждали, приехал щит собранный (ПЛК110-220.32.Р.М., модуль МВ110-224.8Дф, и панель СП310-Р) не получается установить связь между панелью и плк по RS485. Всё делал по мануалу, видеоурокам с сайта, но результата нет. ПЛК (slave) - панель (master), настройки: скорость 115200, modbus RTU, адрес плк 10 (скрины приложил). Пробовал вызывать окно отображения интерфейсов по команде 60013, все интерфейсы горят зеленым, кроме того к которому подключен ПЛК (он то красный, периодами зеленый но не долго). Назначил 2 регистра 8 bit для управления с панели выходами на плк, и отображения на панели лампочек при срабатывании выходов на плк. Кто может, подскажите что я пропустил

Вы с живой панелью работаете или с эмуляцией панели?
Панель мастер не любит не правильных регистров, если вы где то забудете поставить например адрес 10, или не правильный адрес регистра, то панель будет дико тормозить.
По хорошему если в ПЛК у вас биты (8Bit) то и записывать их надо функцией 0х ( 0 регистр, биты с c 0 по 15, 1 регистр биты с 16 по 31 и т. д.)
У вас 4х регистр 1 бит 0, будет 0х16
Если же вы используете 4х (запись регистра), то в ПЛК надо ставить 2Byte, а биты упаковывать в маску через точку.

Gorynich
26.07.2024, 08:34
Работаю с живой панелью. т.е. лучше работать со сквозной адресацией 0х (если в ПЛК 8bit использую), спасибо попробую. К стати да, панель сильно тормозит. Ещё вопрос, ПЛК110 могу одновременно использовать как master для дискретного модуля, и slave для панели (связь по RS485)?

kondor3000
26.07.2024, 08:41
Работаю с живой панелью. т.е. лучше работать со сквозной адресацией 0х (если в ПЛК 8bit использую), спасибо попробую. К стати да, панель сильно тормозит. Ещё вопрос, ПЛК110 могу одновременно использовать как master для дискретного модуля, и slave для панели (связь по RS485)?

По разным портам можете, по RS485 на 1 порту может быть только 1 мастер.

Gorynich
26.07.2024, 09:19
По разным портам можете, по RS485 на 1 порту может быть только 1 мастер.

Спасибо за помощь. Согласно схеме не получится всё настроить через RS485? Сразу извиняюсь за такие вопросы, опыта нет и это первый проект

kondor3000
26.07.2024, 09:25
Спасибо за помощь. Согласно схеме не получится всё настроить через RS485? Сразу извиняюсь за такие вопросы, опыта нет и это первый проект77609

Согласно схеме панель соединяется с ПЛК по RS232 своим кабелем КС2, а ПЛК опрашивает модуль по RS485. Это и есть разные порты.
Кстати если у вас новый контроллер ПЛК110 [M02], то кабель должен быть КС16 https://owen.ru/product/sp3xx/accessories

Если же вы хотите всё посадить на один RS485, то тогда ПЛК должен быть мастером и для модуля и для панели. Панель тогда сделать слейвом.

Gorynich
26.07.2024, 09:59
Согласно схеме панель соединяется с ПЛК по RS232 своим кабелем КС2, а ПЛК опрашивает модуль по RS485. Это и есть разные порты.
Кстати если у вас новый контроллер ПЛК110 [M02], то кабель должен быть КС16 https://owen.ru/product/sp3xx/accessories

Если же вы хотите всё посадить на один RS485, то тогда ПЛК должен быть мастером и для модуля и для панели. Панель тогда сделать слейвом.

Спасибо за помощь, буду пробовать

Potoks
26.07.2024, 10:21
Есть ПР205 (Мастер) СП307 (Слейв) через Ethernet - как получить битовый регистр PSBХХХ в битовую переменную ПР205.., что то не получается, с целым числом и float проблемм нет. Или проще не заморачиваться и все битовые регистры засунуть в целое число ?? (Почитал все что было но реч. шла о панели в режиме мастер там все понятно)

kondor3000
26.07.2024, 11:00
Есть ПР205 (Мастер) СП307 (Слейв) через Ethernet - как получить битовый регистр PSBХХХ в битовую переменную ПР205.., что то не получается, с целым числом и float проблемм нет. Или проще не заморачиваться и все битовые регистры засунуть в целое число ?? (Почитал все что было но реч. шла о панели в режиме мастер там все понятно)

Проще всего упаковывать биты в маску и передавать целым числом, в регистре 16 бит ( с 0 по 15).

Potoks
26.07.2024, 11:23
Разобрался .. как написано в доке Адрес регистра панели надо поделить на 16 (от результата отбросить остаток) Адрес бита = (Адрес регистра панели) mod 16

Potoks
26.07.2024, 11:25
конечно это лучший спопсоб все упаковать .... но надо научиться владеть всем инструментарием..))
Спасибо

SergeiRusyaev
31.07.2024, 10:37
Всем привет, стоит задача опросить МДВВ ПЛК100 Р-М по Modbus RS 485 по двум входам, регистры которых равны 0074 и 0075, соответственно.
Мне нужно только функция чтения.
Для написания логики я использовал "Описание интерфейса библиотеки ФБ для работы с протоколом Modbus Руководство пользователя" Приложение А. Правильно ли я написал код, учитывая что в примере использовался ПЛК63 (возможно, значения не имеет?) Подскажите, пожалуйста, что нужно убрать или добавить?

PROGRAM PLC_PRG
VAR
get1_modbus: MB_RD_HOLD_REGS;
Buffer: ARRAY[0..255] OF BYTE;
cmpl: BOOL;
port_opened: BYTE := 0;
Init: BOOL;
Settings: COMSETTINGS;
com_num: PORTS := 0;
enabl: BOOL;
err: INT;
TimeOut: TIME := T#50ms;
Exception: BYTE;
DataSize: WORD;
master1: BYTE := 1;
t: DWORD;
A: WORD := 0;
reg_74: WORD;
reg_75: WORD;
d: REAL;
ptr_D: POINTER TO BYTE;
COM_SERVICE1: COM_SERVICE;
END_VAR

t := t + 1;
IF (t MOD 1000) = 0 THEN
A := A + 1;
IF A > 9999 THEN
A := 0;
END_IF
END_IF

IF port_opened = 0 THEN
Settings.Port := com_num;
Settings.dwBaudRate := 115200;
Settings.byParity := 0;
Settings.dwTimeout := 0;
Settings.byStopBits := 0;
Settings.dwBufferSize := 0;
Settings.dwScan := 0;
END_IF

COM_SERVICE1(Enable := (port_opened = 0), Settings := Settings, Task := OPEN_TSK);

IF COM_SERVICE1.ready THEN
port_opened := 2;
END_IF

IF port_opened = 2 THEN
CASE master1 OF
0:
get1_modbus(
Enable := enabl,
Mode := MB_RTU,
DevAddr := 33,
FirstAddr := 74,
Quantity := 2,
ComHandle := Settings.Port,
TimeOut := TimeOut,
Buffer := Buffer,
Complete => cmpl,
Exception => err,
ByteCnt => DataSize
);

IF cmpl THEN
IF err = 0 THEN
reg_74 := BYTE_TO_WORD(Buffer[1]) OR SHL(BYTE_TO_WORD(Buffer[0]), 8);
reg_75 := BYTE_TO_WORD(Buffer[3]) OR SHL(BYTE_TO_WORD(Buffer[2]), 8);
END_IF
master1 := 1;
END_IF
END_CASE

IF enabl = FALSE THEN
enabl := TRUE;
END_IF

IF err <> 0 THEN
enabl := FALSE;
END_IF
END_IF

Валенок
31.07.2024, 11:11
Всем привет..
Правильно ли я написал код..
Нет


Подскажите, пожалуйста, что нужно
Подумать про это

master1 := 1;


----------

ПЛК100 Р-М
Вы здесь 1й раз. Начните с конфигурации ПЛК.
Код для PLC_PRG:

;

kondor3000
31.07.2024, 14:11
У вас CASE не работает, потому что master1 := 1; всегда 1, а шаг в CASE только нулевой.

SergeiRusyaev
31.07.2024, 15:38
Спасибо, я сделал по-другому. В моем target файле уже имелся модуль MDVV для Modbus, поэтому в конфигурации ПЛК я просто создал нужное кол-во этих модулей на Modbus Master и выбрал нужные входы, после создал выходы на Modbus Slave. Что скажите?7773477735

SergeiRusyaev
31.07.2024, 15:39
Спасибо, я поменял метод реализации

kondor3000
31.07.2024, 15:45
Спасибо, я сделал по-другому. В моем target файле уже имелся модуль MDVV для Modbus, поэтому в конфигурации ПЛК я просто создал нужное кол-во этих модулей на Modbus Master и выбрал нужные входы, после создал выходы на Modbus Slave. Что скажите?7773477735

Главное, что всё работает,
а по поводу нескольких блоков, достаточно в CASE, добавить несколько шагов, скопировав из 0 шага, только слейв адреса блоков поменять и расставить переменную master1 по шагам.

SergeiRusyaev
31.07.2024, 15:49
Благодарю, с CASE уже тоже поменял перед схемой на фотографии.
А так пока что нет возможности проверить компиляцией, так как нет самого ПЛК 100
А в переменные ничего не нужно записывать, верно?

kondor3000
31.07.2024, 15:57
Благодарю, с CASE уже тоже поменял перед схемой на фотографии.
А так пока что нет возможности проверить компиляцией, так как нет самого ПЛК 100
А в переменные ничего не нужно записывать, верно?

Это же чтение, в них программа будет записывать полученные значения. Только для нескольких блоков, надо увеличить кол-во переменных, свои входы для каждого блока.
Компиляцией надо проверять всегда на ошибки, до залития программы в ПЛК.

SergeiRusyaev
31.07.2024, 16:06
Немного не понял, у меня для каждого in есть свой out, или про какие блоки в имели ввиду?

kondor3000
31.07.2024, 16:29
Немного не понял, у меня для каждого in есть свой out, или про какие блоки в имели ввиду?

Пишу про шаги CASE для каждого блока.

SergeiRusyaev
31.07.2024, 16:55
Понял, спасибо. Планирую написать логику для повторного опроса модуля на чтение на языке CFC. Не могли бы подсказать как правильно это сделать или поделиться материалом?

МихаилГл
31.07.2024, 17:06
Понял, спасибо. Планирую написать логику для повторного опроса модуля на чтение на языке CFC. Не могли бы подсказать как правильно это сделать или поделиться материалом?

Начинай сразу с st! Это будет лучше.

kondor3000
31.07.2024, 17:51
Понял, спасибо. Планирую написать логику для повторного опроса модуля на чтение на языке CFC. Не могли бы подсказать как правильно это сделать или поделиться материалом?

Зачем вам CFC, если у вас почти готовая программа на ST есть. Всё что вам надо, перенести её в подпрограмму, для удобства копирования и работы с биб-ми. А основную PLC_PRG использовать для написания основного алгоритма, при чём на любом удобном вам языке.
Изучайте ST, это самый продвинутый язык программирования ПЛК.

SergeiRusyaev
01.08.2024, 08:54
Спасибо за оперативную помощь, буду изучать все по чуть-чуть

In_Da_Cher_A
01.08.2024, 11:40
это самый продвинутый язык программирования ПЛК.но в наладке - ужос (летящий на крыльях ночи и пахнущий нафталином из 90ых или даже 80ых)

Murzik162
01.08.2024, 12:11
Здравствуйте, хотел прибавить к показаниям датчика(данные с датчика приходят на модуль, модуль по 485 интерфейсу передает на ПЛК) значение и записать в другую переменную, при запуске схемы, данные не прибавляются и следовательно на выходе ничего нет, прошу помочь разобраться. Фото прикладываю.7775177750

In_Da_Cher_A
01.08.2024, 12:22
Здравствуйте, хотел прибавить к показаниям датчика(данные с датчика приходят на модуль, модуль по 485 интерфейсу передает на ПЛК) значение и записать в другую переменную, при запуске схемы, данные не прибавляются и следовательно на выходе ничего нет, прошу помочь разобраться. Фото прикладываю.7775177750кнопка Старт надеюсь нажата?

In_Da_Cher_A
01.08.2024, 12:29
у меня вот Онлайн- Старт сделано 0+1=1
77753

capzap
01.08.2024, 12:37
77751

схема не выставлена с порядком следования, тут и не такое может происходить

Murzik162
01.08.2024, 12:40
у меня вот Онлайн- Старт сделано 0+1=1
77753

Да, моя невнимательность проявила себя. Вы правы. Спасибо!

МихаилГл
01.08.2024, 12:41
схема не выставлена с порядком следования, тут и не такое может происходить

Вывод... Переходить на st, в крайнем случае на ld)

pilgrim11
05.08.2024, 21:01
Пожалуйста, как установить codesys 2.3 на windows 11. Хочет internet explorer не ниже 4.1. Вроде читал, через Edge, но пока не получается

kondor3000
05.08.2024, 21:30
Пожалуйста, как установить codesys 2.3 на windows 11. Хочет internet explorer не ниже 4.1. Вроде читал, через Edge, но пока не получается

На 11 не ставил, но на 10 всё работает. И никакой экспорер не нужен для установки.
Если не хочет работать с 11 виндой, сделайте совместимость с 10. Ставьте версию с сайта Овен, CODESYS версия 2.3.9.41 (Русифицированная версия) https://owen.ru/product/codesys_v2
Там же биб-ки и таргеты ПЛК.

SlavikP
06.08.2024, 09:54
Ставте в виртуалку, проблем не будет :)

Alex_NN
08.08.2024, 12:08
добрый день. Такая проблема. Налаживаю сейчас систему с ПЛК 160 (М02).
Каждый вечерв конце работы создаю в онлайне загрузочный проект, сохраняю проект в кодесис. Утром прихожу, включаю шкаф управления, загружаю проект в кодесис, делаю онлайн подключение и вылезает сообщение, что программу в ПЛК надо закачать заново. При этом контроллер запущен и все работает.
Что я делаю не так? Почему нужно каждое утро загружать прогу, чтобы подключиться онлайн?
Пробую делать все то же самое, только не ухожу домой, всё подключается без проблем. Посторонних на объекте нет.

МихаилГл
08.08.2024, 12:19
Вы случаем вспомогательные файлы не удаляете?

PS Их там около 6 вместе с *.pro

Alex_NN
08.08.2024, 12:31
Вы случаем вспомогательные файлы не удаляете?

PS Их там около 6 вместе с *.pro

Да, удаляю. Проект на рабочем столе.

МихаилГл
08.08.2024, 12:38
Да, удаляю. Проект на рабочем столе.

С ними подключитесь, без них проект не понимает, куда он подключается, и считает этот контроллер другим.

Alex_NN
08.08.2024, 12:53
С ними подключитесь, без них проект не понимает, куда он подключается, и считает этот контроллер другим.

Спасибо, завтра попробую. Наверняка дело в этом.
Огорчает факт, что нет в документации указаний на этот счет.
Нелегок и тернист путь переходящего с Сименс на Овен...

Gorynich
08.08.2024, 14:32
Всех приветствую! Подскажите, в конфигураторе СП300 для панели СП310-р, как указать что я использую RS232 или RS485?

kondor3000
08.08.2024, 15:09
Всех приветствую! Подскажите, в конфигураторе СП300 для панели СП310-р, как указать что я использую RS232 или RS485?

Указывать ничего не надо, надо припаять провода на нужные контакты в разъёме. У RS232 и RS485 разные пины,
использовать можно только один порт на каждом разъёме.

Gorynich
08.08.2024, 16:31
Указывать ничего не надо, надо припаять провода на нужные контакты в разъёме. У RS232 и RS485 разные пины,
использовать можно только один порт на каждом разъёме.

т.е. используя соответствующий кабель (кс-2) программно ничего указывать не нужно?

Николай Суриков
08.08.2024, 17:02
Всех приветствую! Подскажите, в конфигураторе СП300 для панели СП310-р, как указать что я использую RS232 или RS485?

Интерфейсы RS-232 и RS-485 являются аппаратно-независимыми (4)

(4) При работе с портом запросы панели дублируются по обоим интерфейсам. Адресация устройств должна быть уникальной на уровне порта.

https://owen.ru/product/sp3xx/specifications

Gorynich
08.08.2024, 17:26
Спасибо за ответы

Alex_NN
09.08.2024, 14:52
С ними подключитесь, без них проект не понимает, куда он подключается, и считает этот контроллер другим.

Спасибо, получилось!

Mark01
14.08.2024, 17:41
Здравствуйте! У меня вопрос, как подключить tmcon к ПР-103, чтобы он показывал значения температуры в Owen Logic

МихаилГл
14.08.2024, 17:48
Здравствуйте! У меня вопрос, как подключить tmcon к ПР-103, чтобы он показывал значения температуры в Owen Logic

Для начала приложите мануал к этой железке. На алиэкспресс никакой вменяемой информации.

Толеби
14.08.2024, 18:42
78002 - owen logic.78003 - мануал. Я не могу подключить tmcon к ПР103 чтобы он отображал в owen logice

МихаилГл
14.08.2024, 18:50
78002 - owen logic.78003 - мануал. Я не могу подключить tmcon к ПР103 чтобы он отображал в owen logice

Не хочу быть занудой и неадекватом, но где заказной код (номер модификации)? Он точно 4..20 мА?

Dimensy
14.08.2024, 18:54
78002 - owen logic.78003 - мануал. Я не могу подключить tmcon к ПР103 чтобы он отображал в owen logice

И еще, как вы настроили аналоговые входы и как к ним физически подключились - на AI3 у вас какое-то дикое значение

МихаилГл
14.08.2024, 19:13
В документации не понятно, активный или пассивный выход для датчика с токовым выходом. Но это легко проверить мультиметром на соответствующих выходах. Во вторых по настройкам вроде задаются пределы для минимального и максимального токового выхода, может они не настроены? С телефона неудобна, только завтра смогу на ПК глянуть мануал.

Dimensy
14.08.2024, 21:24
В документации не понятно, активный или пассивный выход для датчика с токовым выходом. Но это легко проверить мультиметром на соответствующих выходах. Во вторых по настройкам вроде задаются пределы для минимального и максимального токового выхода, может они не настроены? С телефона неудобна, только завтра смогу на ПК глянуть мануал.

Выход активный

78009

Егор_СМОЛДОК
15.08.2024, 17:38
Добрый день! Подскажите пожалуйста, требуется связать 2 плк 110-30 по modbus rtu. Ниже предоставляю фото подключения, не понимаю какой регистр в мастере нужно поставить, всегда выдает last error 81.7802278023

YuriBel
15.08.2024, 17:57
Этого мало, показывайте остальные настройки.

In_Da_Cher_A
15.08.2024, 18:00
last error 81если мне не изменяет память, непосредственно к регистрам и обмену, ошибка 81 не имеет отношения.
Мастер тупо не видит слейв "физически"

kondor3000
15.08.2024, 18:07
Добрый день! Подскажите пожалуйста, требуется связать 2 плк 110-30 по modbus rtu. Ниже предоставляю фото подключения, не понимаю какой регистр в мастере нужно поставить, всегда выдает last error 81.7802278023

Адрес 0, только функция чтения 0х01, а функция записи 0х0f.
8Bit надо добавлять по 2 штуки ( у второго 8Bit адрес 8). У бит адреса с 0 по 15 в 0 регистре.
И ещё, запись лучше делать в отдельном UMD (Универсал модбас девайс) и поставить настройку By Value Change78029

UMD, где вставлен Real Input надо вообще удалить
Добавлять надо сначала 8Bit Input по 2 штуки (адрес 0), потом Registr Input (адрес 1), потом Real Input (адрес 2, занимает 2 регистра)

Егор_СМОЛДОК
15.08.2024, 20:45
Большое спасибо, стало понятно! Но теперь у меня еще к плк, подключен модуль мв110, и ежели я его добавляю в модбас, то поначалу все работает в норме. Но через какое-то время 8bits input перестают работать, и выдает ошибку 81. а output и real(это для модуля) работают все время норм. Подскажите пожалуйста, что не так? У них разные адреса slave.78033

kondor3000
15.08.2024, 20:54
Большое спасибо, стало понятно! Но теперь у меня еще к плк, подключен модуль мв110, и ежели я его добавляю в модбас, то поначалу все работает в норме. Но через какое-то время 8bits input перестают работать, и выдает ошибку 81. а output и real(это для модуля) работают все время норм. Подскажите пожалуйста, что не так? У них разные адреса slave.78033

Для того, что бы вам помочь, надо точно знать что вы опрашиваете, какой модуль. Где у вас отваливается 8Bit. И лучше выложить проект сразу.
В проекте можно подписать в комментариях, где и что опрашивается.
На одном порту, если разные слейв адреса, то параметры сети должны быть везде одинаковые.

Валенок
15.08.2024, 21:14
И лучше выложить проект сразу.
Самое лучшее. Для каждого из

2 плк 110-30
И четко модель

мв110

Егор_СМОЛДОК
16.08.2024, 10:49
Большое всем спасибо за помощь! Отваливаются в мастере 2 8bits input. Вроде бы решил, увеличив в последнем UMD (где real input) poling time ms, поставив 1000. Теперь вроде все ок. На всякий случай скину проект, мб не самое лучшее решение нашел. Также используется МВ110-8А модуль аналогового ввода, где Slave = 20. А 1 вход 4 регистру, как вроде. https://drive.google.com/drive/folders/1QENtOg0nvMCttfsv2fEyUBtrlSeWqhQV?usp=sharing

kondor3000
16.08.2024, 19:22
Большое всем спасибо за помощь! Отваливаются в мастере 2 8bits input. Вроде бы решил, увеличив в последнем UMD (где real input) poling time ms, поставив 1000. Теперь вроде все ок. На всякий случай скину проект, мб не самое лучшее решение нашел. Также используется МВ110-8А модуль аналогового ввода, где Slave = 20. А 1 вход 4 регистру, как вроде. https://drive.google.com/drive/folders/1QENtOg0nvMCttfsv2fEyUBtrlSeWqhQV?usp=sharing

У вас чтение идёт 0 регистра (биты с 0 по 15), а запись 1 регистра (биты с 16 по 31), вы специально так сделали?
1000 мс многовато, у модуля 8А период обновления 500-600 мс.
Хотя из за этого, не должны 8 Bit отваливаться, даже если стоит 100 мс.

Валенок
16.08.2024, 23:51
Большое всем спасибо за помощь! Отваливаются в мастере 2 8bits input. Вроде бы решил, увеличив в последнем UMD (где real input) poling time ms, поставив 1000. Теперь вроде все ок. На всякий случай скину проект, мб не самое лучшее решение нашел. Также используется МВ110-8А модуль аналогового ввода, где Slave = 20. А 1 вход 4 регистру, как вроде. https://drive.google.com/drive/folders/1QENtOg0nvMCttfsv2fEyUBtrlSeWqhQV?usp=sharing
Поставте нормальные 115200, выкиньте сраные биты и поставьте нормальные регистры, таймаут 30 для ПЛК и 50 для 8А
И покажите настройки 8А всех входов.

Newcomer
19.08.2024, 10:06
Добрый день

Как в программе на CFC вызвать программу на ST ?

kondor3000
19.08.2024, 10:08
Добрый день

Как в программе на CFC вызвать программу на ST ?

В квадратике вставить Имя вызываемой программы.
Так же вызываются ФБ и функции.

Newcomer
19.08.2024, 10:20
В квадратике вставить Имя вызываемой программы.
Так же вызываются ФБ и функции.

В CFC упаковка/распаковка бит есть ?

kondor3000
19.08.2024, 10:26
В CFC упаковка/распаковка бит есть ?

Точно так же как в ST, через точку, только вставляются на вход или выход.

Newcomer
19.08.2024, 10:30
Точно так же как в ST, через точку, только вставляются на вход или выход.

Если надо упаковать 32 бита, то придется сделать 32 квадратика ?

kondor3000
19.08.2024, 10:32
Если надо упаковать 32 бита, то придется сделать 32 квадратика ?

32 входа/ выхода.

На скрине распаковка 4 бит, у вас упаковка будет наоборот 78088
Копипастом всё делается быстро.

tigj@yandex.ru
19.08.2024, 19:03
Доброго времени суток, помогите разобраться с ТРМ-251. У меня есть собственно ТРМ251_ИРР и тиристорный регулятор мощности производства меандр ТРМ-1М-180. Меандр управляется по-разному, в том числе током 4-20 мА. Насколько я понимаю, на ТРМ-251 необходим внешний источник питания, чтобы получить эти самые 4-20 мА для управления. И вот тут проблема, меандр в инструкции говорит о том, что входное напряжение управления должно быть от 0 до 10 В, а у Овена 15-28 В. Как их подружить? Я немного чайник, реконструирую вакуумную печь, вот пытаюсь докопаться уже до сути. Покупать новый ТРМ-251 в другом исполнении или какой-либо другой очень не хочется, финансы ограничены, ну и меандр куплен за немалые деньги.

kondor3000
19.08.2024, 19:10
Доброго времени суток, помогите разобраться с ТРМ-251. У меня есть собственно ТРМ251_ИРР и тиристорный регулятор мощности производства меандр ТРМ-1М-180. Меандр управляется по-разному, в том числе током 4-20 мА. Насколько я понимаю, на ТРМ-251 необходим внешний источник питания, чтобы получить эти самые 4-20 мА для управления. И вот тут проблема, меандр в инструкции говорит о том, что входное напряжение управления должно быть от 0 до 10 В, а у Овена 15-28 В. Как их подружить? Я немного чайник, реконструирую вакуумную печь, вот пытаюсь докопаться уже до сути. Покупать новый ТРМ-251 в другом исполнении или какой-либо другой очень не хочется, финансы ограничены, ну и меандр куплен за немалые деньги.

Для согласования токового выхода 4-20 мА и входа 0-10 В, параллельно входу ставите 500 Ом (желательно допуск не более 1% или подобрать).
Резистор припаять к проводам входа.
Получаете на резисторе и соответственно на входе, регулировку 2-10 В

МихаилГл
19.08.2024, 19:23
Вы бы для верности в меандр написали, там в РЭ схемы на 4..20 ма и 0..10 в местами перепутаны. Может и не нужно ограничение по напряжению, и это опечатка в документации.

Минаев Борис
20.08.2024, 09:01
Здравствуйте!

Как можно посмотреть номер сим-карты модема через ОВЕН CLOUD?

In_Da_Cher_A
20.08.2024, 09:10
Здравствуйте!

Как можно посмотреть номер сим-карты модема через ОВЕН CLOUD?облако и его примочки - это в другом разделе форума

Dimensy
20.08.2024, 12:59
Доброго времени суток, помогите разобраться с ТРМ-251. У меня есть собственно ТРМ251_ИРР и тиристорный регулятор мощности производства меандр ТРМ-1М-180. Меандр управляется по-разному, в том числе током 4-20 мА. Насколько я понимаю, на ТРМ-251 необходим внешний источник питания, чтобы получить эти самые 4-20 мА для управления. И вот тут проблема, меандр в инструкции говорит о том, что входное напряжение управления должно быть от 0 до 10 В, а у Овена 15-28 В. Как их подружить? Я немного чайник, реконструирую вакуумную печь, вот пытаюсь докопаться уже до сути. Покупать новый ТРМ-251 в другом исполнении или какой-либо другой очень не хочется, финансы ограничены, ну и меандр куплен за немалые деньги.

Для аналогового выхода ТРМ-251 нужен отдельный блок питания на 24 В и дополнительное нагрузочное сопротивление 300-400 Ом. Ну а у Меандр просто настраиваете вход на ток 4..20 мА

tigj@yandex.ru
20.08.2024, 14:00
Спасибо за ответ! Так и сделаю!

Gorynich
21.08.2024, 07:18
Всем доброе утро! Нужна помощь, есть ПЛК200 к нему подключен датчик температуры ДТС3005-РТ1000.В3. В codesys в конфигураторе выбрал датчик, указал диапазон температур и вроде бы всё заработало, но датчик практически не реагирует на изменение температуры в помещении (например датчик показывает 25,4 С, в комнате температура опустилась до 16 С , а показания 24,7 С) тоже самое и при повышении температуры. Могли электрики неправильно подключить датчик, либо нужно дополнительно что-то настроить или датчик с браком?

kondor3000
21.08.2024, 07:49
Всем доброе утро! Нужна помощь, есть ПЛК200 к нему подключен датчик температуры ДТС3005-РТ1000.В3. В codesys в конфигураторе выбрал датчик, указал диапазон температур и вроде бы всё заработало, но датчик практически не реагирует на изменение температуры в помещении (например датчик показывает 25,4 С, в комнате температура опустилась до 16 С , а показания 24,7 С) тоже самое и при повышении температуры. Могли электрики неправильно подключить датчик, либо нужно дополнительно что-то настроить или датчик с браком?

Вероятно что то пропустили в настройках, схему подключения можете сами проверить https://owen.ru/product/plk200/connection_diagrams

А вообще вам надо задавать вопросы в разделе о ПЛК200, в Codesys 3.5, здесь раздел Codesys 2.3 https://owen.ru/forum/showthread.php?t=20069&page=745

west
21.08.2024, 07:50
В codesys в конфигураторе выбрал датчик
неужели так сложно сравнить версию CS в которой работаете с ПЛК200 и название темы куда пишите?..

Gorynich
21.08.2024, 09:28
неужели так сложно сравнить версию CS в которой работаете с ПЛК200 и название темы куда пишите?..

Извиняюсь, до этого писал здесь по CS 2.3 и страница в закладках была, не посмотрел на тему

Егор_СМОЛДОК
26.08.2024, 19:21
Добрый день! Не могу подключить модем ПМ-01 к ПЛК 110-30 для отправки СМС. Также хочу использовать ПМ для выхода в Owen Cloud. Пока реализовал вроде бы отправку СМС, но выдает ошибку 2. Не могу понять что делаю не так. Подскажите пожалуйста. Ниже скидываю пару скринов и сам проект. Все подключено по rs-485.7822478225https://drive.google.com/file/d/1Vmy7X9YP6kYdT4KX29vCHwaKxU9QmR1P/view?usp=drive_link

west
27.08.2024, 08:18
Егор_СМОЛДОК, а Руководство по применению библиотеки SmsOwenLib читали? Если да, то в каком формате должен быть номер получателя?
да и вообще я бы посоветовал начать именно с примеров, которые там выложены и не задавать один вопрос сразу в двух темах...

дрю
27.08.2024, 09:28
Добрый день. Кодесис 2.3. ПЛК110. Вот возникла проблемка. Чтобы обнаружить обрыв линии связи термодатчиика (работает в плюсовой зоне) я. я показания аналогового модуля сравнивал с нулём и если цифра меньше _0_ значит обрыв и соответственно авария. Тут возникла не обходимость тестирования целостность линии связи датчика разряжения , а он изначально работает в минусовой зоне. При обрыве линии связи контроллер вывел число _-1,756355e+035_. И чеснно говоря я не понял сколько это в десятичном формате. Буду рад Если кто подскажет как решал подобную задачу. Спасибо.

Валенок
27.08.2024, 09:34
Добрый день. Кодесис 2.3. ПЛК110. Вот возникла проблемка. Чтобы обнаружить обрыв линии связи термодатчиика (работает в плюсовой зоне) я. я показания аналогового модуля сравнивал с нулём и если цифра меньше _0_ значит обрыв и соответственно авария. Тут возникла не обходимость тестирования целостность линии связи датчика разряжения , а он изначально работает в минусовой зоне. При обрыве линии связи контроллер вывел число _-1,756355e+035_. И чеснно говоря я не понял сколько это в десятичном формате. Буду рад Если кто подскажет как решал подобную задачу. Спасибо.
для 2A/2AC/8A/8AC можно просто прочитать статуc (что проще).
Можно ковырять само число. Если биты 31..28 содержат 1111, то биты 27...24 содержат статус (F000h + [27...24])
Статус - см. РЭ на модуль

capzap
27.08.2024, 09:35
Добрый день. Кодесис 2.3. ПЛК110. Вот возникла проблемка. Чтобы обнаружить обрыв линии связи термодатчиика (работает в плюсовой зоне) я. я показания аналогового модуля сравнивал с нулём и если цифра меньше _0_ значит обрыв и соответственно авария. Тут возникла не обходимость тестирования целостность линии связи датчика разряжения , а он изначально работает в минусовой зоне. При обрыве линии связи контроллер вывел число _-1,756355e+035_. И чеснно говоря я не понял сколько это в десятичном формате. Буду рад Если кто подскажет как решал подобную задачу. Спасибо.

а если поступить по другому, в документации есть табличка 78247 сравнивать первый байт с этими кодами и принимать решение исправен датчик или нет

Валенок
27.08.2024, 09:46
..сравнивать первый байт ..
Старший байт

дрю
27.08.2024, 09:54
Спасибо, буду разбираться

Валенок
27.08.2024, 10:15
Спасибо, буду разбираться
PID_regiulators.lib/DECODE_FLOAT - тоже самое, но за Вас


если код не интересует а сам факт ошибки:

function AiOk : bool
var_input
ai : real;
end_var
var
p : pointer to byte;
end_var
----
p := adr(ai) + 3;
AiOk := p^ < 16#F0;

melky
27.08.2024, 10:17
а в Библиотеке Овен разве нет FB для этого? помнится для ПЛК63 был прямо готовый инструмент (FB), который еще умел выдавать значение по умолчанию, если с датчиком проблемы.

Вот-вот, Валенок даже его название привел.

Cs-Cs
28.08.2024, 16:10
Камрады! У меня быстрый вопрос на всякий случай.
Дошли тут мои руки до связки ПЛК110[М02] (CodeSys 2.3) + HomeAssistant. У меня вопрос больше организационный, навскидку:
Сколько максимум Slave-подключений может ПЛК110 держать по Modbus TCP? Где это настраивается?
А то в будущем проект у меня будет нагруженный:
* Один Modbus TCP Slave для Облака ОВЕН
* Второй Modbus TCP Slave для HomeAssistant
Спрашиваю вот почему: я при работающем HA подключаюсь к ПЛК через Modbus Poll, и получаю таймаут связи. Как будто бы ПЛК держит только одно TCP-соедение.

melky
28.08.2024, 16:18
а он на разных портах их держит :) если не ошибаюсь.

kondor3000
28.08.2024, 16:18
Камрады! У меня быстрый вопрос на всякий случай.
Дошли тут мои руки до связки ПЛК110[М02] (CodeSys 2.3) + HomeAssistant. У меня вопрос больше организационный, навскидку:
Сколько максимум Slave-подключений может ПЛК110 держать по Modbus TCP? Где это настраивается?
А то в будущем проект у меня будет нагруженный:
* Один Modbus TCP Slave для Облака ОВЕН
* Второй Modbus TCP Slave для HomeAssistant
Спрашиваю вот почему: я при работающем HA подключаюсь к ПЛК через Modbus Poll, и получаю таймаут связи. Как будто бы ПЛК держит только одно TCP-соедение.

Тут как минимум подключали на один слейв, до 5 панелей + Скада , по разным портам ТСР от 502 до 507.
В 110 можно добавить кучу TCP (и не только) с разными портами на один слейв.

Николай Суриков
28.08.2024, 16:34
Тут как минимум подключали на один слейв, до 5 панелей + Скада , по разным портам ТСР от 502 до 507.
В 110 можно добавить кучу TCP (и не только) с разными портами на один слейв.

Подтверждаю, работает.
78296
Порты естественно разные. При попытке подключится по тому же порту будет таймаут. Один порт - одно соединение.

Cs-Cs
28.08.2024, 16:43
Ага. Спасибо!


Порты естественно разные. При попытке подключится по тому же порту будет таймаут. Один порт - одно соединение.
Отдельное спасибо! ДА! Теперь понял!

1. На разных портах Modbus для HomeAssistant завёлся.
2. Отредактировал local_address.dat для OwenCloud и ПЛК больше не отвечает. Я там подправил MAC-адрес, так как адрес в файле и на корпусе ПЛК отличались.
Ща буду разбираться. Может, впервые, по USB подключать буду.

UPD. ПЛК завёлся. Ща дальше тестирую облако.

Валенок
28.08.2024, 16:46
110й соединений может без проблем держать пару десятков.
Если сервер(слейв) программный, то нет проблем их все держать на одном порту

Cs-Cs
28.08.2024, 19:20
У меня всё получилось! Заработало!
Спасибо вам всем!
(Косяк был в local_addres.dat - там, если убрать пустные строки, ПЛК его не может прочитать корректно)

ogn
29.08.2024, 15:00
Доброго времени суток!
Подскажите, как запустить проект на ПЛК 110.60, предварительно скопировав файлы с контроллера на компьютер?
Официальное руководство мало чем помогло, загружается только проект который создан ранее

kondor3000
29.08.2024, 15:15
Доброго времени суток!
Подскажите, как запустить проект на ПЛК 110.60, предварительно скопировав файлы с контроллера на компьютер?
Официальное руководство мало чем помогло, загружается только проект который создан ранее

Какие файлы скопированы на комп?
Если туда разработчик не положил Исходный проект, в формате .pro, ничего вы открыть не сможете.

lidangab
29.08.2024, 19:17
Доброго времени суток, почему то не пингуется ПР205, из-за чего скада его не видит, в в чем может быть причина? подскажите пожалуйста.
бмен пакетами с 192.168.0.106 по с 32 байтами данных:
Ответ от 192.168.0.100: Заданный узел недоступен.
Ответ от 192.168.0.100: Заданный узел недоступен.
Ответ от 192.168.0.100: Заданный узел недоступен.
Ответ от 192.168.0.100: Заданный узел недоступен.

1exan
29.08.2024, 19:28
Доброго времени суток, почему то не пингуется ПР205, из-за чего скада его не видит, в в чем может быть причина? подскажите пожалуйста.
бмен пакетами с 192.168.0.106 по с 32 байтами данных:
Ответ от 192.168.0.100: Заданный узел недоступен.
Ответ от 192.168.0.100: Заданный узел недоступен.
Ответ от 192.168.0.100: Заданный узел недоступен.
Ответ от 192.168.0.100: Заданный узел недоступен.

А раньше скада его видела?

lidangab
29.08.2024, 19:34
нет, я даже не могу его в скаду подключить так как он не пингуется.

kondor3000
29.08.2024, 19:43
Доброго времени суток, почему то не пингуется ПР205, из-за чего скада его не видит, в в чем может быть причина? подскажите пожалуйста.
бмен пакетами с 192.168.0.106 по с 32 байтами данных:
Ответ от 192.168.0.100: Заданный узел недоступен.

У вас адрес остался по умолчанию, новый вы ввели, но не применили, в настройках ПР205 надо нажать кнопку "Записать".

lidangab
29.08.2024, 19:47
в сетевых настройках овен лоджик, нажимал записать, и прочитать. не помогло

kondor3000
29.08.2024, 19:50
в сетевых настройках овен лоджик, нажимал записать, и прочитать. не помогло

Значит настройки не совпадают с настройками сети (подсети компа и Скады соответственно).
Выкладывайте скрины настроек ПР205 и Компа.

lidangab
29.08.2024, 19:59
7832578326

west
29.08.2024, 20:09
ПР205 + SCADA <> CoDeSys v2.3
ну вот честно, ребята, зачем замыливать тему?

kondor3000
29.08.2024, 20:29
7832578326

А в слейве ПР вообще есть переменные, которые задействованы в программе? И которые должна прочитать скада. Ну и кабель проветрьте.

МихаилГл
30.08.2024, 01:24
7832578326

Меня одно в настройках смущает, dhcp на ПК. Точно нет другого устройства с ip адресом как у ПР? Если на ПК с таким адресом настройки винды по умолчанию были, то windows 10ку, например, вы не пропингуете...

Попробуйте wireshark найти в сети вашу ПР. Я бы ещё и от общей сети отключился...

ogn
30.08.2024, 08:46
DEFAULT.CHK
DEFAULT.PRG
BOOT.SDB
DOWNLOAD.SDB
local_ddres.dat
source.dat
UpdatePLC110-60.bin

In_Da_Cher_A
30.08.2024, 09:31
Меня одно в настройках смущает, dhcp на ПК. и зачем он там вообще, если на другом устройстве, адрес вбивается руками?

ogn
30.08.2024, 09:54
DEFAULT.CHK
DEFAULT.PRG
это скомпилированные файлы которые загружают в контроллер?
какие файлы должны быть загружены и как это сделать?

In_Da_Cher_A
30.08.2024, 11:33
DEFAULT.CHK
DEFAULT.PRG
это скомпилированные файлы которые загружают в контроллер?
какие файлы должны быть загружены и как это сделать?ну хоть немного прочтите документацию! это даже не вопросы новичка, это вопросы просто минусового уровня. Если вы алфавита не знаете, то зачем спрашивать как читать?

ogn
30.08.2024, 16:36
1. Создается проект
2. Сохраняется
3. Нажимаем Открыть и видим файл проекта с расширением .pro
4. Заходим в проводник по данному пути и не видим файл проекта.
Вопрос: почему не видим файл проекта и как его все таки увидеть?

kondor3000
30.08.2024, 18:16
1. Создается проект
2. Сохраняется
3. Нажимаем Открыть и видим файл проекта с расширением .pro
4. Заходим в проводник по данному пути и не видим файл проекта.
Вопрос: почему не видим файл проекта и как его все таки увидеть?

Значит сохраняете в папку по умолчанию, а ищите в другой папке.
Проще всего Сохранить как... Даёте имя проекту и на рабочий стол. Там и смотрите.

ogn
02.09.2024, 10:46
А из папки по умолчанию его никак нельзя достать?

kondor3000
02.09.2024, 10:48
А из папки по умолчанию его никак нельзя достать?

Почему нельзя то? Смотрите по какому пути сохраняете проект, там и ищите. А лучше создайте свою папку и складывайте туда.

In_Da_Cher_A
02.09.2024, 11:09
А из папки по умолчанию его никак нельзя достать?найдите книгу "windows для чайников" или "Компьютер для чайников", там подробно объясняется как работать с папками и файлами в операционной системе

ogn
02.09.2024, 11:32
я бы не стал спрашивать если не попробовал до этого
файл в папке по умолчанию через проводник не видно

Nekrushim
02.09.2024, 12:44
Всем добрый день, простой вопрос про модуль МВ110-224.8А. Можно ли получить данный на сторонний ПК с аналоговых датчиков (4-20 мА) пользуясь RS485-RS232 конвертером?

1exan
02.09.2024, 13:03
Всем добрый день, простой вопрос про модуль МВ110-224.8А. Можно ли получить данный на сторонний ПК с аналоговых датчиков (4-20 мА) пользуясь RS485-RS232 конвертером?

Да, можно

west
03.09.2024, 15:10
я бы не стал спрашивать если не попробовал до этого
файл в папке по умолчанию через проводник не видно
так воспользуйтесь вариантом "Файл" ~> "Сохранить как" и после этого этот проект всегда там будет и находиться, и оттуда открываться, и туда же сохраняться.

pro0308
12.09.2024, 10:43
Добрый день, создаю в проекте счётчик наработки (через BLINK и CTU) на выходе переменная типа WORD объявлена как RETAIN, но после перезагрузки ПЛК переменная не сохраняет накопленные значения. Подскажите в каком месте косяк?

МихаилГл
12.09.2024, 10:53
Добрый день, создаю в проекте счётчик наработки (через BLINK и CTU) на выходе переменная типа WORD объявлена как RETAIN, но после перезагрузки ПЛК переменная не сохраняет накопленные значения. Подскажите в каком месте косяк?

У вас энергонезависима переменная "наработка", а не переменная со счетчика.

PS: Надо к этой переменной прибавлять новое число, по +1, а не пересылать со счетчика в энергонезависимую... Думаю так.

Cs-Cs
12.09.2024, 11:26
pro0308 Нужно сам счётчик объявить RETAIN. Тогда его состояние будет сохраняться и передаваться в переменную (она будет уже не RETAIN).
А сейчас получается, что каждый раз счётчик обнуляется, а его значение записывается в переменную, которая тоже обнуляется.
Да. Функциональные блоки можно объявлять как RETAIN тоже.

МихаилГл Предупреждение модератора. Введение людей в заблуждение.

pro0308
12.09.2024, 11:50
Cs-Cs Спасибо большое, объявил сам счётчик как RETAIN, а переменную как промежуточную VAR. Теперь при перезагрузке значения сохраняются.

Cs-Cs
12.09.2024, 12:08
pro0308 Пожалуйста! На будущее: так и свои FB можно объявлять, если надо (например, я делаю управление светом в квартирах, и объявляю FB с группами света ккак RETAIN - тогда состояние света сохраняется, если питание ПЛК передёрнется).

МихаилГл
12.09.2024, 12:15
pro0308 Пожалуйста! На будущее: так и свои FB можно объявлять, если надо (например, я делаю управление светом в квартирах, и объявляю FB с группами света ккак RETAIN - тогда состояние света сохраняется, если питание ПЛК передёрнется).

Лично для меня объявление какой-нибудь структуры энергонезависимой не очень хорошая идея. Переменная - да. И чем же я ввёл в заблуждение? Если моё решение тоже рабочее?

Валенок
12.09.2024, 14:36
Да ничем. Просто кто-то что-то недопонял.

Potoks
17.09.2024, 10:40
Вопрос кто работал с PID_FUNCTION , Почему он уходит сразу нв 100% , даже если программа не стартовала, что не так..
Поддержка молчит !!78641

petera
17.09.2024, 10:58
Вопрос кто работал с PID_FUNCTION , Почему он уходит сразу нв 100% , даже если программа не стартовала, что не так..
Поддержка молчит !!78641
Эта библиотека в эмуляторе не работает!
Только в реальном контроллере! (код ее зашит в прошивке ПЛК)

ЗЫ
Почему документацию никто не читает?
На 3 странице написано...
78642

kondor3000
17.09.2024, 11:06
Вопрос кто работал с PID_FUNCTION , Почему он уходит сразу нв 100% , даже если программа не стартовала, что не так..
Поддержка молчит !!78641

На вход PV_Time надо подавать не константу, а циклическое время измерения с входов ПЛК или аналогового модуля.
На вход уставки SP у вас идёт 0, должна быть уставка. На минимум и максимум надо задать разные значения, например 0 и 1 (100).
T_I у вас 10 000, это очень много, уверены, что это нормально?

Potoks
17.09.2024, 11:12
посмотрите кртинку на PV_Time все подается с аналогово входа датчика.. и все работает на ПЛК .. всю документацию перечитал.. а НОЛЬ на SP, подается потому что ПРОГрамма еще не запущена я ее не стартовал намерчнно а ПИД регулятор уже в насыщении !! ВОТ В чем вопрос 78643

При старте ПО все подается нормально но ПИД ни на что не реагирует.. Может я неправильно выставил коэфф. посмотрите на картинке

kondor3000
17.09.2024, 12:08
посмотрите кртинку на PV_Time все подается с аналогово входа датчика.. и все работает на ПЛК .. всю документацию перечитал.. а НОЛЬ на SP, подается потому что ПРОГрамма еще не запущена я ее не стартовал намерчнно а ПИД регулятор уже в насыщении !! ВОТ В чем вопрос

При старте ПО все подается нормально но ПИД ни на что не реагирует.. Может я неправильно выставил коэфф. посмотрите на картинке

Вот запустил пример, скрин 78644

Potoks
17.09.2024, 12:20
Вот беру ваш пример.. тоже самое , что не так 78646

kondor3000
17.09.2024, 12:34
Вот беру ваш пример.. тоже самое , что не так

У вас минимум -0,15, интегральная составляющая не может быть отрицательной. 78647
И ещё, сделайте очистить всё, Компилировать всё и залейте проект заново.

Potoks
17.09.2024, 13:22
Очистку делал а вот вырезка из инструкции 78650

Vitovan
17.09.2024, 13:36
Пытаюсь разобраться как работает программа, написанная для ПЛК110 предыдущим работником. Вижу несколько блоков из библиотеки wago (например ALARM_PE) из директории
C:\PROGRAM FILES (X86)\WAGO SOFTWARE\CODESYS V2.3\TARGETS\WAGO\LIBRARIES\MY_CODE2.3_LIB
Но блоки не открываются, не видно как они работают и нет описания на них.
Прошу подсказать где можно найти описание работы блоков из данной библиотеки или как их открыть для просмотра?
Странно, что указанная выше папка пустая. Откуда тогда берёт Codesys библиотечные файлы...

Potoks
17.09.2024, 13:40
если они защищены, то никак

Potoks
17.09.2024, 13:54
как только температура становиться выше уставки, вместо того что бы перейти в отрицательную область значений, возникает ошибка -1#QNAN, это как понимать ?78652

west
17.09.2024, 15:15
Вижу несколько блоков из библиотеки wago (например ALARM_PE) из директории
скиньте бибку "MY_CODE2.3_LIB" (можно в ЛС), поглядим что можно сделать.

Валенок
17.09.2024, 15:32
.. написанная для ПЛК110 предыдущим работником....MY_CODE2.3_LIB...
А с предыдущим работником норм разошлись? Мож просто позвонить ему? Как бы самое очевидное первое действие.

Potoks
17.09.2024, 17:51
Вприципе разобрался.. помогите подобрать правильные коэффециенты , что бы замедлить работу а то при разнице в 1...2 градуса ПИД вылетает на 100% ...хоть какие порядки цифр..PB TI_

kondor3000
17.09.2024, 19:06
Вприципе разобрался.. помогите подобрать правильные коэффециенты , что бы замедлить работу а то при разнице в 1...2 градуса ПИД вылетает на 100% ...хоть какие порядки цифр..PB TI_

100, 10 и 10 работает от 2 до 52 градусов сразу не улетает. 78661

Potoks
18.09.2024, 09:08
Спасибо, попробую

Potoks
18.09.2024, 10:03
Блин нифига, сразу уходит на 100%78664
и после достижения Уставки уходит в ошибку !!-1,#QNAN
Te_pod_Time - беру с регистра Аналогово датчика (Циклическое время измерения входа)
После понижения температуры ниже Уставки - ошибка исчезает и Регулятор опять включает 100% мощьности..
Что опять не так.. может свой генератор сделать для Te_pod_Time ???

kondor3000
18.09.2024, 10:21
Блин нифига, сразу уходит на 100%78664
и после достижения Уставки уходит в ошибку !!-1,#QNAN
Te_pod_Time - беру с регистра Аналогово датчика (Циклическое время измерения входа)
После понижения температуры ниже Уставки - ошибка исчезает и Регулятор опять включает 100% мощьности..
Что опять не так.. может свой генератор сделать для Te_pod_Time ???

Такое бывает, при не правильной заливке программы, не сделано Очистить всё, Компилировать всё, с созданием нового загрузочного проекта.
Просто очистка и просто заливка не помогает. У меня ничего не улетает и #QNAN не появляется. Выход от -100 до 100.

И ещё, зачем вы уставку включаете через блок (программу) всё время, сделайте уставку напрямую и если надо меняйте её. Возможно уставка у вас переключается при переходе через 0 и выход вылетает в #QNAN

Potoks
18.09.2024, 10:37
очистку и компиляцию + перезагрузку контроллера делаю постоянно .. А блок уставок нужен для переключения погодонезависимой уставки в погодозависимую..
всеравно попробую напрямую. дать уставку, возможно вы правы..))!!

Potoks
18.09.2024, 10:48
Ничего не поменялось... Все сделал внимательно еще раз , отключил блок уставок ..7867078671

kondor3000
18.09.2024, 10:53
Ничего не поменялось... Все сделал внимательно еще раз , отключил блок уставок ..7867078671

Попробуйте другой ПИД из биб-ки, может с ним будет лучше.

Potoks
18.09.2024, 10:56
а можете мне прислать вашу библиотеку., может моя битая..заранее спасибо

kondor3000
18.09.2024, 11:21
а можете мне прислать вашу библиотеку., может моя битая..заранее спасибо

У меня всё скачано с сайта, ничего нового, вот например ПИД из биб-ки Util.lib 78672
Правда тут минуса на выходе нет, выход от 0 до указанного, на скрине до 100. Работает и в эмуляции, можете просто потестировать без заливки.

Potoks
18.09.2024, 12:02
спасибо.. буду иметь ввиду , но мне нужен Минус . В общем я все грохнул вместе с библиотеками.. Загрузил все заново с сайта и заново написал код.. Блин и о Чудо , заработало.. зараза.. (Пишу на многих языках.. но такого залета не встречал). Огромное спасибо мне этот ПИД из UYIL точно пригодиться в этом проекте..и других тоже!!

Vitovan
19.09.2024, 11:32
скиньте бибку "MY_CODE2.3_LIB" (можно в ЛС), поглядим что можно сделать.
Библиотеку прилагаю.
По слухам прежний работник ушел не очень хорошо. Смысла с ним связываться нет.
Из проводника винды захожу в эту папку, но она пустая. Пробовал в другой проект вставлять библиотеку и в нужной папке файлы есть и блоки вставляются в проект нормально.

kondor3000
19.09.2024, 11:36
Библиотеку прилагаю.
По слухам прежний работник ушел не очень хорошо. Смысла с ним связываться нет.

Во вложении пустая папка, биб-ки нет.

Vitovan
19.09.2024, 11:43
Так я про то и писал выше. В приложении скрины. Через Codesys папка не пустая, а через виндоуз проводник пустая.
Попробовал через окно добавления библиотек в Codesys заархивировать файл, но Winrar написал, что не удаётся найти указанный файл.

МихаилГл
19.09.2024, 11:46
Отображение скрытых и системных файлов включено?

Vitovan
19.09.2024, 12:16
галочку в Вид-скрытые элементы поставил
Я попробовал положить в эту папку другой файл с расширением lib. Он стал виден как и другие библиотеки когда я открываю окно добавления бибилиотек. Также он виден в проводнике, но только он один виден.

Vitovan
19.09.2024, 12:39
Получилось из окна Codesys добавления библиотек скопировать библиотеку и перенести её в другую папку. Прилагаю

МихаилГл
19.09.2024, 12:44
А попробуйте поиском по имени найти. У меня была похожая ситуация с фар менеджером. Копировал файл в корень диска, в программе он был, а в проводнике отсутствовал. Оказалось, что он есть, но во временной папке виндовс где то в недрах системы..

kondor3000
19.09.2024, 13:17
Получилось из окна Codesys добавления библиотек скопировать библиотеку и перенести её в другую папку. Прилагаю

Для работы этой биб-ки не хватает 2 биб-тек Oscat Basic 333 и Oscat Bulding 100 в которых нужны 3 блока 78706
Эти биб-ки надо посмотреть в папке Wago, если нет можно заменить на свои, скачанные с сайта Овен

Останется найти или написать D_Trig, скорее всего биб-ку дописали сами.

Vitovan
19.09.2024, 14:07
Выкладываю бибки oscat. С ними проблем с копированием нет.

kondor3000
19.09.2024, 14:20
Выкладываю бибки oscat. С ними проблем с копированием нет.

После добавления ваших биб-к, всё равно нет одного D_TRIG1, вероятно его удалили из проекта 78711
Надо писать аналог или поискать D_TRIG1 в других биб-ках.

Vitovan
20.09.2024, 08:00
D_TRIG1 лежит в бибке oscat_basic_333.lib в папке generators
Прилагаю
Как вам удаётся открыть этот блок? Если бы я знал, то сам бы разобрался с остальными непонятными бибками, т.к. их ещё много.

Валенок
20.09.2024, 08:12
А зачем его открывать?

Vitovan
20.09.2024, 08:47
Есть много блоков от предыдущего работника, с которыми надо разобраться как они работают, что выдают, может подправить можно что-то.

capzap
20.09.2024, 09:14
может подправить можно что-то.

Oscat и предыдущий работник, Вы где работаете?

kondor3000
20.09.2024, 10:50
D_TRIG1 лежит в бибке oscat_basic_333.lib в папке generators
Прилагаю
Как вам удаётся открыть этот блок? Если бы я знал, то сам бы разобрался с остальными непонятными бибками, т.к. их ещё много.

Да всё просто, биб-ку можно открыть как проект, выбрав при открытии расширение .lib
2 биб-ки Оскат у меня так грузят проект, что он компилируется не полностью.
Вот собрал биб-ку

Vitovan
20.09.2024, 13:15
Спасибо, kondor3000!
3_Pos_My_copy открыл и теперь могу посмотреть что там есть и как работает.
Теперь я понял как можно открыть остальные бибки.

Vitovan
23.09.2024, 15:24
Добрый день!
Опять обращаюсь за помощью. Не получается подключиться через USB.
В настройках диспетчера устройств виден вопросик у драйвера, но при обновлении драйвера на скачанный с сайта ОВЕН система пишет, что "Наиболее подходящие драйверы для данного устройства уже установлены".

In_Da_Cher_A
23.09.2024, 15:38
В настройках диспетчера устройств виден вопросик у драйверав комплекте с драйвером идёт специальный файл в формате txt, прочтите его, там инструкция что делать

Vitovan
23.09.2024, 15:51
в комплекте с драйвером идёт специальный файл в формате txt, прочтите его, там инструкция что делать
"4) Windows ппопытается определить устройство, но не сможет. Далее откроется окно с возможными вариантами установки драйвера"

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

Через адаптер USB-RS232 тоже не получается.

In_Da_Cher_A
23.09.2024, 16:47
там двадцать строчек, дочитайте до конца


Повторная установка/переустановка
1) Подать питание на ПЛК
2) Дождаться загрузки ПЛК (загорится индикатор работа)
3) Подключить кабель USB к ПК, затем к ПЛК
4) Открыть диспетчер устройств, вкладка порты,PLC100 CDC USB, правой кнопкой, удалить драйвер
5) После удаления, снять питание с ПЛК, отключить кабель USB
6) Выполнить перезагрузку
7) Установка драйвера согласно пункту Первая установка

Vitovan
24.09.2024, 08:12
там двадцать строчек, дочитайте до конца
Всё это пробовал. Даже отдельно устанавливал драйвер USB_Driver_PLC1xx(M02)_v1.0.1.exe. После чего он виден в диспетчере устройств (см. приложение "Драйвер 1") Драйвер "PLC100 USB COM.inf" не получается установить, виндоус пишет, что "Наиболее подходящие драйверы для данного устройства уже установлены".
В общем, испробовав всё, что нашёл в документации и на форуме, я решил, что предыдущий работник, который перепрошивал контроллер, что-то там изменил, влияющее на соединение. А то, что контроллер перепрошит, видно по измененному IP адресу, он не такой, какой идет с завода.
В связи с этим, осталось сбросить на заводские настройки контроллер. Я пробовал командой "Сброс (заводской)", но IP не поменялся, значит основная прошивка не поменялась. Как вернуть контроллер к заводской прошивке?

Vitovan
24.09.2024, 08:56
Через ПЛК-браузер я считал информацию о контроллере. Там указано, что таргет должен быть 3.12., Но на сайте овена я вижу только 3.3 и 2.12. Где взять 3.12?
PLC model MODEL PLC 110-60
Версия ПО метр: 2.0
Binary VERSION 1.2.42
Need Target version >= 3.12
Compiled: 14:38:47 Feb 8 2021
STM32 binary version 115
MAC 11:11:11:11:11:11
IP 10.2.11.119
GATE 10.2.1.1
MASK 255.255.0.0

Информация о модуле:
FactoryInfo
--------------------------------------
name OWEN SOM01
revision som01c04
factory_id facP1-C1-O
factory_date 18.07.2023
serial_number 111111111111111111
MAC 11:11:11:11:11:11
USB_name OWEN PLC
USB_VID 0x1555
USB_PID 0x1234
USB_serial 111111111111
preferred_binary 1.0.5+
--------------------------------------
name System pcb
revision PLC60C05
preferred_binary 114M
--------------------------------------
name IO pcb
revision PLC62C06
--------------------------------------
name Power pcb
revision IPD23P06
Видно что сброшен МАС и серийный номер. По коду IP я понял, что через ПЛК-браузер была применена команда "formatFFS", которая именно так меняет IP. Нигде не нашел как вернуть МАС и серийник.

1exan
24.09.2024, 09:07
Через ПЛК-браузер я считал информацию о контроллере. Там указано, что таргет должен быть 3.12., Но на сайте овена я вижу только 3.3 и 2.12. Где взять 3.12?
PLC model MODEL PLC 110-60
Версия ПО метр: 2.0
Binary VERSION 1.2.42
Need Target version >= 3.12
...

">=" значит "не менее"

In_Da_Cher_A
24.09.2024, 09:25
По коду IP я понял, что через ПЛК-браузер была применена команда "formatFFS"либо делалась перепрошивка, неизвестно для чего
рекомендую забить на юсб и подключиться через ТСР порт и там уже исправить адреса и маску на необходимые
с юсб такое бывает, лечиться "заменой" ноутбука

Vitovan
24.09.2024, 09:26
">=" значит "не менее"
Точно! Значит 3.3 подходит.

либо делалась перепрошивка, неизвестно для чего
рекомендую забить на юсб и подключиться через ТСР порт и там уже исправить адреса и маску на необходимые
с юсб такое бывает, лечиться "заменой" ноутбука
Мне нужно отработать подключение по USB или RS232 т.к. на объекте порт ТСР занят операторской панелью.

1exan
24.09.2024, 09:46
Точно! Значит 3.3 подходит.

Мне нужно отработать подключение по USB или RS232 т.к. на объекте порт ТСР занят операторской панелью.

Для отладки и перепрошивки можно временно (а можно и не временно) коммутатор поставить

In_Da_Cher_A
24.09.2024, 10:57
Для отладки и перепрошивки можно временно (а можно и не временно) коммутатор поставитья ему про это писал с самого начала, но он не слышит

Мне нужно отработать подключение по USB или RS232тогда отрабатывайте. решение написали - либо вы побеждаете винду и втыкаете драйвер в систему, либо меняете ноутбук

Vitovan
24.09.2024, 12:48
Да, я уже работаю через хаб. Победить винду пока не получается, ноут пока только один. Была надежда, что есть решение у людей более опытных. Не думаю, что предыдущий работник ездил по котельным с хабом и останавливал объект, чтобы воткнуть хаб.

In_Da_Cher_A
24.09.2024, 13:00
Была надежда, что есть решение решения однозначного нет. Я сделал со своим ноутом под сотню систем, но весной приехал и также обломался и с юсб, и с тср, пришлось ехать за хабом в днс. Причём до меня приезжал наладчик, тупо не думая воткнулся по юсб и спокойно работал. ХЗ что случилось, но вот винда отрыгивала этот плк. После этого на другом контроллере в другом месте ничего не меняя, спокойно подключался

останавливал объект, чтобы воткнуть хаб.ну если у вас система встанет при отключении шнурка тср, и вы жосско экономите даже на китайском хабе за 1000-1500 рублей, то сделайте подключение панели по РС-232, и никаких остановок делать не надо

In_Da_Cher_A
24.09.2024, 13:03
Не думаю, что предыдущий работник ездилно тем не менее - он либо шил ПЛК, либо форматнул. Зачем - непонятно. Вероятно также были проблемы с ним

Vitovan
24.09.2024, 13:11
решения однозначного нет. Я сделал со своим ноутом под сотню систем, но весной приехал и также обломался и с юсб, и с тср, пришлось ехать за хабом в днс. Причём до меня приезжал наладчик, тупо не думая воткнулся по юсб и спокойно работал. ХЗ что случилось, но вот винда отрыгивала этот плк. После этого на другом контроллере в другом месте ничего не меняя, спокойно подключался
ну если у вас система встанет при отключении шнурка тср, и вы жосско экономите даже на китайском хабе за 1000-1500 рублей, то сделайте подключение панели по РС-232, и никаких остановок делать не надо
Печальные новости. Буду думать как это проверить, буду искать другой ноут.

Dmitry_KV
26.09.2024, 13:15
Добрые люди помогите разобраться. Появилась проблема при первоначальной загрузке или сбросе ПЛК 110-32М2 сбрасывает в 0 требуемые уставки времени, мощности и тп. Пробовал и в константы переводить все равно при первом запуске 0 вместо нужного значения...
78909

kondor3000
26.09.2024, 13:21
Добрые люди помогите разобраться. Появилась проблема при первоначальной загрузке или сбросе ПЛК 110-32М2 сбрасывает в 0 требуемые уставки времени, мощности и тп. Пробовал и в константы переводить все равно при первом запуске 0 вместо нужного значения...


Несколько вариантов:
1) Сделать инициализацию переменных при включении.
2) Нужные переменные поместить в слейв, все переменные в слейве энергонезависимые. Они не должны перезаписываться в программе и при включении.
3) Создать Retain переменные и поместить туда нужные.

Dmitry_KV
26.09.2024, 13:27
Несколько вариантов:
1) Сделать инициализацию переменных при включении.
2) Нужные переменные поместить в слейв, все переменные в слейве энергонезависимые. Они не должны перезаписываться в программе и при включении.
3) Создать Retain переменные и поместить туда нужные.
Дело в том что они уже в слейве, или я неправильно понимаю?\
78911

kondor3000
26.09.2024, 13:31
Дело в том что они уже в слейве, или я неправильно понимаю?\


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

Dmitry_KV
26.09.2024, 13:37
Всё зависит от реализации, они могут перезаписаться из программы, надо сделать так, чтобы они только читались, а записывались однократно.
А так же они будут обнуляться при изменении программы и создании нового загрузочного проекта.
Тогда делайте инициализацию.
Т.е. мне необходимо использовать две переменные для SCADA одну для чтения, вторую для записи. Одной я не обойдусь?
Не подскажете как правильно сделать инициализацию?

kondor3000
26.09.2024, 13:44
Т.е. мне необходимо использовать две переменные для SCADA одну для чтения, вторую для записи. Одной я не обойдусь?

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

Dmitry_KV
26.09.2024, 14:01
Переменная из Скады и с Панели должна записываться однократно, только при изменении. Обычно так и есть.
Вероятнее всего у вас идёт перезапись из программы ПЛК.
Проверить просто, добавьте новую переменную, и проверьте сохраняется ли она, первый раз её придётся записать руками.
Если объявить переменную как локальную, то её значение применяется и сохраняется автоматически tDelta_T. А если я её объявляю как глобальную, т.е. присваиваю к слэйву - сбрасывается в нуль.
7892178922

kondor3000
26.09.2024, 14:06
Если объявить переменную как локальную, то её значение применяется и сохраняется автоматически tDelta_T. А если я её объявляю как глобальную, т.е. присваиваю к слэйву - сбрасывается в нуль.

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

Dmitry_KV
26.09.2024, 14:26
Вы не читаете совсем,
Как локальную объявлять нельзя, в слейве она уже глобальная, надо добавить новую в слейв, создать загрузочный проект, первый раз записать руками.
Потом сделать перезагрузку, и посмотреть что переменная сохранила значение.
Извиняюсь ввел в заблуждение не дописав... Еще раз перепроверил. Добавил переменную TEST в слейв, после загрузки проекта она приняла значение 0, задал вручную нужное значение и снял питание с контроллера - значение сохранилось, а при сбросе (кнопкой сброс на ПЛК) сбросилось в 0. Как сохранить значение при сбросе, добавить ее в VAR RETAIN PERSISTENT?

kondor3000
26.09.2024, 15:05
Извиняюсь ввел в заблуждение не дописав... Еще раз перепроверил. Добавил переменную TEST в слейв, после загрузки проекта она приняла значение 0, задал вручную нужное значение и снял питание с контроллера - значение сохранилось, а при сбросе (кнопкой сброс на ПЛК) сбросилось в 0. Как сохранить значение при сбросе, добавить ее в VAR RETAIN PERSISTENT?

Да VAR RETAIN PERSISTENT
И ещё, зачем вы передаёте TIME в виде DWORD, занимая на каждую фигню по 2 регистра?
Когда достаточно переменной WORD, передали число 5 например, в программе умножили на 1000 и конвертировали в TIME получили 5 секунд, всё.

Валенок
27.09.2024, 14:09
Как локальную объявлять нельзя,.
Можно. Это не имеет значения. AT% просто присваивает локальное имя куску глобальной памяти

Lev_3301
27.09.2024, 23:33
[QUOTE=Владислав Г.;233060]Помогите правильно написать CHARCURVE на ST. Спасибо./QUOTE]
http://www.owen.ru/forum/attachment.php?attachmentid=11962&d=1392751544

28658

Здравствуйте!
Можно пожалуйста еще раз прикрепить вложение, а то оно не открывается?
Или возможно есть открытий источник с исходным кодом CHARCURVE на ST?
Заранее спасибо!

Lev_3301
27.09.2024, 23:51
Помогите пожалуйста правильно написать CHARCURVE на ST.
Спасибо.

Для решения задачи требуется написать пользовательский функциональный блок, который позволит расширить возможности обычного блока CHARCURVE до возможности подавать на вход и получать на выходе числа с плавающей точкой, а также одновременно интерполировать по двум переменным Z=f(X,Y).

Но для начала хочется изучить как работает оригинальный CHARCURVE.

МихаилГл
28.09.2024, 09:28
Помогите пожалуйста правильно написать CHARCURVE на ST.
Спасибо.

Для решения задачи требуется написать пользовательский функциональный блок, который позволит расширить возможности обычного блока CHARCURVE до возможности подавать на вход и получать на выходе числа с плавающей точкой, а также одновременно интерполировать по двум переменным Z=f(X,Y).

Но для начала хочется изучить как работает оригинальный CHARCURVE.

https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://portal.tpu.ru/SHARED/e/EFIMOV/Academic/subjects/Tab/%25D0%259F%25D0%259E%25D0%2590%25D0%25A1%25D0%25A3 %25D0%25A2%25D0%259F-%25D0%25BF%25D0%25BE%25D1%2581%25D0%25BE%25D0%25B1 %25D0%25B8%25D0%25B5.pdf&ved=2ahUKEwjE_tSogOWIAxWxaPUHHXYoIUcQFnoECB0QAQ&usg=AOvVaw00Llp7Ygjd8fL3QC8ASnR6

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

Lev_3301
28.09.2024, 12:03
В моем случае функция Z=f(X,Y) задается таблично, но все равно спасибо!

Николай Суриков
28.09.2024, 14:15
Помогите пожалуйста правильно написать CHARCURVE на ST.
Спасибо.

Для решения задачи требуется написать пользовательский функциональный блок, который позволит расширить возможности обычного блока CHARCURVE до возможности подавать на вход и получать на выходе числа с плавающей точкой, а также одновременно интерполировать по двум переменным Z=f(X,Y).

Но для начала хочется изучить как работает оригинальный CHARCURVE.

Где-то на форуме выкладывали функцию отличную, дайте ссылку, если кто-то помнит, что бы еще раз сказать спасибо автору.

TYPE Point_GR :
STRUCT
X,Y: REAL;
END_STRUCT
END_TYPE


FUNCTION MyGraf_p : REAL
VAR_INPUT
IN: REAL; (*Входной сигнал*)
pt : POINTER TO ARRAY[0..99] OF Point_GR; (*Массив точек графика, не более 100 пар точек X,Y*)
size : UINT;
END_VAR
VAR
a: INT; (*Начало интервала поиска*)
b: INT; (*Конец интервала поиска*)
N: INT; (*Число точек в графике*)
i: INT;
END_VAR

N:= SHR(size,3)-1; (*Число точек в графике*)
(*Начальные значения интнрвала поиска*)
a:=0;
b:=N-1;

(*Обрезание графика для крайних точек*)
IF IN<=pt^[0].X THEN
MyGraf_p:=pt^[0].Y;
ELSIF IN>=pt^[N-1].X THEN
MyGraf_p:=pt^[N-1].Y;
(*Теперь можно начать поиск*)
ELSE
WHILE (b-a) <> 1 DO (*В конце концов, входной сигнал ТОЧНО попадет между двумя соседними точками X(a) и Х(а+1)*)
i:=(a+b)/2; (*Делим интервал поиска пополам*)
IF IN=pt^[i+1].X THEN (*Может нам повезло, и мы сразу нашли точку? *)
a:=i; b:=i+1; (*Бинго! прекращаем итераций, нечего в пустую молотить :) *)
(*мимо :( ,тогда посмотрим в какую половину интервала попали*)
ELSIF IN>pt^[i].X THEN (*Если входной сигнал больше середины интервала поиска,*)
a:=i; (*то следующий поиск будем делать начиная от середины и до конца массива*)
ELSE (*А если входной сигнал меньше середины интервала поиска,*)
b:=i; (*то следующий поиск будем делать начиная от начала и до середины массива*)
END_IF
(*Таким образом на каждой итерации отбрасываем из поиска заведомо ненужную половину значений
две соседние координаты X(a) и Х(а+1), меду которыми попадает входной сигнал найдем очень быстро
для 8 точек графика нужно не более 3 итераций
при 9..16 точек в графике нужно не более 4 итераций
при 17..32 точек в графике нужно не более 5 итераций
при 33..64 точек в графике нужно не более 6 итераций
при 65..128 точек в графике нужно не более 7 итераций
инфа точная - 100% ;) *)
END_WHILE
(*Теперь самое простое - сделать линейную аппроксимацию по двум точкам ;) *)
MyGraf_p:=pt^[b].Y-(pt^[b].X-IN)*(pt^[b].Y-pt^[a].Y)/(pt^[b].X-pt^[a].X);
END_IF

Использование:

PROGRAM PLC_PRG
VAR
GR: ARRAY [0..49] OF Point_GR:=
(X:=0, Y:=15),(X:=3, Y:=25),(X:=4, Y:=45),(X:=8, Y:=75),(X:=15, Y:=45),
(X:=16, Y:=45),(X:=20, Y:=65),(X:=22, Y:=75),(X:=40, Y:=95),(X:=50, Y:=105),

(X:=110, Y:=15),(X:=120, Y:=25),(X:=130, Y:=45),(X:=140, Y:=75),(X:=150, Y:=45),
(X:=160, Y:=45),(X:=200, Y:=65),(X:=220, Y:=75),(X:=240, Y:=95),(X:=250, Y:=305),

(X:=301, Y:=15),(X:=305, Y:=25),(X:=324, Y:=45),(X:=380, Y:=75),(X:=415, Y:=45),
(X:=416, Y:=45),(X:=420, Y:=65),(X:=422, Y:=75),(X:=440, Y:=495),(X:=450, Y:=505),

(X:=511, Y:=15),(X:=515, Y:=25),(X:=524, Y:=45),(X:=580, Y:=75),(X:=615, Y:=45),
(X:=416, Y:=45),(X:=420, Y:=65),(X:=422, Y:=75),(X:=440, Y:=495),(X:=450, Y:=505),

(X:=621, Y:=15),(X:=625, Y:=25),(X:=634, Y:=45),(X:=680, Y:=75),(X:=695, Y:=45),
(X:=676, Y:=45),(X:=680, Y:=65),(X:=692, Y:=75),(X:=740, Y:=495),(X:=750, Y:=505);

IN: REAL;
OUT: REAL;
END_VAR

OUT:=MyGraf_p(IN, ADR(GR), SIZEOF(GR));*)

А если хотите изучить, то код библиотеки Util открыт, открываете в CoDeSys и изучаете.

1exan
28.09.2024, 16:56
Где-то на форуме выкладывали функцию отличную, дайте ссылку, если кто-то помнит, что бы еще раз сказать спасибо автору.
...

petera, здесь (http://owen.ru/forum/showthread.php?t=35489&p=369459&viewfull=1#post369459)

Ryni150
29.09.2024, 10:39
Добрый день.

Подскажите, пожалуйста, по ПО Codesys v.2.3.

Мне необходимо реализовать имитацию работы конвейера который считает коробки.
В условиях задания есть требования, чтобы у конвейера было два состояния включен и выключен => vkl_konv, тип переменной булево = 0 или 1. Весь функционал разработал на ST и он работает.
Суть вопроса: В визуализации создал графический интерфейс и на нем есть прямоугольник который отвечает за отображения состояния конвейера. Удалось сделать, чтобы при выключенном конвейере была заливка зеленого цвета, при включенном - заливка красная (требования из ТЗ). Подскажите, пожалуйста, как сделать, чтобы у этого прямоугольника при зеленой заливке отображалась надпись "Конвейер выключен" = значение переменной 0, а при красной заливке отображалась надпись "Конвейер включен" = значение переменной 1. В настоящее время отображается всегда одна подпись, заданная в разделе "Текст".

Заранее спасибо!

Dimensy
29.09.2024, 11:01
Добрый день.

Подскажите, пожалуйста, по ПО Codesys v.2.3.

Мне необходимо реализовать имитацию работы конвейера который считает коробки.
В условиях задания есть требования, чтобы у конвейера было два состояния включен и выключен => vkl_konv, тип переменной булево = 0 или 1. Весь функционал разработал на ST и он работает.
Суть вопроса: В визуализации создал графический интерфейс и на нем есть прямоугольник который отвечает за отображения состояния конвейера. Удалось сделать, чтобы при выключенном конвейере была заливка зеленого цвета, при включенном - заливка красная (требования из ТЗ). Подскажите, пожалуйста, как сделать, чтобы у этого прямоугольника при зеленой заливке отображалась надпись "Конвейер выключен" = значение переменной 0, а при красной заливке отображалась надпись "Конвейер включен" = значение переменной 1. В настоящее время отображается всегда одна подпись, заданная в разделе "Текст".

Заранее спасибо!

Вот так можно
78972

Dmitry_KV
29.09.2024, 17:15
Добрый день, собрал схему аварийного отключения работы установки при аварии вентилятора. Собственно вопрос, можно ли убрать из нее таймер. В проекте уже имеется 6 таймеров 3 из которых почти постоянно в работе, либо оставить так?
Изначально включается xDO6_FUN, через некоторое время приходит сигнал TEST_FAN_ON. Переменная TEST служит для проверки отключения при отсутвии сигнала включения вентилятора (изначала надо TRUE, инвертирование не поставил) Если убрать таймер TOF, то в целом система работает, за исключением ложного кратковременного сигнала авария при первом включении, на время прохождения сигнала о включении вентилятора, хотелось бы от нее избавиться.
78979

1exan
29.09.2024, 18:50
Добрый день, собрал схему аварийного отключения работы установки при аварии вентилятора. Собственно вопрос, можно ли убрать из нее таймер. В проекте уже имеется 6 таймеров 3 из которых почти постоянно в работе, либо оставить так?
Изначально включается xDO6_FUN, через некоторое время приходит сигнал TEST_FAN_ON. Переменная TEST служит для проверки отключения при отсутвии сигнала включения вентилятора (изначала надо TRUE, инвертирование не поставил) Если убрать таймер TOF, то в целом система работает, за исключением ложного кратковременного сигнала авария при первом включении, на время прохождения сигнала о включении вентилятора, хотелось бы от нее избавиться.
78979

А "xDO6_FUN" кто включает?

Dmitry_KV
29.09.2024, 19:13
А "xDO6_FUN" кто включает?
xDO6_FUN включается когда установку из ручного в авто переводят (на схеме не представлено). Далее, если xDO6_FUN и TEST_FAN_ON = TRUE, а AVARIA_FAN_OFF: FALSE подключается нагрузка. При отсутствии нагрузки xDO6_FUN отключается через заданное время, затем при необходимости подключить нагрузку сначала включается xDO6_FUN: TRUE , проверятся что он не в аварии AVARIA_FAN_OFF: FALSE и так по кругу. Пока установка в работе, вентилятор TEST_FAN_ON должен быть всегда включен, в ином случае должно перейти в аварию AVARIA_FAN_OFF: TRUE и выключить установку, дабы не перегрелась.

Dimensy
29.09.2024, 19:27
Добрый день, собрал схему аварийного отключения работы установки при аварии вентилятора. Собственно вопрос, можно ли убрать из нее таймер. В проекте уже имеется 6 таймеров 3 из которых почти постоянно в работе, либо оставить так?
Изначально включается xDO6_FUN, через некоторое время приходит сигнал TEST_FAN_ON. Переменная TEST служит для проверки отключения при отсутвии сигнала включения вентилятора (изначала надо TRUE, инвертирование не поставил) Если убрать таймер TOF, то в целом система работает, за исключением ложного кратковременного сигнала авария при первом включении, на время прохождения сигнала о включении вентилятора, хотелось бы от нее избавиться.
78979

Я не знаю всех нюансов, но может так попробовать?
78980

Dmitry_KV
29.09.2024, 19:59
Я не знаю всех нюансов, но может так попробовать?
78980
Спасибо за идею без MOVE, но так проходит кратковременно авария при выключении xDO6_FUN, и в целом нет аварии при переходе TEST_FAN_ON из TRUE в FALSE при xDO6_FUN: TRUE