PDA

Просмотр полной версии : Codesys v3 + Raspberry Pi



Страницы : [1] 2

melky
23.12.2014, 23:37
Ну, начнем треп на тему домашней автоматизации на указанной в теме связке.
Может кто уже пробовал, делал ?
Я только собираюсь. Недавно приобрел плату Raspberry Pi B+ (2330р), жду, когда приедет.
Runtime Codesys стоит 35 евро + 19% налог. Есть демо режим в течении 2 часов, так что можно отладить работу программы, визуализации не покупая.
Ну а когда все будет отлажено и выбор будет сделан в пользу этой связки приобрести.
Информация с сайта CDS. http://store.codesys.com/codesys-control-for-raspberry-pi-sl.html

Обсуждаем ?

Amko
24.12.2014, 07:44
Вы попробуйте, отпишитесь по результатам :)
Какое будет быстродействие, стабильность... Я так то за унификацию, зоопарк технологий для домашней автоматизации пугает. А тут и кдс и опыт работы с ним).
Модбас ТСР каким образом туда прикручивается?

P.S. Увидел про модбас ага, GPIO порты из коробки умеет, млдц =)

melky
24.12.2014, 08:55
Вообще искал решение для Linux, для использования именно на любой системе. Нашел, но ценник озвучили негуманный. Так runtime для Raspberry был озвучен в 394 евро (поддержка языков МЭК) от компании copalp.

Требования были
1. обработка программы исполнения
2. поддержка Modbus (так как дома уже стоит ПЛК100 ОВЕН и есть модули расширения, пока анализатор сети и аналоговых входов 8АС, будут добавляться дискретные и аналоговых выходов.)
3. web визуализация

1-й путь, заменить ПЛК на микрокомпьютер, правда по документации быстродействием не блещет, CDS заявляет минимальный цикл 50 мс для Raspberry, может там ошибочка и 50 мкс ??? или интеграция с ПЛК100
2-й путь, микрокомпьютер помощнее, например Cubieboard2 или 3 и установка на него SCADA с web, например openSCADA (такой вариант тоже рассматриваю и буду крутить чуть позже, когда приобрету cubieboard) и интеграция с ПЛК
Есть и другие пути, но скользские и трудозатратные....

Sergey666
24.12.2014, 09:49
melky , в этом рантайме целевая визуализация поддержана ?
Мин.ц где-то 50мс так и будет , это-же линух , на винде будет 150...250 .
Вариант со скадой подразумевает ОРС-сервер , опрос-присвоение (OLE составляющая) не быстрое .
Вообще интересно , но ! смущает копеечная цена ... как бы потом не оказалось дешевым фуфлом все это .

melky
24.12.2014, 10:08
CodeSys заявлено WebVisu. Работает на версии 3. В общем по сравнению с ПЛК 50 мс это много, но для дома вполне сойдет я думаю, меня именно web визуализация интересует, чтобы не прикручивать костылями.
Не, 2-й вариант со скадой я планировал только для web извне, ПЛК будет продолжать сам исполнять свои функции, а SCADA только для опроса и управления со стороны и архивирования.

Меня тоже цена относительно смущает. Но можно ведь и разделить задачи, например все датчики температуры использовать 18b20, не нужен будет модуль аналоговых входов, а это экономия. Вместо ПЛК может быть ПР для быстрых задач, например управление светом, ролетами и т.д. А стоимость ПР горазно ниже чем ПЛК.... Ну и так далее.

Связка Raspberry + CDS в районе 7-ми тысяч выйдет, если цены не попрыгаюст сильно, это даже дешевле чем ПЛК100 сейчас, но данная связка позволит сэкономить на другом, надеюсь.

Алексей Геннадьевич
24.12.2014, 13:19
CDS заявляет минимальный цикл 50 мс для Raspberry, может там ошибочка и 50 мкс ???

Многовато. Учитывая то, что ПЛК серии 110 имеют минимальный цикл 250мкс, и проц 200мгц. против 700 у Raspberry.

Вы бы про саму идею рассказали.
Сводить всё управление в один щит/процессор?!
Крякнул Raspberry - накрылось всё. Вообще всё.

melky
24.12.2014, 13:58
Алексей Геннадьевич Крякнул ПЛК100 - накрылось всё. Вообще всё. Прямая аналогия.
У меня на объекте крякнул ПЛК150, то же самое. ЗИПов не было, ждал из ремонта ПЛК.

Меня тоже смущает скорость, но если правда это связанно с ядром Linux, и runtime CDS поверх него, то это нормально в принципе.

Yegor
24.12.2014, 14:10
Да нифига это не нормально. Такая задержка даже оператору/пользователю немного заметна.
Мин.ц где-то 50мс так и будет , это-же линух , на винде будет 150...250 Танунах. Не "это же линух", а "это же искусственные какие-то ограничения".

50 мс это неинтересно совсем.

melky
24.12.2014, 14:25
Так никто не говорит, что это нормально для производства или еще для чего. Для дома вполне пойдет для регулирования климата. Цена гораздо ниже любого контроллера на CDS v3 с поддержкой web.

Алексей Геннадьевич
24.12.2014, 14:28
Алексей Геннадьевич Крякнул ПЛК100 - накрылось всё. Вообще всё. Прямая аналогия.
У меня на объекте крякнул ПЛК150, то же самое. ЗИПов не было, ждал из ремонта ПЛК.
А вот у меня на заводе сломался станок - людям пришлось на соседнем вечером оставаться.
Автоматизация это хорошо, но и о надёжности системы забывать не стоит.
И в полном соответствии с законами Мерфи малинка выпустит волшебный дым именно тогда, когда вы будете не в состоянии устранить неисправность.
И ужины при свечах доставят незабываемых впечатлений вашим домашним.


Меня тоже смущает скорость, но если правда это связанно с ядром Linux, и runtime CDS поверх него, то это нормально в принципе.
Применяли как центральный блок управления квадро\окто\....коптером, если не ошибаюсь. Автополёты по заданному маршруту.
Там реакция не 50мс, а меньше должна быть.

melky
24.12.2014, 14:33
Надежность системы определяется ее схемотехникой. Я планирую дома делать систему так, чтобы вылет контроллера (любого, будь то ПЛК100, ПР или малины) не сказалась на работе системы в целом. В некоторых случаях будет предусмотрены ручные режимы работы.
И даже в этом случае я не застрахован от вылета например контроллера котла, мне корейцы его в зип не положили, забыли наверное :)

Sergey666
24.12.2014, 22:20
Эта штука ...малина , годится для визуализации и типа верхнего уровня c web visu , если действительно работать будет , то по цене просто сказка .
И пофиг какой мин.ц будет . Только если gp_io использовать надо внешние развязки делать .

BETEP
24.12.2014, 22:49
А в чём прикол малины для дома, если недорогих неттопов полно, уже в коробочке и с блоком питания.
производительность в разы отличается,
VS Express, nmodbus, Apache бесплатны. т.е. без кодесиса халявных плюшек навалом.

melky
25.12.2014, 09:29
Sergey666 на счет развязок понятно. Меня привлекло - CDS (webvisu, Modbus), возможность подключения датчиков температуры на шину. Возможно она и останется верхним уровнем но с передачей инфы по температуре в ПЛК.
Еще вариант прикрутить openSCADA для web ну и так же датчики температуры опрашивать и передавать данные в ПЛК для обработки (то есть отказаться от 8АС в моем нынешнем случае)
BETEP самый дешевый неттоп порядка 7-8 тысяч. Первоначально я и смотрел в данную сторону (и продолжаю смотреть, но есть дома две машины Debian и Windows7 на которых могу тренироваться с различными скадами и т.д. поэтому покупка неттопа остро не стоит)
Тут на самом деле при выборе несколько факторов.
1. попытка уйти от ПЛК для дома вообще (аргумент - цена).
2. Использовать существующие устройства ввода/вывода, например те же ОВЕНовские с протоколом Modbus.
3. Получить доступ к управлению через интернет.

По возможности с минимальными затратами на разработку с изучением Cи, Питон и других языков, то есть искался вариант именно МЭК языков.

Попытки найти runtime МЭК языков для SoftPLC привели к Codesys и к http://www.copalp.com/en/runtime/ (Итальянцы, за runtime для Raspberry попросили 394 евро, для Линукс, Виндоуз после озвученной цены не узнавал). Ну и на счет наличия web не уточнял... Для Linux у Codesys к сожалению нет готового решения, надо пилить, а пилить то нечего, так как нет в доступе.

Sergey666
25.12.2014, 09:44
melky, так эта ...малина будет с рантаймом КДС3 вместо линукса ?
Или рантайм поверх ставится ?
Вообще давай "первопроходец" интересно что получится .
Чесно говоря ценники от "фирменных" продуктов (ПЛК и прочее) прибивают просто.

З.Ы Цена шкафа автоматики среднего сравнима с ценой автомобиля .

melky
25.12.2014, 09:48
Sergey666 runtime в виде образа диска с сайта Codesys. Ядро скорее всего Linux, но что там внутри не знаю. Хотя есть и deb пакет и еще package.
codesyscontrol_arm_raspberry_V3.5.5.20.deb
CODESYS_Control_for_Raspberry_PI.package
codesysrasp3552.img

Вот список файлов.
Так что вероятно поверх системы скорее всего, отсюда и такой минимальный цикл наверное.

melky
30.12.2014, 09:24
Ну вот, вчера приехала сама плата Raspberry Pi B+. Осталось дело за малым, разобраться с CodeSys v3, до этого с 3-ей версией не работал.
Ну и придется паять адаптеры для дисретных входов и выходов, чтобы не увалить интерфейс платы, но пока не к спеху.

sc200457
11.01.2015, 20:07
melky, посмотрите вот на эту связку
http://www.fleaplc.it/en/tutorials/33-arduino-as-raspberry-pi-s-remote-io-codesys

melky
11.01.2015, 23:13
А зачем там еще Ардуино ? У Raspberry есть свои входы, выходы, на недостающее есть Modbus и любые модули ввода вывода...

lara197a
11.01.2015, 23:31
примерно с год назад на хабре про него была большая обзорная статья. И что-то в самоделках на нем же.
У меня лично задач под веб не было, сначала дернулся попробовать, а потом решил-зачем?
мелкий поищи, там много интересного.

AlexG
13.02.2015, 07:57
Ну и как, попробовал кто-нибудь?
Не удержался, купил Raspberry в магазине рядом с домом. Благо цена этой платы позволяет купить ее на поиграться, в отличии от полноценного ПЛК.
Codesys запустился с полпинка. Web-визуализация работает отлично, даже на телефоне отображается, никакoй Java не нужно.
Остановился на настройке мастера Modbus RTU. Поcледний раз имел дело с Codesys в виде SoMachine, в чистом Codesys 3 как-то иначе все это делается :confused:

melky
13.02.2015, 09:10
А у меня все руки не доходят из-за работы.
Я собственно тоже брал из-за web визуализации на смартфон без танцев с бубнами и программированием ПЛК100, который стоит сейчас дома.

murdemon
13.02.2015, 12:17
Тоже руки не доходят.. хочется софтмошен с сервами попробовать как демка с дельта роботом.. Еще в SP6 обещали поддержку Profinet... и Ethercat.. и визувлизацию при установке хроме в режиме киоска...

melky
13.02.2015, 12:56
EtherCat для Raspberry уже поддерживается наряду с Modbus, если верить описанию Codesys под него.

murdemon
15.02.2015, 21:04
Киоск в хроме работает... веб визулизация работает... тренды и все остальное тоже...

Scream
15.02.2015, 21:34
этот слэнг....
Поясните мне не граматному, что такое киоск в хроме?

murdemon
16.02.2015, 12:53
Ну так как в рантайме для Raspbbery PI нет таргет визуализации а только веб визуализация то при запуске системы ОС мы автоматически запускаем браузер Chrome в режиме киоск (это на полный экран без возможности свернуть браузер или перейти в другое окно) и в нем загружаем наш 127.0.0.1:8080\webvisu.htm и все работает, как будто на девайсе есть таргет визуализация..

murdemon
16.02.2015, 12:56
так же выяснилось что нет нормальных Retain.. их возможно организовать через запись в файл (при изменении) и восстановление при запуске. Еще нет RTC... надо связь с каким либо NTP сервером в локалке или в интернете, тогда эмуляция RTC работает отлично...

Scream
16.02.2015, 23:00
Ну так как в рантайме для Raspbbery PI нет таргет визуализации а только веб визуализация то при запуске системы ОС мы автоматически запускаем браузер Chrome в режиме киоск (это на полный экран без возможности свернуть браузер или перейти в другое окно) и в нем загружаем наш 127.0.0.1:8080\webvisu.htm и все работает, как будто на девайсе есть таргет визуализация..

Вот оно что, интересно. Какая сейчас актульна распери? B? B 2? и кто по чем брал?
Сколько смотрел цены от 2000 до 3600, хз, разница ОЗУ 512 и 1024.

melky
16.02.2015, 23:11
A, B, B+ - память 512 - брал В+ за 2320 перед НГ через ебэй.
На Pi 2 - вроде памяти 1024 не помню, ее только только анонсировали. Проц там чуть пошустрее точно.

murdemon
17.02.2015, 11:44
у меня доставка с aliexpress (http://ru.aliexpress.com/item/3-IN-1-Rev-3-0-512-ARM-Raspberry-Pi-Model-B-Project-Board-2-heat/2042275471.html?recommendVersion=1) 2300р + коробочка + радиаторы версия B+ - доставка до Питера 2 недели..

melky
17.02.2015, 16:20
http://www.ebay.com/itm/400503978923 - часы реального времени + память для retain

Scream
17.02.2015, 16:39
http://www.ebay.com/itm/400503978923 - часы реального времени + память для retain

Интересная штука)) Только вот продавца долго не будет, жаль.

melky
17.02.2015, 17:09
Так можно порыскать и у других продавцов, это я так, темку на 4пда почитал про часы к Малине.

murdemon
17.02.2015, 17:21
Не совсем по делу но ... Вы лучше посмотрите ESP8266 там и микроконтроллер и WiFi клиент и как точка доступа может работать и цена 100 рублей... (видели рекламу Redmond мультиварка с вафлей) еще есть такая штука IOT тоже весьма ...

Дмитрий Артюховский
03.03.2015, 11:43
Купил малинку - офигенная штука! Кроме всех плюшек линукса - еще и возможность запуститься на "голом железе" )) Однокристаллка на 700 МГц с кучей всего на борту и приличным кодогенератором из С++. Да и библиотеки для GPIO позволяют переключаться практически в монопользовательский режим и даже под линухом получать 5МГц на выходе и прерыванием с каждого входа

Jman
15.03.2015, 18:42
Исправлено.

Jman
28.03.2015, 09:23
Всем привет. Отпишитесь пожалуйста, кто что сделал на малинке в среде Кодесис? Меня например интересует, возможно ли организовать модбас? Через UART -> RS485;

sc200457
30.03.2015, 08:54
Всем привет. Отпишитесь пожалуйста, кто что сделал на малинке в среде Кодесис? Меня например интересует, возможно ли организовать модбас? Через UART -> RS485;
Добрый день.
Да можно. Нужно только отключить консольную программу, которая использует UART по умолчанию и включить управление от CoDeSys.

Jman
17.04.2015, 21:27
Добрый день.
Да можно. Нужно только отключить консольную программу, которая использует UART по умолчанию и включить управление от CoDeSys.

Скажите, а вот я если использую МАХ485 например, как быть с ножкой, организующей переключение прием-передачу микры. Есть ли бибка какая-нибудь или пример реализации.

lara197a
17.04.2015, 22:17
Схема подключения в даташите.
Не нужно там ничего переключать.

Jman
18.04.2015, 12:46
Схема подключения в даташите.
Не нужно там ничего переключать.

Ок, так а куда тогда ноги RE, DE микросхемы МАХ485 девать? Я когда-то делал конвертер UART->485, ставил там вроде еще дополнительно 555 для передергивания приема-передачи.

sc200457
20.04.2015, 15:08
Добрый день.
Самый простой вариант (на коротких линиях и скоростях до 19200) поставить подтягивающие резисторы по 6,8 Ком на линии rs485. Линия А к +питания, Линия В к общему проводу. Сигналы RE и DE обьединить и управлять инверсным сигналом от передатчика TxD.

Дмитрий Артюховский
20.04.2015, 19:49
порыскайте в доках, и найдете пинку, которая будет управлять переключением. и главное - вам нужна MAX3485 - т.е. трехвольтовая версия. Входы у малинки 3.3 вольт и горят при появлении 5 вольт.

sc200457
21.04.2015, 06:43
Доброе утро. То, что я написал вот тут, рис. 4. Еще гальваническую развязку бы.
http://electromost.com/news/raspberry_pi_dlja_domashnej_avtomatizacii_chast_pj ataja/2014-04-04-120

Jman
21.04.2015, 09:37
О ребята, спасибо.. Буду курить.

Foxcon
21.04.2015, 18:30
Еще гальваническую развязку бы.

Там же обсуждалось - http://electromost.com/forum/6-92-6698-16-1420451253
Правда, не знаю, довели до ума эту идею или нет.

Jman
10.06.2015, 10:30
Всем привет. Хочу прикрутить к распи МСР3008, есть у кого-либо опыт? В мануале к распиконтрол написано, что в кодесис есть пример использования этого чипа, но я его не нашел.

sc200457
11.06.2015, 13:27
Добрый день.
http://forum.codesys.com/viewtopic.php?f=21&t=6228

Jman
11.06.2015, 15:37
Добрый день.
http://forum.codesys.com/viewtopic.php?f=21&t=6228

Да, кстати спасибо за линк на мой топик.

Jman
11.06.2015, 15:58
Все победил, кому надо выкладываю.
MCP3008 Raspi B+
Pin 15-16 GPIO1 - Power 3,3V
Pin 13 GPIO23 - CLK
Pin 12 GPIO21 - MISO
Pin 11 GPIO19 - MOSI
Pin 10 GPIO8 - CE0
Pin 9-14 GND

Соединять так. Если используете питалово чипа 5 Вольт, нужен преобразователь уровней SPI 5 -> 3,3 Вольта;

tea
12.06.2015, 09:42
По поводу времени цикла, там микросекунды.

''The runtime system does not have real-time behavior. Its Jitter depends on many factors, especially on parallel executed Linux applications, and is ideally about 50µs with maximum values of 400µs.''

Jman
14.06.2015, 18:08
По поводу времени цикла, там микросекунды.

''The runtime system does not have real-time behavior. Its Jitter depends on many factors, especially on parallel executed Linux applications, and is ideally about 50µs with maximum values of 400µs.''

Вы о времени общего цикла программы? Или времени цикла подпрограммы с SPI устройством(и)?

2. Кто-нибудь из форумчан использовал шину I2C? Поделитесь опытом.

sc200457
26.06.2015, 13:23
Добрый день.
В магазине появляются интересные вещи для работы с шиной I2C
http://store.codesys.com/horter-kalb-i2c-support-for-raspberry-pi.html

Вольд
26.06.2015, 13:27
Добрый день.
В магазине появляются интересные вещи для работы с шиной I2C
http://store.codesys.com/horter-kalb-i2c-support-for-raspberry-pi.html
И что дальше ?

sc200457
26.06.2015, 16:56
Это для Jman. Он интересуется этой шиной)

sc200457
26.06.2015, 17:00
Да, кстати схемотехника не скрывается
http://horter.de/i2c/i2c-output-modul/i2c-output-modul-Beschreibung.html

ga-nozry
02.07.2015, 14:25
По поводу реализации RS-485 на Raspberry - не морочьте голову с пайкой преобразователей из UART - используйте USB<>RS-485 за 60 рублей:
http://ru.aliexpress.com/item/USB-to-RS485-485-Converter-Adapter-Support-Win7-XP-Vista-Linux-Mac-OS-WinCE5-0/1956981483.html

Прекрасно работает, в том числе и с модулями ОВЕН. Не требует установки драйверов - определяется автоматически. Единственное, что нужно для работы - подправить файлик /etc/CODESYSControl.cfg:
http://forum.codesys.com/viewtopic.php?f=21&t=5699#p10247

serg28serg
06.07.2015, 01:17
что не нашел ни чего про дисплей для визуализации в codesys, только через WEB
ни кто не находил ?

sc200457
06.07.2015, 12:49
Только WEB.

aspire89
29.07.2015, 07:25
Вышло обновление 2.2.0.0 (http://store.codesys.com/codesys-control-for-raspberry-pi-sl.html), но нигде не могу найти список изменений. Не подскажите, есть ли он вообще у них?

murdemon
16.08.2015, 18:40
Демка работает 2 часа а так полностью идентична нормальной. Лицензию покупал и ставил все без проблем... там даже исторические тренды работают :)

murdemon
16.08.2015, 19:04
да к плате жестко

sc200457
18.08.2015, 09:19
Добрый день. У меня вопрос к murdemon. Вы пробовали версию 2.2.0.1 с CDS3.5.7 ?
Есть ли проблемы?

murdemon
18.08.2015, 09:27
пробовал но не под родное ядро от codesys а под http://docs.emlid.com/Downloads/Real-time-Linux-RPi1/ все летает без проблем.... даже джитер с помощью прошивки смогли победить ...

capzap
29.08.2015, 20:49
в смысле консольный редактор ищите?

capzap
29.08.2015, 21:04
я не за компом, поэтому попробуйте прошерстить все папки bin и sbin, их четыре поищите vi или nano и вставте их перед строчкой конф.файла

capzap
31.08.2015, 06:22
пользуйтесь командой dmesg перед и после подключения, там будет хорошо видно к какому порту подключается USB, если единственное устройство и до этого его ни кто не захватывал перед подключением, то должно быть /dev/ttyUSB0

Сема
18.09.2015, 15:58
Привет всем, подскажите пожалуйста, а что значит скачать и установить RunTime Codesys на Raspberry Pi, как эта процедура выполняется?? Где это преобрести, как установить?? Как связь идёт с дисплеем?? Где можно найти описание проектов?? Как вообще эта система реализуется?? Какой интерфейс на борту и микрокомпьютеров??? Много слэнгов и терминов... Не понятно, о чём речь..

Сема
21.09.2015, 13:15
Плата Raspberry Pi https://www.raspberrypi.org/downloads/ RunTime Codesys на Raspberry Pi это условно тергет, далее все как на плк, примеры и библиотеки в магазине http://store.codesys.com/ скачивай только страну выбирай не Россию, демо 2 часа работы, много чего интересного. Производительная штука жаль что у Овен нет такой штуки с такими характеристиками.

А как её шить?? Не понимаю...

Сема
22.09.2015, 12:58
то есть рантайм кодесиса, это образ на флешке, так что ли?? А как же дальше с ним работать?? Как в программной среде установить связь, подключать интерфейсы, и так далее?? А есть какие нибудь материалы???

melky
22.09.2015, 13:25
Материалы есть на сайте CodeSys.

Сема
24.09.2015, 11:53
А что делают на этих микрокомпбютерах?? А то информации мало, просто интересно...

melky
24.09.2015, 12:55
с рантаймом CodeSys он такой же контроллер как и ПР110 например. Только надо развязку входов, выходов делать, это дополнительная плата.
Например для домашней автоматизации самое то за скромные деньги.

Сема
30.09.2015, 15:39
Не могу найти Рантайм Codesys DEMO на Raspberry PI, Нету такого уже??

petera
30.09.2015, 15:54
Не могу найти Рантайм Codesys DEMO на Raspberry PI, Нету такого уже??
А это разве не оно?
https://store.codesys.com/ftp_download/3S/RaspberryPI_SL/603001/2.2.0.2/CODESYS Control for Raspberry PI_2.2.0.2.package

Лежит здесь http://store.codesys.com/codesys-control-for-raspberry-pi-sl.html?___from_store=default&___store=en
20189

Сема
30.09.2015, 16:55
А есть какая -нибудь документация?? какие нибудь примеры?? как с библиотеками работать?? Есть что нибудь такое??

Сема
30.09.2015, 16:55
Спасибо за информацию.. А есть какая -нибудь документация?? какие нибудь примеры?? как с библиотеками работать?? Есть что нибудь такое??

NightBeer
20.10.2015, 20:44
Из-за бакса тоже думаю перейти на малинку, но мне нужен RTC, на Али есть модули, но работает ли с ним CDS?

murdemon
20.10.2015, 20:50
да там есть .. и цепляются нормально советую такой http://www.seeedstudio.com/depot/Mini-RTC-Module-p-1702.html ..

NightBeer
20.10.2015, 21:01
Спасибо! Как раз такой и заказал :) завтра у меня будет малинка 2, но usb-rs485 и RTC идти будут долго. Напишу как всё прошло, думаю перебросить проекты с СПК107. Жаль что у Овена нет аналогов.

Jman
24.12.2015, 13:11
Всем привет. Человек постами выше давал ссылку http://www.ebay.com/itm/400503978923 - часы реального времени + память для retain. Вопрос, кто-нибудь решал проблему сохранения значения в память 24ххх?

murdemon
24.12.2015, 13:24
retain можно и на флешку сохранять в виде файла и при загрузки подгружать обратно (а в программе просто VAR RETAIN использовать и все)

PROGRAM RetainManager
VAR_INPUT
RetainFilePathName : STRING := '/root/Retain';
SaveFilterTime : TIME := T#5S;
ForceSave : BOOL;
END_VAR
VAR
Init: BOOL;
pRetainFilePathName : POINTER TO STRING;
pCurrentApp : POINTER TO APPLICATION;
RetainAreaSize: __XWORD;
pRetainArea: POINTER TO BYTE;
dwCRCSave: DWORD;
dwCRC: DWORD;
TOF1 : TOF := (PT := SaveFilterTime);
R_TRIG1: R_TRIG;
END_VAR
VAR_OUTPUT
RTSIECResult: cmpapp.RTS_IEC_RESULT;
AttemptSaveCounter: INT;
END_VAR

IF NOT Init THEN
pCurrentApp := AppGetCurrent(ADR(RTSIECResult));
IF RTSIECResult<>0 THEN RETURN; END_IF
RetainAreaSize := AppGetAreaSize(pApp:= pCurrentApp, uiType:= DA_RETAIN, pResult:= ADR(RTSIECResult));
IF RTSIECResult<>0 THEN RETURN; END_IF
pRetainArea := AppGetAreaAddress(pApp:= pCurrentApp, uiType:= DA_RETAIN, pResult:= ADR(RTSIECResult));
IF RTSIECResult<>0 THEN RETURN; END_IF
IF LEN(RetainFilePathName) <> 0 THEN
pRetainFilePathName := ADR(RetainFilePathName);
ELSE
pRetainFilePathName := ADR(pCurrentApp^.szName);
END_IF
RTSIECResult := AppRestoreRetainsFromFile(pCurrentApp, pRetainFilePathName^);
CASE RTSIECResult OF
0: // #define ERR_OK 0x0000
16#1E: // #define ERR_SIGNATURE_MISMATCH 0x001E /* Signature mismatch of an api function */
16#32: // #define ERR_FILE_ERROR 0x0032 /* File error. e.g. cannot open a file for writing because it could be write protected */
ELSE RETURN;
END_CASE
dwCRCSave := CRC32Finish(ulCRC:= CRC32Update(ulCRC:= CRC32Init(), pData:= pRetainArea, ulSize:= RetainAreaSize));
Init := TRUE;
END_IF

R_TRIG1(CLK := ForceSave);

dwCRC := CRC32Finish(ulCRC:= CRC32Update(ulCRC:= CRC32Init(), pData:= pRetainArea, ulSize:= RetainAreaSize));

IF dwCRC <> dwCRCSave OR R_TRIG1.Q THEN
IF NOT TOF1.Q OR R_TRIG1.Q THEN
RTSIECResult := AppStoreRetainsInFile(pCurrentApp, pRetainFilePathName^); // записасать в файл
IF RTSIECResult = 0 THEN
dwCRCSave := dwCRC;
END_IF
AttemptSaveCounter := AttemptSaveCounter + 1;
TOF1(IN := TRUE);
END_IF
END_IF

IF TOF1.Q THEN
TOF1(IN := FALSE);
END_IF

http://forum.codesys.com/viewtopic.php?f=21&t=5722&start=15

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

murdemon
24.12.2015, 15:23
можно сделать скрипт на bash и вызывать его из кодезиса с несколькими параметрами.. или просто писать в именованный канал как /dev/mymemory как в файл (лучше второй вариант)

marat-ab
29.12.2015, 14:36
Добрый день!
Осваиваю Codesys + Raspberry Pi 2 (далее RPi). Возникла проблема на этапе развертывания на RPi Modbus RTU Master/Slave. Насколько я понимаю необходимо сделать следующие вещи:

1. Подключить преобразователь USB<->RS к RPi, и через dmesg посмотреть как он стал доступен в системе. В моём случае это /dev/ttyUSB0.
(dmesg выдал: usb 1-1.4: pl2303 converter now attached to ttyUSB0)
2. На RPi в файл /etc/CODESYSControl.cfg добавить:
[SysCom]
Linux.DeviceFile=/dev/ttyUSB
portnum:=COM.SysCom.SYS_COMPORT1
3. Перезагрузить RPi
4. В проект CODESYS добавляем "Modbus COM", а к "Modbus COM" добавляем либо "Modbus Serial Device" (если хотим Slave), либо "Modbus Master" (если хотим Master).
5. Настраиваем всё, что добавили.
6. Собираем проект и отправляем его в RPi

В качестве базового проекта я использовал Onewire (он идёт в комплекте вместе с пакетом для работы с RPi). Всё что касается onewire в нём отлично работает: датчик температуры опрашивается и через web-интерфейс можно данные с него посмотреть.
В моём случае (см. рис.), почему-то, при просмотре в online режиме напротив modbus устройства вместо зелёных стрелок, которые говорят о том, что всё ОК, стоят треугольники с красной рамкой, а в статусе устройства указано:
PCI-BUS: No driver found
SerialPort: No driver found
21573

Может ли это быть связано с тем, что я использую пока только двух часовую демо версию (не успел пока купить полную)? Но, насколько я понимаю, в демо ограничение связано только со временем работы, а функционал полный.
Цитата с сайта: Without purchasing a license (just download) the CODESYS Control for Raspberry Pi runs for two hours without functional limitations and shuts down automatically (demo).
Или всё дело в том, что я каким-то образом не подключил драйвера?

Проект приложил к письму.

Буду очень благодарен за помощь!

murdemon
29.12.2015, 15:42
Попробуй компорт в кодезисе с 1 на 4, 3, 2 поменять - он иногда их по разному подхватывает.

marat-ab
06.01.2016, 19:50
Спасибо за советы!
Попробовал, но как-то не завелось)
Изучение логов дало следующий результат:
- в файле /tmp/codesyscontrol.log есть следующие записи:
1452097627: Cmp=OnlineLicenseManager, Class=4, Error=0, Info=0, pszInfo=**** License for IoDrvModbusSerial not installed.
1452097627: Cmp=CmpIoMgr, Class=4, Error=1, Info=1, pszInfo=**** Update configuration failed from driver <iodriver>IoDrvModbusTCPSlave</iodriver>
(полный лог прикреплен к сообщению)
- в логах CODESYS та же информация:
21656

Я так понимаю, мои неудачи в работе с Modbus связанны именно с этим. Исправится ли эта ситуация, после покупки лицензии (я пока работаю в демо режиме)?
Можно ли в демо режиме как-то загрузить эти драйвера? (CODESYS вроде как полнофункциональный должен быть даже в демо режиме)?

Спасибо!

melky
19.01.2016, 16:38
Продолжение следует...
Развожу плату IO для Raspberry, должны будут сделать шаблон пока, без металлизации и один из старых вариантов.
Пока вот пришел к такому варианту. количество входов/выходов 7-9, 8-8, 9-7 (два пина можно переключать либо на вход либо на транзисторный выход).
7 выходов могут быть либо релейными 5А (реле SRA), либо аналоговыми 0-10В (аналоговые выходы управляются ШИМ с соответствующих пинов Raspberry), схема от Вольд-а с гальванической развязкой.
На плате разведен вторичный ИП, которым можно записать либо аналоговые выходы 12В, либо сам Raspberry, если нет аналоговых выходов.
Плата питается 24В.

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

Собственно собираюсь заказывать у китайцев, хотя может и у нас где. Интересует сколько штук заказывать, кто потом подпишется на покупку платы ? мне явно 10 штук не надо, точно уйдет 2 или может 3 штуки сразу.
Еще такой момент. стоит ли расширить плату влево и сделать еще один вторичный ИП, чтобы от общего БП 24В питать и плату и аналоговые выходы и сам Raspberry ? Это увеличит плату и соответственно цену за нее.

acronis
19.01.2016, 16:46
Продолжение следует...
Развожу плату IO для Raspberry, должны будут сделать шаблон пока, без металлизации и один из старых вариантов.
Пока вот пришел к такому варианту. количество входов/выходов 7-9, 8-8, 9-7 (два пина можно переключать либо на вход либо на транзисторный выход).
7 выходов могут быть либо релейными 5А (реле SRA), либо аналоговыми 0-10В (аналоговые выходы управляются ШИМ с соответствующих пинов Raspberry), схема от Вольд-а с гальванической развязкой.
На плате разведен вторичный ИП, которым можно записать либо аналоговые выходы 12В, либо сам Raspberry, если нет аналоговых выходов.
Плата питается 24В.

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

Собственно собираюсь заказывать у китайцев, хотя может и у нас где. Интересует сколько штук заказывать, кто потом подпишется на покупку платы ? мне явно 10 штук не надо, точно уйдет 2 или может 3 штуки сразу.
Еще такой момент. стоит ли расширить плату влево и сделать еще один вторичный ИП, чтобы от общего БП 24В питать и плату и аналоговые выходы и сам Raspberry ? Это увеличит плату и соответственно цену за нее.


Хорошая работа !
Необходимо знать конечную цену платы , возможно я готов поучавствовать

melky
19.01.2016, 17:29
В том виде, в котором она есть, по калькулятору http://newservice.rezonit.ru при заказе 10 шт плата должна выходить 485 рублей с копейками. при 20 шт около 350р. Китайцам пока не засылал, так как плата еще не конечная, будут поправки.
Размер платы 108х97 мм.
Если кто знает где заказать дешевле, буду рад инфе.
Попробовал сбоку расположить еще один вторичный ИП, и тут же нарисовалось куча свободно места... как бельмо на глазу :)

melky
19.01.2016, 21:09
Корпус не рассматривался вообще, идея была совместить стойки Raspberry и платы. Высота стоек любая, так же можно шлейфом соединять.
Удлинителей "мама" не нашел, даже не знаю, есть ли такое. Длинные штыри есть, но выпаивать из Raspberry для замены точно не буду.
Так же должна приехать плата "Банана Пи" двухядерная с Wi-Fi на борту. Вроде по GPIO разъему она должна совпадать, а вот крепежные увы не совпадают.
Одна из последних корректировок это сделать возможность установки на оба варианта компьютеров.
Да, Raspberry Pi 2 полностью идентична B+ по контактам и крепежу. Размер вообще тютелька в тютельку при этом в 4 раза шустрее.

RV9WFJ
20.01.2016, 06:15
Платы несколько иного формата, правда без гальванической развязки, в Китае есть. Цель то какая, в пром. шкаф засунуть - без корпуса несерьезно. Я думал тоже в эту сторону, но отталкивался от того, что необходимо найти нормальный корпус и уже под него что-то придумывать.
В конце концов дефицит свободного времени победил и идея умерла :-).

melky
20.01.2016, 08:47
RV9WFJ применение конечно для дома. У себя хочу заменить ПЛК100 на Raspberry+CDS.
Идея была сделать именно сендвич для экономии места. Ведь нам не надо пялиться в шкафу на Raspberry и его пару светодиодов, вот сверху и устанавливается плата.
Над корпусом не думал по простой причине, ставятся стойки и тонким оргстеклом делается кожух с загибанием сторон и вырезами под разъемы. Raspberry имеет свой корпус.
Адрей покупаете крепеж на DIN у IEK (даю наводку - шинки нулевые на держателях). Или например крепеж на DIN для устройств MOXA и т.д. и т.д.

RV9WFJ
21.01.2016, 10:40
А, ну раз в сарай то я в вашей команде :-). У меня сейчас Raspberry за котлом присматривает и насосами управляет. Из за наличия огромного теплоаккумулятора и излишнего кол-ва батарей сделал управление циркуляционникамми на Raspbary. Правда плата мне вроде как не понадобилась для этого, все ворохом в боксике просто лежит.

melky
21.01.2016, 11:58
Ну я по деньгам посмотрю, постараюсь заказать сразу штук 20 , чтобы платы вышли дешевле, а там как получится.
з.ы. немного откорректировал плату, она будет одеваться на Raspberry Pi и на Banana Pi M1+, она уже доехала до города, но на почте еще не появилась.
Плюс добавил еще один вторичный источник питания, чтобы был общий БП на 24В и при условии питания Raspberry и аналоговых выходов собираем два вторичных ИП, если аналоговых выходов нет или Raspberry питаем от собственного источника то просто отрезается от платы кусок с разведенной схемой Step-Down DC конвертером и используем его где хотим.
Ща перезалью картинки что примерно вышло.

melky
06.02.2016, 23:41
Вопрос по разводке платы, есть возможность добавить еще одну плату, будет впаиваться вместо реле с обратной стороны, симисторный выход на MOC3041 + силовой симистор. В случае MOC3041 будет только включение выключение, так как в нем заложен контроль перехода через ноль.
А вот в случае применения например оптосимистора без контроля ноля, будет ли сам Raspbery успевать ловить переход через ноль, если ему добавить схему контроля 220В ? что-то сомневаюсь в этом ?

dremes
07.02.2016, 00:04
А почем нынче опиум для народа, то есть заказные платы?

melky
07.02.2016, 00:06
dremes пока не знаю, по калькулятору (приводил кажется ссылку выше) основная плата должна выйти примерно 350-400 р. Дополнительная сколько выйдет не считал.
У Китайцев пока смысла нет спрашивать, пока они НГ свой не отметят. Возможно даже дешевле.
Это при условии, если я 20 шт сразу закажу.

melky
10.02.2016, 09:31
Народ, кто-то может набросать программу для Raspberry в CDS 3 для проверки входов, выходов.
Больше интересуют выходы. По разводке платы -
OUT 1 - GPIO25
OUT 2 - GPIO18
OUT 3 - GPIO23
OUT 4 - GPIO24
OUT 5 - GPIO17
OUT 6 - GPIO27
OUT 7 - GPIO22
На них возможна установка аналоговых выходов посредством ШИМ
IN 9 - GPIO12 - Возможен контроль перехода через ноль сети 220В (Zero Cross), возможность включить его для прерывания по входу и управление открытием симисторов, если они подключены к указанным выходам ? (Больше всего интересует проверка этого варианта для диммирования)

Krendeleeev
10.03.2016, 08:31
Добрый день . Тема заглохла ?
В кодесисе недавно . малинку ещё только заказываю .
Встал вопрос по выбору малинки . Совместима ли новая малина (распбери пи модел 3 ) ?
по вопросу
Какой диапазон ШИМ ,будет ? вольтаж интересует 0-10 вольт , ибо много железок управляются именно этим током.
Хотя если если подумать то я всё равно в доле .
Буду одну платку. Геофизически в Сочи проживаю.

melky Кинь продробности чего именно надо . без платки и малинки будет сложно но может что то и придумается .

melky
10.03.2016, 11:14
Тема не заглохла, заглохли деньги на тему :)

я тут спалил один микрокомпьютер, собрав преобразователь 24В-5В на одной из микросхем, не понял почему пока, но в итоге переделываю схему на другую микросхему DC-DC. Платы пока не заказывал, но определился с размерами и ценой.
Плата выйдет примерно 330-340 р по нынешним ценам курса.
Местные (Ростов) залупили на сотню баксов дороже мой вариант.

Pi 3 вроде по размерам, крепежным элементам и GPIO по идее совпадает. GPIO надо проверить

Krendeleeev
10.03.2016, 19:28
Дык вроде аппаратно чуть другое это PI 3 . процессор другой . 64бит.
Стоит вообще её брать ? или pi2 какую взять , дешевле и вообще вся комплектуха у китайцев имеется .

Будут они уметь 0-10 вольт ?

melky
11.03.2016, 09:00
На счет 0-10В Вольд выкладывал схему на LM358 с подключением к ШИМ выходу Pi, ее и буду применять.

Dimko
02.04.2016, 16:38
Добрые люди! Подскажите как с Pi 2 подружить такую вещь: http://ru.aliexpress.com/item/TTL-to-RS485-Module-for-Arduino-FZ0601-Free-Shipping/1186670924.html

murdemon
02.04.2016, 18:03
отключить ком порт от консоли в /boot/config ... или где то тут и подключить его к Runtime Codesys .. там надо в файле конфига кодезис прописать

melky
02.04.2016, 20:14
Dimko для чего вам этот модуль ? Вы сможете его программировать ?

Scream
02.04.2016, 20:21
А еще этому конвертеру надо дергать пины для приёма или передачи, а есть мк автоматические.
Тоесть надо как минимум 3 пина задействовать.

melky
02.04.2016, 21:04
именно, надо переводить прием и передачу программно.
Есть RS485 - TTL с автоопределением передачи

Dimko
02.04.2016, 22:39
он не то что нужен прям он просто есть)) я его к МК прикручивал, и дергал пины. Буду юзать Usb.

Scream
03.04.2016, 13:09
именно, надо переводить прием и передачу программно.
Есть RS485 - TTL с автоопределением передачи

вот кстати, не видели где можно купить на ebay распаянный автоматический?
я что-то не нашел..

melky
03.04.2016, 15:12
http://ru.aliexpress.com/item/Single-Chip-Microcomputer-TTL-Turn-RS485-Module-Automatic-Flow-Control-Module/32385757602.html

Вот с автоопределением, но еще не тестировал, руки не доходят

Scream
03.04.2016, 15:31
http://ru.aliexpress.com/item/Single-Chip-Microcomputer-TTL-Turn-RS485-Module-Automatic-Flow-Control-Module/32385757602.html

Вот с автоопределением, но еще не тестировал, руки не доходят

о, спасибо, закажу пару.

melky
03.04.2016, 15:54
Scream да не за что, сам сперва заказал первый вариант, понял что дергать нечем, все-таки не к МК подключение, заказал уже вторые.

Dimko
03.04.2016, 19:49
Народ подскажите, без лицензии обмен можно попробовать через свисток Usb 485?
Делал все по инструкции в посте #73, прописал в конфиге, а ругается что Нету устройства и говорит что лицензии нету как у человека в посте #97.

murdemon
03.04.2016, 20:01
можно пробовать... все работает через шел ssh введи что там у тебя в ls /dev/tty* говорит

Dimko
03.04.2016, 20:08
можно пробовать... все работает через шел ssh введи что там у тебя в ls /dev/tty* говорит
Что-то вроде этого:

ls /dev/tty*
/dev/tty /dev/tty19 /dev/tty3 /dev/tty40 /dev/tty51 /dev/tty62
/dev/tty0 /dev/tty2 /dev/tty30 /dev/tty41 /dev/tty52 /dev/tty63
/dev/tty1 /dev/tty20 /dev/tty31 /dev/tty42 /dev/tty53 /dev/tty7
/dev/tty10 /dev/tty21 /dev/tty32 /dev/tty43 /dev/tty54 /dev/tty8
/dev/tty11 /dev/tty22 /dev/tty33 /dev/tty44 /dev/tty55 /dev/tty9
/dev/tty12 /dev/tty23 /dev/tty34 /dev/tty45 /dev/tty56 /dev/ttyAMA0
/dev/tty13 /dev/tty24 /dev/tty35 /dev/tty46 /dev/tty57 /dev/ttyprintk
/dev/tty14 /dev/tty25 /dev/tty36 /dev/tty47 /dev/tty58 /dev/ttyUSB0
/dev/tty15 /dev/tty26 /dev/tty37 /dev/tty48 /dev/tty59
/dev/tty16 /dev/tty27 /dev/tty38 /dev/tty49 /dev/tty6
/dev/tty17 /dev/tty28 /dev/tty39 /dev/tty5 /dev/tty60
/dev/tty18 /dev/tty29 /dev/tty4 /dev/tty50 /dev/tty61


dmesg | tail
[ 37.360021] ch341 1-1.5:1.0: device disconnected
[ 38.484950] cfg80211: Calling CRDA to update world regulatory domain
[ 39.894980] usb 1-1.5: new full-speed USB device number 6 using dwc_otg
[ 39.998139] usb 1-1.5: New USB device found, idVendor=1a86, idProduct=7523
[ 39.998171] usb 1-1.5: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 39.998187] usb 1-1.5: Product: USB2.0-Serial
[ 39.999561] ch341 1-1.5:1.0: ch341-uart converter detected
[ 40.003761] usb 1-1.5: ch341-uart converter now attached to ttyUSB0
[ 41.644967] cfg80211: Calling CRDA to update world regulatory domain
[ 44.804969] cfg80211: Exceeded CRDA call max attempts. Not calling CRDA


В конфиге
[SysCom]
Linux.Devicefile=/dev/ttyUSB0
portnum := COM.SysCom.SYS_COMPORT1

Порт перебирал 1,2,3,4...

murdemon
03.04.2016, 21:06
надо без нуля :) Linux.Devicefile=/dev/ttyUSB

Dimko
03.04.2016, 21:09
надо без нуля :) Linux.Devicefile=/dev/ttyUSB
да и так пробовал, тоже самое(

murdemon
03.04.2016, 21:13
Порт перебирал 1,2,3,4... - это надо в самом кодезисе делать там где на модбасе номер порта указываешь.

Dimko
03.04.2016, 21:14
Порт перебирал 1,2,3,4... - это надо в самом кодезисе делать там где на модбасе номер порта указываешь.

Ну это и так понятно))

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

capzap
04.04.2016, 12:12
Осталось только разобраться с синхронизацией часов при старте 1-В по средствам интернет, 2-В прочитать время с панели либо с ПЛК. Есть у кого рабочие примеры?

так не работает? https://victorhurdugaci.com/raspberry-pi-sync-date-and-time

capzap
04.04.2016, 13:03
а зачем, если клиент существует в самой ОС, если нет то здесь вроде помгают это решить http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html#compile-ntp

Dimko
07.04.2016, 08:32
Исследование показало что в Слейве без лицензии не работает, так ли Это?
Когда мастер проблем нету, как только слейв ругается на драйвер.

murdemon
07.04.2016, 10:08
поменяй версию драйвера для слейва на версию не больше чем рантайм для PI который ты используешь

dremes
13.04.2016, 11:33
Прошу за вторжение со своим свиным рылом в ваш калашный ряд. Тема интересная, но весьма сумбурная. Прошу разрешения использовать ваши наработки в своем магазине. Буду премного благодарен за комментарии. Пока что есть кое какие наработки, но они пока никак не документированы. ПРошу содействия.
http://metal.pccenter.ru/wordpress/en/shop/me-atmega649-breakout-board/

melky
13.04.2016, 12:34
Да нет пока особых наработок. Плату примерно развел, но еще не заказывал, в России выкатили на 100 бакинских дороже, чем у китайцев заказывать, да и то пока с финансами голяк получился.
Так же припалил Банану Пи тем DC-DC преобразователем, который хотел использовать на плате. На нее бедную поперло 24 вольта с БП :), хорошо, что питал этим не Малину, та бы трупом стала. На Банане сгорел AXP209, был заменен и комп заработал.
Буду разводить под другой преобразователь, пока не до этого.

NightBeer
29.04.2016, 15:40
Получилось у кого-нибудь купить CODESYS Control for Raspberry Pi SL?
Зарегистрировался неделю назад, и до сих пор при попытке купить пишет "Ваши данные проверяются..."

melky
02.05.2016, 16:54
Не покупал еще.
Платы заказал у китайцев, думаю недели через 2-3 будут у меня.
1 шт обходится 320р

NightBeer
05.05.2016, 09:25
ПРОЛОГ в помощь, я через них брал, неделю коды делали.

Спасибо, действительно можно у них купить. 50 евро вышло.

Jman
23.05.2016, 13:40
Всем привет. Кто-нибудь подключал к Малине строчный дисплей 16x2 с контроллером hd44780 (не адафруты с SPI расширителем), голый дисплей? На Си примеров валом, есть такая возможность в Кодесис?

Scream
23.05.2016, 20:01
Кто нибудь подключал moxa uport 1610-8?

melky
24.05.2016, 09:11
Scream скачать драйвера на Linux и разбираться с их запуском...

Scream
24.05.2016, 09:16
Scream скачать драйвера на Linux и разбираться с их запуском...

Там версия ядра на драйверах 3, а расбери 4, но есть jar для андроида, тоесть на java.
Может кто соединял.

melky
24.05.2016, 10:18
А какая сборка у вас на Raspberry ? джесси чтоли ? может опуститься на одну версию ниже ?

Заодно сообщу, приехали платы для Raspberry, которые я рисовал. начну сборку с dc-dc преобразователя для теста.
платы обошлись 312р. сколько будет стоить отправить почтой пока не узнавал. вес голой платы 35гр.

Scream
24.05.2016, 17:07
А какая сборка у вас на Raspberry ? джесси чтоли ? может опуститься на одну версию ниже ?

Заодно сообщу, приехали платы для Raspberry, которые я рисовал. начну сборку с dc-dc преобразователя для теста.
платы обошлись 312р. сколько будет стоить отправить почтой пока не узнавал. вес голой платы 35гр.

Да, джесси, тоже думал сборку прежнюю, но нашел информацию что для x86\x64 и ARM нужны разные драйвера, тут я засомневался что поможет.
Тут возник вопрос, играет ли роль архитектура процессора для драйвера? Я всегда считал что драйвер это для ОС, не более.

melky
24.05.2016, 21:30
Блин, конечно играет роль архитектура. Если дрова компилировались, то под архитектуру процессора. Вряд ли там драйвера на скриптах

Scream
25.05.2016, 20:53
Блин, конечно играет роль архитектура. Если дрова компилировались, то под архитектуру процессора. Вряд ли там драйвера на скриптах

Тогда вариантов никаких у меня, жаль.

melky
25.05.2016, 22:32
Scream написать в тех поддержку, может они сделают сборку для Raspbian

murdemon
26.05.2016, 12:09
скорее всего там используется cdc-usb и возможно что просто прописав VEN ID и DEV ID в драйвере все заработает... покажи листинг dmesg после того как вставишь USB и lsusb и lsmod

melky
31.05.2016, 23:21
Начал паять плату, вот что получается

Scream
18.07.2016, 19:25
Начал паять плату, вот что получается

как успехи с платой?

melky
19.07.2016, 11:36
У меня пока никак, времени не хватает на все.
Застыл на том, что есть :)

omelchuk
19.07.2016, 17:18
Чего-то я не так делаю, помогите советом.
Есть Pi2b, сделал шлюз eth<-> /dev/ttyCOM. На вопрос какого х.. отвечу- по eth получаю RTU поверх TCP, а кодесис не умеет такое читать(данный, kds-2 на win может). Вот и пришлось. Кстати, пригодилось для OpenHab...
Собственно вопрос: как сделать, что-бы мой /dev/ttyCOM был виден как COM4 в программе?

RV9WFJ
20.07.2016, 08:31
А не проще реализовать ModBus RTU через TCP. Я такое делал на CS3.5 на основе OSCAT - работает.

omelchuk
20.07.2016, 10:04
я так и сделал. теперь надо его к CDS приклеить.
P.S.
[SysCom]
Linux.Devicefile=/dev/ttyCOM
portnum := COM.SysCom.SYS_COMPORT1;
не прокатило...

omelchuk
20.07.2016, 14:36
А не проще реализовать ModBus RTU через TCP. Я такое делал на CS3.5 на основе OSCAT - работает.
Как конфигурировал /etc/CODESYSControl.cfg???

RV9WFJ
21.07.2016, 08:20
Я вам в личку уже ответил, что мы с вами на разных языках общаемся. У меня COM порт вообще не используется. Данные достаются непосредственно из TCP без использования промежуточного COM.

omelchuk
30.07.2016, 08:50
Заработало!
Железо: контролер 63, преобразователь USR-TCP232-2 http://www.usriot.com/p/rs232-to-ethernet-modules/, сеть LAN, Raspberry Pi2modB, CDS3.5, socat.
Работает второй день без нареканий RTU over TCP.
Доволен, тренды пишутся...

melky
01.08.2016, 09:21
omelchuk а можно подробнее что вы делали с socat и его настройки ?

omelchuk
01.08.2016, 15:55
omelchuk а можно подробнее что вы делали с socat и его настройки ?

Программа socat( http://www.dest-unreach.org/socat/ ), в моём случае, создаёт "виртуальный порт", символический файл(ссылка), simlink - как кому нравится.
Настройки отсутствуют как таковые, нужно лишь его запустить с необходимым заданием( вариантов, что умеет socat, немеряно..)
В моём случае так: socat PTY,link=/dev/ttyCOM0 tcp:192.168.3.55:502
надеюсь, понятно что и где.
Ясно, что делать это надо автоматически при старте.
Дальше.
При создании таких "портов" для CDS и потом вставляя его в /etc/CODESYSControl.cfg, нужно запомнить, что имя порта ДОЛЖНО в конце названия содержать ЦИФРУ,
которую при вставке не надо вводить: Linux.Devicefile=/dev/ttyCOM(без нуля!!!). Замучился я с этим, пока срослось.
Второе.
Что-бы хорошо срослось, необходимо вначале создать порт, а потом заводить CDS, иначе на лету не подхватывает порт, а на малинке так и происходит если ничего не предпринимать.
Как-то так. Надеюсь - пригодится кому.
Если какие ещё вопроосы - я где-то тут...:)

vlad72
09.08.2016, 17:07
Всем привет.

http://www.asutp-volgograd.com/blog/raspberry-pi-codesys-intro

в коментах:-
"
Не успел еще подготовить материал. Вообще немного разочаровался в интеграции Кодесиса на Малину — больше недели в Линуксе не держится. Причем бывает и через день слетает.
Нужно или ребутить Малину раз в сутки или как-то анализировать отвал Кодесиса и ребутить после этого.
Но в качестве учебной платформы — самое то. "

...а у кого нибудь слетает...или автору блога так "ВЕЗЕТ"???

Заранее признателен за реакцию)))

vlad72
10.08.2016, 12:39
Слетает в случае косяков и не соответствии версий и тергетов а так работает хорошо и стабильно.

спспб за ответ! Это Вы из собственной практики?

..но чЁта все одно сомнения, однако у автора целый блог...и опыта немерено - не мог
он этот косяк не побороть. Тем более версия для малины одна и таргеты для этой платформы перепутать наверное
сложно?...........

ПиС. Автор пишет, что лицензию можно приобрести только в "прологе". Это правда???

melky
10.08.2016, 12:53
Я сам до установки на Малину CodeSys даже не добрался :)
и руки и ноги не доходят.

Купить наверное можно и у самого 3S, но думаю через Пролог будет гораздо проще.

sc200457
10.08.2016, 13:51
Добрый день всем. Тут новость пришла. 3S, CoDeSys установил на BeagleBone Black. И как я понял это уже можно использовать в промышленности...
Есть ли у кого такая информация?
https://www.codesys.com/news-events/press-releases/detail/article/codesys-softplc-for-beaglebone-black.html

omelchuk
10.08.2016, 15:57
Из опыта экспериментов:
1. наверняка, могут случаться зависания. поэтому я провожу "профилактические" полу-ребуты не дожидаясь их и ничего не анализируя( скажем, каждые "несколькопару" часов) за 10секунд.
2. вроде CDS на малине не поддерживает retain переменные, поэтому перед пунктом 1 нужно писать в файл, а после загрузки его читать( есть на форуме CDS), сейчас раэбираюсь и пробую.
3. малина в моём случае не выполняет каких-либо ответственных задач, а является, как-бы, веб-сервером с мозгами и сязями, чего более чем достаточно, остальное на слэйвах - контролерах.
Работает с 27.07 хорошо, трэнды пишет, что является главной функцией( в моём случае).

Dimko
06.09.2016, 15:47
День добрый, Народ!
Подскажите как вытащить время, из линух?

murdemon
06.09.2016, 16:56
date +%Y-%m-%d:%H:%M:%S

Dimko
06.09.2016, 18:06
Не пойму куда запрос средствами codesys пихать?!

murdemon
06.09.2016, 22:33
вам сюда http://forum.codesys.com/viewtopic.php?f=23&t=6247&p=12387#p12396

Vadzim
05.10.2016, 21:27
А вот скажите.... собираюсь купить таргеты за 35 евро. Он только на одну малинку? на один комп? на один кодесис?

murdemon
06.10.2016, 09:36
Он только на одну малинку ставится и (только на той что первую активировал и работает)

Vadzim
07.10.2016, 11:44
А как он прорисывается,я так понимаю мне пришлют ЗИП. Что кодесис вышлет серийник малинки? если хочу запрограмировать штук 10, то что каждый раз по 35? и вопрос действительно ли нужен кодесис 3,5,10(так в хелпе написано) или старшая версия тоже работает?
EATON (moeller) вообще бесплатные таргеты дает.

melky
07.10.2016, 12:10
Vadzim Да, на каждую отдельно, и не 35 евро а порядка 47-50 так как там еще указано что + налог.

Это лицензия на ПЛК, для Codesys малина это отдельно взятый ПЛК.

Это цена очень скромная, поверьте. Есть еще одна Итальянская контора, которая делает что-то похожее и программируется на МЭК, в том числе и для Raspberry, так вот их цена порядка 800 евро.
Почувствуйте разницу как говорится.

Кстати в зависимости от ваших процессов можно сделать так, что система будет бесплатной, если cronom делать перегрузку каждые 2 часа всей Малины. Главное чтобы исполняемый Runtime Codesys стартовал.

dremes
02.11.2016, 11:22
может кому интересно будет
https://www.linkedin.com/pulse/alarm-system-based-raspberry-pi-3-groovy-apache-camel-igor-suhorukov?trk=hp-feed-article-title-publish

murdemon
02.11.2016, 12:59
Неплохо.. только Codesys там нет как я понял? тогда не совсем по профилю форум

capzap
02.11.2016, 13:11
motion помоему получше будет, не одним мылом , так чисто порадоваться за человека, что написал

murdemon
02.11.2016, 13:15
вот если бы человек сказал как к PI прикрутить > 5 веб камер.. а то у меня драйвер USB хаба отваливается со словами (недостаточно скорости порта.. камеры правда USB 1.1)

Scream
02.11.2016, 20:21
вот если бы человек сказал как к PI прикрутить > 5 веб камер.. а то у меня драйвер USB хаба отваливается со словами (недостаточно скорости порта.. камеры правда USB 1.1)

Зачем так много?
Это проект не про колодцы?

Scream
07.11.2016, 08:31
Привет, столкнулся с такой проблемой, малина закрывает программы через некоторое время (через несколько часов).
У меня задача, просто отображать web страницу 24\7, но малина закрывает браузер, вечером оставлю, утром уже всё закрыто.
Пробовал и родной оставлять и chromium, результат один.
Где отключить эту умную фичу или где почитать?
Спасибо.

melky
07.11.2016, 09:38
Scream что именно за web у вас закрывается ?

Scream
07.11.2016, 09:41
Scream что именно за web у вас закрывается ?

С моего web-сервера, локальная сеть, там ajax бегает, картинка одна обновляется, отображение тех процессов.
Утечки памяти не обнаружил, на windows работает сутками.

capzap
07.11.2016, 12:43
С моего web-сервера, локальная сеть, там ajax бегает, картинка одна обновляется, отображение тех процессов.
Утечки памяти не обнаружил, на windows работает сутками.

хоть и ссылка (https://gist.github.com/allyshka/51060e4b846d8a27a76a08ca60056aff) не совсем по теме, но там есть направление которое может заменить гуи браузер и аякс вместе взятые

Scream
07.11.2016, 12:58
хоть и ссылка (https://gist.github.com/allyshka/51060e4b846d8a27a76a08ca60056aff) не совсем по теме, но там есть направление которое может заменить гуи браузер и аякс вместе взятые

не, мне gui нужен, там целая scada с графиками, бд, т.п.

capzap
07.11.2016, 13:00
всмысле браузер встроен в скаду что ли, он картинку отображает, ну а так будете скачивать её в tempfs и открывать в скаде или еще где, может получится чуть медленнее, зато стабильнее

Scream
07.11.2016, 13:51
всмысле браузер встроен в скаду что ли, он картинку отображает, ну а так будете скачивать её в tempfs и открывать в скаде или еще где, может получится чуть медленнее, зато стабильнее

Да не, забудьте о слове scada.
У меня задача отображать 24\7 web сайт с web сервера, который находится в локальной сети.
На страничке обновляются онлайн данные, всё просто, немного графики.
Проблема в том, что raspbian убивает брвузер через несколько часов, сутки пожить не даёт браузеру, потребление памяти браузера вижу, утечек нет, всё выгружается, тоесть OOM Killer'у убивать смысла нет. Наоборот приоритетней браузер должен быть так как отображается я думаю.
А кто и почему действительно убивает не пойму.

omelchuk
01.02.2017, 10:22
Я пользую браузер Kweb, отображает картинки с локального(на этой-же Pi) CodeSys.
Подключена через кабель HDMI к монитору. Работает СУТКАМИ и ничего не закрывается и не слетает.
Главное - правильно запустить. Основа http://forum.codesys.com/viewtopic.php?f=21&t=5647&p=14542&hilit=kweb#p14542
У меня, правда, так, как пишет автор, не получилось. Пришлось написать самому маленький скрипт и вставить в автозагрузку, в моём случае в /home/pi/.config/lxsession/LXDE-pi/autostart.
Теперь вопрос, наверно, к murdemon.
Видел на просторах нета Ваши сообщения касательно MQTT.
Получилось-ли получать данные в кодесис, или лишь отправка.
Посещает мысль попытаться сделать(читай-наколхозить) связку: MQTT - клиент OpenHab мастер Modbus TCP - клиент Modbus TCP Codesys.
Т.е. openhab будет подписан на mqtt(стандартная ситуация), потом правила по преобразованию и отправка на modbus кодесиса.
Смущает работа web openhaba и кодесиса на одном порту, но можно попытаться поменять порты или отключить web на стороне опенхаба.
Что скажете?
P.S. нашёл интересный проект по моей теме - nodered.org, изучаю...

murdemon
01.02.2017, 11:15
тут есть... http://www.owen.ru/forum/attachment.php?attachmentid=28723&d=1484413963 и подписка, и отправка

omelchuk
01.02.2017, 11:29
Спасибо, буду смотреть!
Только там оскатовская библиотека уже переделаная...

P.S. Уважаемый murdemon.
Просветите слеповатого, почему проблема с OSCAT-овской библиотекой, 3.3.0?
Не хочет компилить, пишет 17 ошибок. Типа

------ Компиляция : Приложение: Device.Application -------
типизировать код...
[ERROR] MQTT: MQTT_Client [Device: Plc Logic: Application](Строка 48, Столбец 1 (Реализ.)): C0032: Невозможно конвертировать тип 'Неизвестный тип: 'BUFFER_TO_STRING(ADR(receiveBuffer.data), DINT_TO_UINT(diReceiveCount), 5, DINT_TO_UINT((diReceiveCount - DINT#1)))'' в тип 'STRING(80)'
[ERROR] MQTT: MQTT_Client [Device: Plc Logic: Application](Строка 48, Столбец 1 (Реализ.)): C0046: Идентификатор 'BUFFER_TO_STRING' не задан
[ERROR] MQTT: MQTT_Client [Device: Plc Logic: Application](Строка 48, Столбец 1 (Реализ.)): C0035: Вместо 'BUFFER_TO_STRING' требуется имя программы или экземпляр функционального блока
[ERROR] MQTT: MQTT_Client [Device: Plc Logic: Application](Строка 85, Столбец 1 (Реализ.)): C0046: Идентификатор 'CHR_TO_STRING' не задан
[ERROR] MQTT: MQTT_Client [Device: Plc Logic: Application](Строка 85, Столбец 1 (Реализ.)): C0035: Вместо 'CHR_TO_STRING' требуется имя программы или экземпляр функционального блока
[ERROR] MQTT: MQTT_Client [Device: Plc Logic: Application](Строка 118, Столбец 1 (Реализ.)): C0046: Идентификатор 'BYTE_OF_BIT' не задан
[ERROR] MQTT: MQTT_Client [Device: Plc Logic: Application](Строка 118, Столбец 1 (Реализ.)): C0035: Вместо 'BYTE_OF_BIT' требуется имя программы или экземпляр функционального блока
[ERROR] MQTT: _BUFFER_PUSH_STRING [Device: Plc Logic: Application](Строка 5, Столбец 1 (Реализ.)): C0046: Идентификатор 'BYTE_OF_DWORD' не задан
[ERROR] MQTT: _BUFFER_PUSH_STRING [Device: Plc Logic: Application](Строка 5, Столбец 1 (Реализ.)): C0035: Вместо 'BYTE_OF_DWORD' требуется имя программы или экземпляр функционального блока
[ERROR] MQTT: _BUFFER_PUSH_STRING [Device: Plc Logic: Application](Строка 6, Столбец 1 (Реализ.)): C0046: Идентификатор 'BYTE_OF_DWORD' не задан
[ERROR] MQTT: _BUFFER_PUSH_STRING [Device: Plc Logic: Application](Строка 6, Столбец 1 (Реализ.)): C0035: Вместо 'BYTE_OF_DWORD' требуется имя программы или экземпляр функционального блока
[ERROR] MQTT: CREATE_MESSAGE [Device: Plc Logic: Application](Строка 5, Столбец 1 (Реализ.)): C0046: Идентификатор 'BIT_LOAD_B' не задан
[ERROR] MQTT: CREATE_MESSAGE [Device: Plc Logic: Application](Строка 5, Столбец 1 (Реализ.)): C0035: Вместо 'BIT_LOAD_B' требуется имя программы или экземпляр функционального блока
[ERROR] MQTT: CREATE_MESSAGE [Device: Plc Logic: Application](Строка 6, Столбец 1 (Реализ.)): C0046: Идентификатор 'BIT_LOAD_B' не задан
[ERROR] MQTT: CREATE_MESSAGE [Device: Plc Logic: Application](Строка 6, Столбец 1 (Реализ.)): C0035: Вместо 'BIT_LOAD_B' требуется имя программы или экземпляр функционального блока
[ERROR] MQTT: ENCODE_REMAINING_LENGTH [Device: Plc Logic: Application](Строка 15, Столбец 1 (Реализ.)): C0046: Идентификатор 'BYTE_OF_DWORD' не задан
[ERROR] MQTT: ENCODE_REMAINING_LENGTH [Device: Plc Logic: Application](Строка 15, Столбец 1 (Реализ.)): C0035: Вместо 'BYTE_OF_DWORD' требуется имя программы или экземпляр функционального блока
Компиляция завершена -- 17 ошибок, 14 предупреждений

Направте на путь истины.

omelchuk
08.02.2017, 16:56
Докладываю о результатах экспериментов по приёму по MQTT.
По указанной выше ссылке с помощью уважаемого Дмитрия, он же murdemon, блок заработал( с меня пиво, я помню!!!:)).
Потом, с небольшими усилиями получил в переменной codesys значения REAL от датчика через MQTT.
Честно - гиморно...
Особенно, если учесть, что дачиков может быть много, блоков придётся понавставлять столько-же.
Я не спец по этому, но сколько будет создано сокетов сказать не могу.
Как я уже писал, решил присмотреться к node-red.
С MQTT работает без проблем, на выходе блоков сразу данные, а не как в предыдущем блоке вместе с названием топика.
Добавил функцию преобразования в float(он же Real), умножаю на необходимый коэф.(10,100).
Добавил библиотеки для модбас.
Добавил запись в регистры, данные автоматом в int.
В программе содесис добавил localhost слэйв модбас тср.
Получаю в формате word, перевожу в real, делю на коэф..
ВУАЛЯ- всё прекрасно работает!!!!
Железо - Pi2 mod.B
P.S. Попробовал в обратку, из ModBus к MQTT - тоже без проблем!

kst-pu
07.03.2017, 22:57
Вопрос знатокам: а как себя ведёт малина с данным ПО при пропадании питания, сбоев файловой системы не возникает при этом? Если да,то как вообще отключать такой ПЛК?

murdemon
08.03.2017, 11:47
ретайн через файл более или имения работает. Если не очень часто меняете и запись в файл не совпадет с выключением питания (запись в файл только по изменению ретайна идет)

melky
08.03.2017, 12:31
Кто нибудь пробовал организовать retain через чип часов ? есть платки часов с памятью

kst-pu
08.03.2017, 13:24
Выключать просто, ретайн у него нет.
ОК, ретайна нет, но кроме ретайна что-то ещё может происходить в файловой системе - поэтому корректно выключать всё-таки через shutdown, насколько я понимаю в физике)

melky
08.03.2017, 17:18
kst-pu ну в данном случае правильнее будет halt из под root.
флешки да, умирают при постоянной перезаписи

kst-pu
08.03.2017, 23:45
На малине на форуме либо в инструкции читал что выключать можно. Многократно выключал грузился нормально. С ретайном не игрался не было задачи сохранять уставки так как малина стоит на верхним уровне и присматривает за плк. Но графики мне затерли за два дня флешь, естественно система навернулась, надо применять флешки из серии индустриал. С вязи с отсутствием такой флехи пришлось отказаться от архивных графиков.
Понятно.
Есть такая линуксовая сборка TinyCore, создана специально для флешек. Суть её в том, что линь с флешки грузится в ОЗУ, причем весь. Файловая система тоже в ОЗУ. Идеальный вариант для плк. Вся сборка весит 10-20мб. Не знаю, влезет ли кодесис в такую систему. В таком варианте есть изаграф.


kst-pu ну в данном случае правильнее будет halt из под root.
флешки да, умирают при постоянной перезаписи
ну да, я это и имел в виду. halt и shutdown они синонимы

melky
09.03.2017, 11:00
Вопрос а куда тогда писать данные, если все крутится в озу и вырубается питание ? например у меня в scada 30 секунд и запись данных.

kst-pu
09.03.2017, 12:14
Вопрос а куда тогда писать данные, если все крутится в озу и вырубается питание ? например у меня в scada 30 секунд и запись данных.
Для сброса файлов ram-диска на флеш в tinycore есть специальная команда, вернее shell-скрипт. Если вызывать его каждые 30 сек, то будет сохраняться. Но крутить скаду под tinycore наверное будет неправильно, все преимущества потеряются при частой записи. Это уровень ПЛК, а архивы надо держать в другом месте (не на sd-карте).

melky
09.03.2017, 12:18
То есть подключать винт как более надежное место хранения, тогда вопрос цены будет стоять, винт или пром флеш.

melky
09.03.2017, 16:49
С КДС не пробовал, а так, у Малины только USB, можно записывать видимо так же как на флешку..

uni
16.03.2017, 09:09
CoDeSys 3.5.10.x зависает (ожидает соединения и констатирует потерю связи) при попытке повторного логина (с загрузкой программы) для проекта, который работает с event'ами. Теряется соединение с runtime'ом. Кто-нибудь что-нибудь про это знает/слышал? Проект (http://forum.codesys.com/viewtopic.php?p=17514#p17514).

Спросил (http://forum.codesys.com/viewtopic.php?f=21&t=7679) на форуме CoDeSys.

uni
21.03.2017, 09:12
Да не, с версиями всё норм. Это глюк runtime'а как по мне. Вот видео демонстрация проблемы. CoDeSys 3.5.10.0 (10, 20). Остальное свежее с сайта RaspberryPi. runtime в устройство загружает сам CoDeSys (уж какой загрузит, ему виднее).


https://youtu.be/bGNL8n5qV64

uni
24.03.2017, 14:56
Для тех потомков, кто будет пользовать этот самый codesys и столкнётся с глюком потери соединения при работе с event'ами, знайте, что CDRead() с принудительно установленным флагом O_NONBLOCK спасёт отца русской демократии. Такого флага конечно нет, но вы его можете объявить сами (O_NONBLOCK = 4000 - в десятичной (!) системе). Флаг нужно пользовать как в Си-программах.

Ну и если вы хотите большего, к примеру, часами (/dev/rtc) поуправлять (ioctl) или чем другим, то запросы можно оформить так (я не нашёл эквиваленты макросов _IOR и _IOW):



var constant
RTC_RD_TIME: udint := 16#09;
RTC_SET_TIME: udint := 16#0a;
group: dword := 16#70;
IOC_OUT: dword := 16#80000000;
IOC_IN: dword := 16#40000000;
IOCPARM_MASK: dword := 16#1fff;
end_var

method private ReadRequest : dword
var_input
num: udint;
len: udint;
end_var

ReadRequest := IOC_OUT or ( shl( len and IOCPARM_MASK, 16 ) or ( shl( group, 8 ) or num ) );

method private WriteRequest : dword
var_input
num: udint;
len: udint;
end_var

WriteRequest := IOC_IN or ( shl( len and IOCPARM_MASK, 16 ) or ( shl( group, 8 ) or num ) );

// ...

hRtc := CDOpen( '/dev/rtc', CmpCharDevice.ACCESS_MODE.O_RDONLY, adr( Result ) );

if hRtc <> RTS_INVALID_HANDLE then

Request := dword_to_dint( ReadRequest( RTC_RD_TIME, sizeof( TRtcTime ) ) );

CDIoctl( hRtc, Request, dword_to_dint( adr( Read ) ), adr( Result ) );

CDClose( hRtc, adr( Result ) );

end_if

// ...

hRtc := CDOpen( '/dev/rtc', CmpCharDevice.ACCESS_MODE.O_WRONLY, adr( Result ) );

if hRtc <> RTS_INVALID_HANDLE then

Request := dword_to_dint( WriteRequest( RTC_SET_TIME, sizeof( TRtcTime ) ) );

CDIoctl( hRtc, Request, dword_to_dint( adr( rtctime ) ), adr( Result ) );

CDClose( hRtc, adr( Result ) );

end_if


П.С. Оказывается CmpCharDevice.library после чистой установки CoDeSys почему-то недоступна. Видимо эта библиотека появляется при добавлении пакета с RaspberryPi, но на просторах сети её найти и скачать можно. Также можно добавить в проект библиотеки недостающий флаг и дополнительную функциональность по сборке запросов. Может быть где-то кто-то до меня это уже сделал, кто знает...

lingvo
23.08.2017, 18:33
Вопрос знатокам: а как себя ведёт малина с данным ПО при пропадании питания, сбоев файловой системы не возникает при этом? Если да,то как вообще отключать такой ПЛК?
Малина плохо себя ведет. Поэтому правильно подключаться к ней через ssh и запускать sudo halt и после этого выключать. А для защиты от коротких (до пары часов, я мерял) пропаданий питания достаточно поставить USB Power Bank на входе.

uni
21.10.2017, 21:18
Используя shared memory можно передавать данные из runtime codesys во внешние программы. Таким образом можно делать визуализацию на Mono, используя преимущества c#. Отлаживать оба проекта можно в Windows системе, правда с небольшим отличием в доступе к разделяемому объекту.

Код для codesys взят из примера SharedMemory и обрезан (см. в store). На raspberri pi 3 нужно лишь открыть и прочитать файл /dev/shm/{имя_объекта_в_codesys}. На картинке ниже codesys формирует одно число типа lreal и записывает его в разделяемую память. Проект на c# открывает файл, читает это число (текущее измерение) и отображает его на графике (компонент NPlot).

Писать визуализацию в Codesys то ещё занятие, не для слабонервных. Всё равно она нестандартная (велосипедная). Ни чем не хуже делать её на mono, тем более, что возможностей здесь на порядок больше.

33815

kst-pu
06.12.2017, 10:30
Мужики, не в дружбу а в службу, если есть здесь кто покупал CODESYS Control for Raspberry Pi SL - интересует содержимое папки /var/opt/codesys/backup. Скиньте в личку в любом виде, 'на_коньяк' строго гарантирую.

Салихов Ильдар
12.01.2019, 10:00
Добрый день. Обновлю тему.

в логе codesyscontrol.log такие сообщения

1547254171, 0x00000002, 4, 16, 40, Retain restore from file failed: [<app>Application</app>]
1547254171, 0x00000002, 2, 1288, 49, Retain data are initialized now of [<app>Application</app>]
1547254177, 0x00000002, 1, 0, 2, Application [<app>Application</app>] loaded via [Bootproject]
поля такие
;<entries>
;Timestamp, CmpId, ClassId, ErrorId, InfoId, InfoText
;</entries>

Можно ли отловить это событие (event)? куда смотреть? CmpApp EventIDs смотрел, что то не нашел.... И что такое CmpId, ClassId, ErrorId, InfoId?

Салихов Ильдар
12.01.2019, 11:17
c CmpId разобрался, там же в логе
1547264340, 0x00000001, 1, 0, 10, <cmp>CmpApp</cmp>, <id>0x00000002</id> <ver>3.5.14.0</ver>
т.е. это CmpApp...

Салихов Ильдар
14.01.2019, 12:14
описание ClassId тоже найдено:

#define LOG_INFO 0x00000001
For general information

#define LOG_WARNING 0x00000002
For warnings

#define LOG_ERROR 0x00000004
For errors

#define LOG_EXCEPTION 0x00000008
For exceptions

#define LOG_DEBUG 0x00000010
Only for debug log entries

#define LOG_COM 0x00000040
For communication entries

#define LOG_INFO_TIMESTAMP_RELATIVE
0x00000080

Салихов Ильдар
14.01.2019, 12:19
Там же описания ErrorId, InfoId, InfoText

"Error Id" The error Id, if an operation failed

"Info Id" An unique Id per component, that can be used to specify a longer
test for the log entry in the target description of CODESYS. This is
used to save resources in the runtime system to store the log entries

'Info string" - Info string with optional and variable information, e.g. application
names or task names

Салихов Ильдар
14.01.2019, 13:48
Вообщем, покурив файлы "CoDeSys Control V3 Reference" и "CoDeSys Control V3 Manual" и сравнив что имеем (CmpApp.EventIDs), я решения не нашел.
Значит, тупо придется при перезагрузке смотреть файл лога на наличие этой строки "0x00000002, 4, 16, 40, Retain restore from file failed: [<app>Application</app>]" и восстанавливать вручную область RETAIN :confused:

diams
05.08.2019, 12:39
всем доброго дня. webvisu на хромиуме, запускаю в режиме киоск через autostart. Беда при отсутствии сети: вместо моего webvisu выскакивает сообщение об отсутствии сети. Как обойти?
PS Необходимо малинку+lcd использовать на оборудовании , где не будет подключения

maslov
29.08.2019, 21:17
Точку с запетой забыл.

Как подключить последовательные устройства.

sudo nano /etc/CODESYSControl.cfg

[SysCom]
Linux.Devicefile=/dev/ttyUSB
portnum := COM.SysCom.SYS_COMPORT1;


Для фиксировании номера COM1-COM4 порта к USB - разъемам на Raspberry Pi B + пишем следующий код

sudo nano /etc/CODESYSControl.cfg

[SysCom]
Linux.Devicefile=/dev/tty-RPI
portnum := COM.SysCom.SYS_COMPORT1;

sudo nano /etc/udev/rules.d/serial-symlinks.rules

SUBSYSTEM=="tty", ENV{ID_PATH}=="platform-bcm2708_usb-usb-0:1.2:1.0", SYMLINK+="tty-RPI0"
SUBSYSTEM=="tty", ENV{ID_PATH}=="platform-bcm2708_usb-usb-0:1.3:1.0", SYMLINK+="tty-RPI1"
SUBSYSTEM=="tty", ENV{ID_PATH}=="platform-bcm2708_usb-usb-0:1.4:1.0", SYMLINK+="tty-RPI2"
SUBSYSTEM=="tty", ENV{ID_PATH}=="platform-bcm2708_usb-usb-0:1.5:1.0", SYMLINK+="tty-RPI3"



Если

[SysCom]
Linux.Devicefile=/dev/ttyUSB
portnum := COM.SysCom.SYS_COMPORT1;

Modbus_Master_COM_Port и Modbus_Slave_COM_Port
нормально работает.


На Raspberry 3B+ добавил в
sudo nano /etc/CODESYSControl.cfg

[SysCom]
Linux.Devicefile=/dev/tty-RPI
portnum := COM.SysCom.SYS_COMPORT1;

и создал файл

sudo nano /etc/udev/rules.d/serial-symlinks.rules
SUBSYSTEM=="tty", ENV{ID_PATH}=="platform-3f980000.usb-usb-0:1.2:1.0", SYMLINK+="tty-RPI0"
SUBSYSTEM=="tty", ENV{ID_PATH}=="platform-3f980000.usb-usb-0:1.3:1.0", SYMLINK+="tty-RPI1"
SUBSYSTEM=="tty", ENV{ID_PATH}=="platform-3f980000.usb-usb-0:1.4:1.0", SYMLINK+="tty-RPI2"
SUBSYSTEM=="tty", ENV{ID_PATH}=="platform-3f980000.usb-usb-0:1.5:1.0", SYMLINK+="tty-RPI3"

Modbus_Master_COM_Port и Modbus_Slave_COM_Port
шина не запускается - напротив них красные треугольники.


Что я неправильно делаю?

YuriBel
30.08.2019, 18:49
На форуме Codesys один товарищ написал, что ему помогло вот это:

Hello. Now everything working.

I changed platform-bcm2708_usb-usb-0:1.2:1.0 to platform-20980000.usb-usb-0:1.2:1.0 for my RPI B+

veprik_ivan
11.11.2019, 16:05
Добрый день, коллеги!
Решили изготовить "материнские" палаты для Raspberry CM3+ модуля
45530

На борту следующие интерфейсы:
2хRS485
1xRS232 для консоли или для периферии
1хCANbus
1x1-wire
8xGPIO для подключения модулей ввода/вывода (отдельная разработка)
2хmPCIe для GSM, wifi модулей и прочего
1xSIM
1xMicroSD для запуска образов на Raspberry CM3+ lite без встроенной памяти на борту
1xMicroUSB для загрузки прошивки в версии Raspberry CM3+ с EMMC памятью 8/16/32 гБ
2хSMA для подключения антенн к модулям mPCIe
1xLED программируемый светодиод
1хHDMI
1xLAN
1xUSB 2.0 (клавиатура, флешка и тд)

Дополнительные аппаратные решения:
Аппаратный watchdog
Аппаратные часы реального времени
Диапазон питания 9-36в
Энергонезависимая память EEPROM
Температурный диапазон -25+80 (это по документам, тесты еще не проводились)

Тестовая версия платы
45532 45533
Были внесены изменения по замене выводных светодиодов на корпус на smd + световоды из оргстекла.
Заменен ненадежный разъем SIM, т.к. современные перфорированные карты просто вываливались.

Прототип корпуса (алюминий 3мм)
45534

Работа с таким модулем не отличается от всем привычного Raspberry PI 2/3, соответственно работа с пинами и софт такой же: OS Rasbian, codesys, node-red, openHAB, HomeAssistent и тд..
Хочется услышать мнение специалистов, интересно ли такое устройство?

rovki
11.11.2019, 16:12
А GPIO куда будут выводится?

veprik_ivan
11.11.2019, 16:33
Примерно набросал как будет плата расширения выглядеть, ее можно будет самостоятельно изготовить (но помнить, что GPIO это напрямую к процессору обращение) желательно с развязкой.
45537
Судя по тому, что это первый вопрос, после первой партии сразу будем браться за модули расширения, предполагаем варианты:
модуль 8 входов;
модуль 8 выходов;
модуль 4/4 входа/выхода.

приборист
11.11.2019, 16:42
А стоимость? Примерная хотя бы.

murdemon
11.11.2019, 16:47
Да хороша, а на CAN какой кварц стоит 16 или 8? И SD дохнут, надо eMMC

veprik_ivan
11.11.2019, 16:55
А стоимость? Примерная хотя бы.

Ответил в лс

veprik_ivan
11.11.2019, 16:58
Да хороша, а на CAN какой кварц стоит 16 или 8? И SD дохнут, надо eMMC

На CAN кварц 16, eMMC варианты 8/16/32гб и еще небольшая EEPROM может кто переменные туда retain будет писать
SD вариант именно Raspberry CM3+ lite не рекомендуем

rovki
11.11.2019, 17:00
Может пропустил ,а какая операционка у вас . И какова область применения (какие задачи решать) ?

veprik_ivan
11.11.2019, 17:05
Может пропустил ,а какая операционка у вас . И какова область применения (какие задачи решать) ?

Linux Rasbian https://www.raspberrypi.org/downloads/raspbian/ это от производителя вычислительного модуля.


С учетом что архитектура открытая, то и область применения обширная
Codesys 3.5 можно использовать https://store.codesys.com/codesys-control-for-raspberry-pi-sl.html?___store=en
Master scada 4D, а Node-red решает вообще любую практически задачу

veprik_ivan
11.11.2019, 17:09
Вот варианты применения, чуть шире чем у плк.
Правда мощи больше гораздо, благодаря этому Web сервер или через HDMI к монитору не проблема.
45539

rovki
11.11.2019, 17:10
Linux Rasbian https://www.raspberrypi.org/downloads/raspbian/ это от производителя вычислительного модуля.


С учетом что архитектура открытая, то и область применения обширная
Codesys 3.5 можно использовать https://store.codesys.com/codesys-control-for-raspberry-pi-sl.html?___store=en
Master scada 4D, а Node-red решает вообще любую практически задачу

Меня больше интересует подержка управления по GPIO (контроллер).НО с малым количеством пинов это как то сомнительно ,проше ПР .На более высоком уровне возможно применение ,а в самом низу сомниваюсь и не целесообразно (ПЛК63 проще).

rovki
11.11.2019, 17:12
Вот варианты применения, чуть шире чем у плк.
Правда мощи больше гораздо, благодаря этому Web сервер или через HDMI к монитору не проблема.
45539

В качестве шлюза как то жирновато ,есть копеечные решения. Да и малинки данные уже староваты
Лично я такие предпочитаю https://www.khadas.com/
В персективе планируем поддержку управления его пинами и интерфейсами из приложения на андроиде совместно с разработчиками одноплатника .

melky
11.11.2019, 17:33
на Raspberry давно пользуюсь GPIO с управлением под Scada

murdemon
11.11.2019, 17:37
А можно мне в ЛС цены примерные?

veprik_ivan
11.11.2019, 19:59
А можно мне в ЛС цены примерные?

Ответил в лс

veprik_ivan
11.11.2019, 20:09
Меня больше интересует подержка управления по GPIO (контроллер).НО с малым количеством пинов это как то сомнительно ,проше ПР .На более высоком уровне возможно применение ,а в самом низу сомниваюсь и не целесообразно (ПЛК63 проще).

Планируется, что применять будут именно на высоком уровне. Опять же Рассматривайте это устройство как компьютер с х64 архитектурой и все встанет на свои места! Например развернуть web морду которая не будет «тупить» благодаря мощному процессору и отдельному графическому процессору. Если завод то можно стянуть со всех устройств rs485, can, 1-wire, Ethernet заодно подключить к этому устройству монитор и не надо пк покупать или дорогие hmi панели. Монитору и мышке цена 4000₽

veprik_ivan
11.11.2019, 20:18
Хотелось бы отметить ещё что модуль mpci-e с 3g это устройство сделает на копейки дороже не больше usb свистка, а вот качество выше! Как минимум скрипт дёрнет ногой при отсутсвие пинга с 8.8.8.8 и перезагрузит модем.
К слову если брать самые бюджетные промышленные модемы с Ethernet стоят не меньше 10000₽ а модуль там не факт что лучше используют!

veprik_ivan
11.11.2019, 21:00
на Raspberry давно пользуюсь GPIO с управлением под Scada

Рекомендую ещё node-red попробовать!

melky
11.11.2019, 22:35
veprik_ivan зачем ? чтобы заниматься "пилить, пилить, пилить" ? мне хватает пилить драйвера под систему, а систему пилит разработчик Scada.

Если пилить все с нуля самому уйдет масса времени...

veprik_ivan
12.11.2019, 07:47
veprik_ivan зачем ? чтобы заниматься "пилить, пилить, пилить" ? мне хватает пилить драйвера под систему, а систему пилит разработчик Scada.

Если пилить все с нуля самому уйдет масса времени...

По мне node-red готовый продукт, не сложнее скада систем. А вы скада систему собственную разрабатываете?

melky
12.11.2019, 09:24
нет, я использую RapidScada а не собственную, разработчик ее сам пилит, принимая во внимания пожелания пользователей, правда у него свой взгляд на некоторые вещи :) Если то же самое пилить на NodeRed уйдет ОООчень много времени, вот и спрашиваю - а нафига ?

veprik_ivan
12.11.2019, 09:45
нет, я использую RapidScada а не собственную, разработчик ее сам пилит, принимая во внимания пожелания пользователей, правда у него свой взгляд на некоторые вещи :) Если то же самое пилить на NodeRed уйдет ОООчень много времени, вот и спрашиваю - а нафига ?

Я посмотрю RapidScada и тогда может у меня встанет все на место, node-red я использую как шлюз например между облачным сервисом (mqtt, rest-api, Http-запросы) и Modbus в производстве и Can (j1939) для спецтехники. Не знаю, есть ли все это в скада системе, но спасибо за наводку.

veprik_ivan
12.11.2019, 12:34
Вот тут есть описание устройства, если интересно включая функциональные схемы и прочее
https://antexcloud.ru/docs/antexgate/description/

IVM
12.11.2019, 13:57
Вот тут есть описание устройства, если интересно включая функциональные схемы и прочее
https://antexcloud.ru/docs/antexgate/description/

А что там с ценами ?

veprik_ivan
12.11.2019, 14:11
А что там с ценами ?

Ответил в лс

lemkzuka
13.12.2019, 15:18
Господа и дамы, расскажите, пожалуйста, как вы эту Raspberry Pi 3 в шкафу автоматизации крепите?
Сам микрокомпьютер уже много где купить можно (например, в сети магазинов DNS), а вот с корпусами напряженка.
Сколько вижу в магазинах - корпусы настольные. На DIN-рейку только на заказ с большим сроком и каким-то ценником несоизмеримым.
Как вы эту задачу решили? Желательно с фото.

capzap
13.12.2019, 16:00
эта тема больше для тех кто собирается в домашней автоматизации пользоваться средами разработки из промавтоматики, но не наоборот

melky
13.12.2019, 23:18
lemkzuka, есть крепления на DIN рейку, не дорого в китае, или которые идут комплектом для Moxa преобразователей на уши.

lemkzuka
14.12.2019, 12:14
lemkzuka, есть крепления на DIN рейку, не дорого в китае, или которые идут комплектом для Moxa преобразователей на уши.
Да, я могу купить на алиэкспрессе. Но тут желательно, чтобы и подешевле и чтобы на юр.лицо.

Пока нашел такие: ITALTRONIC 10.0012225.RPI Корпус: для компьютеров; Raspberry Pi; ABS; серый; Х: 22,5мм
Вроде бы то, что мне надо. Если снова отпишуться, что в наличии нет, заказ через несколько месяцев, то попробую на Скоба RCS-1 приколхозить стандартный красненький корпус.

melky
14.12.2019, 19:30
DK35A меньше 5 баксов у мокса Россия, а корпус любой, к которому можно прикрутить такие крепления.

murdemon
14.12.2019, 22:23
А есть еще ребята делают пром назначения в теме выше, там emmc и rtc и eeprom.

AndreyN
02.03.2020, 15:30
Кто-нибудь пробовал соединить малинку с модулем аналогового ввода с универсальными входами (Ethernet) МВ210?

приборист
03.03.2020, 10:36
Кто-нибудь пробовал соединить малинку с модулем аналогового ввода с универсальными входами (Ethernet) МВ210?

Кабель Ethernet воткнуть надо?

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

AndreyN
03.03.2020, 12:03
Кабель Ethernet воткнуть надо?

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

Интересует настройка в CoDeSys, увидит ли малинка входы МВ210?

Сема
03.03.2020, 13:22
Интересует настройка в CoDeSys, увидит ли малинка входы МВ210?

А что там, настройки Ethernet и регистры Modbus и вперёд, почему она может не увидеть? У вас рантайм бесплатный?

Sergeba
22.03.2020, 20:15
Подскажите, настраиваю Малинку Пи 4. Подключил переходники USB-RS485. В командной строке по lsusb вижу подключенные адаптеры.
В конфигураторе добавил Modbus_COM, перепробовал все порта - красный треугольник и в состоянии Serial Port и PCI-Bus написано - "Драйвер не найден". Я так понимаю, что это не хватает какой-то библиотеки?

Не совсем понял, что сделал, но статус изменился. Теперь PCI-Bus работает, Serial Port - "не запущено"

Нашёл! Заработало!

since 3.5SP15 it is possible that way:

set this in /etc/CODESYSControl_User.cfg
Example
[SysCom]
Linux.Devicefile.1=/dev/ttyUSB1
Linux.Devicefile.4=/dev/ttyUSB0

so Com1 is ttyUSB1 Com4 is ttyUSB0

manjey73
23.03.2020, 09:53
Sergeba вы можете воспользоваться правилами udev, если в системе доступен доступ к консоли и есть возможность имзенения внутре Линуковых настроек.
И привязать свои устройства жестко символьными ссылками. Так как имя порта может меняться, например сейчас, вставленный преобразователь будет ttyUSB0, и при других комбинациях он же станет ttyUSB1.

Можно сделать символьную ссылку для устройств, не имеющих серийного номера, с одним именем, например /dev/mydev/Com1 и оно будет именно таким, независимо как он воспримется системой ttyUSB0 или ttyUSB1

pt200
23.03.2020, 14:16
А еще можно привязаться к USB дырке( неважно какой конвертер туда засунули): /dev/serial/by-path/pci-0000:00:14.0-usb-0:3:1.0-port0

P.S. в debian'е 10 точно, за других не скажу

manjey73
23.03.2020, 15:32
pt200 да везде можно, если нет серийного номера в чипе, то только к порту USB можно привязаться, по другому никак...
Например используем одинаковый USB-RS485, на первый порт USB делаем COM1, на второй COM2 и так далее.

Если есть серийный номер, можно сделать привязку по нему и тогда все равно куда втыкай, он будет всегда COM5 например.

Sergeba
24.03.2020, 19:25
Ещё вопрос. Нашёл такую инструкцию для организации перезапуска среды исполнения при отсутствии лицензии, но почему-то не работает...

1. Добавьте в файл /etc/CODESYSControl_User.cfg следующий блок:
[SysProcess]
Command=AllowAll
Не забудьте, что сначала потребуется сделать файл доступным для записи:
sudo chmod 0666 /etc/CODESYSControl_User.cfg
2. Добавьте в проект библиотеку SysProcess.
3. Напишите в проекте следующий код:


VAR
pRes: POINTER TO SysProcess.SysTypes.RTS_IEC_RESULT;
fbTON: TON;
END_VAR

fbTON(IN := NOT(fbTON.Q), PT := T#110M);
IF fbTON.Q THEN
SysProcess.SysProcessExecuteCommand('sudo service codesyscontrol restart', pRes);
END_IF

Понаблюдал... Ставлю 2 минуты - отрабатывает нормально, перезапускается. 110 минут - почему-то отключается полностью... По команде TOP в терминале codesyscontrol, после 110 минут не вижу.

Sergeba
24.03.2020, 21:45
Sergeba
Можно сделать символьную ссылку для устройств, не имеющих серийного номера, с одним именем, например /dev/mydev/Com1 и оно будет именно таким, независимо как он воспримется системой ttyUSB0 или ttyUSB1

Почитал про udev, но не понял. как создать правило для USB и почему в этом случае не будет меняться имя порта...

manjey73
24.03.2020, 22:06
Sergeba https://krdburan.blogspot.com записал себе в заметки, думаю разберетесь. Содержимое файлов для некоторых преобразователей. Правило срабатывает на разные условия, и как бы не определился в системе ttyUSBx, символьная ссылка будет той, которую вы зададите. К ней и идет обращение. Физически имя порта меняется, не меняется имя ссылки на него.

Sergeba
25.03.2020, 01:54
Sergeba https://krdburan.blogspot.com записал себе в заметки, думаю разберетесь.


Сделал по аналогии

SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523",
ATTRS{devpath}=="1.2", SYMLINK+="mydev/Com1", GROUP="plugdev"

Симлинк появился. Не работает

manjey73
25.03.2020, 09:06
Симлинки появляются после перезапуска правил udev или после вытащить вставить устройство. Вы немного про udev дочитайте, да...
Так же проверьте соответствия idVendor и idProduct вашего конкретного преобразователя.

з.ы. запись в файле должна быть в одну строку
Ну и проверьте еще точку подключения USB порта, может у вас она не 1.2 а 1-1.2 или 1-2 и так далее...

Кажется большую часть можно посмотреть через dmesg, если не ошибаюсь.

И еще момент, папка mydev должна появиться в /dev, соответственно COM порт будет обзываться /dev/mydev/COM1

Если запись не попадет под правило, то устройство так и станется каким-нибудь /dev/ttyUSBx

Sergeba
25.03.2020, 13:09
Если запись не попадет под правило, то устройство так и станется каким-нибудь /dev/ttyUSBx

Поправил запись в одну строку, посмотрел и поправил на 1-1.2, проверил соответствие idVendor и idProduct... Не работает.
Прописываю
[SysCom]
Linux.Devicefile.1=/dev/ttyUSB0
Linux.Devicefile.2=/dev/ttyUSB1
После этого - работает, но назначены tty...

Результат команды dmesg | grep usb:
1.398541] usb 1-1.2: new full-speed USB device number 3 using xhci_hcd
[ 1.535063] usb 1-1.2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
[ 1.538118] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 1.541149] usb 1-1.2: Product: USB Serial
[ 1.648547] usb 1-1.4: new full-speed USB device number 4 using xhci_hcd
[ 1.784952] usb 1-1.4: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54
[ 1.787626] usb 1-1.4: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 1.790544] usb 1-1.4: Product: USB2.0-Serial
[ 4.157005] usbcore: registered new interface driver brcmfmac
[ 4.299259] usbcore: registered new interface driver usbserial_generic
[ 4.299427] usbserial: USB Serial support registered for generic
[ 4.304142] usbcore: registered new interface driver ch341
[ 4.304212] usbserial: USB Serial support registered for ch341-uart
[ 4.307645] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
[ 4.312343] usb 1-1.4: ch341-uart converter now attached to ttyUSB1

правило
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{devpath}=="1-1.2", SYMLINK+="mydev/Com1", GROUP="plugdev"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{devpath}=="1-1.4", SYMLINK+="mydev/Com2", GROUP="plugdev"

manjey73
25.03.2020, 14:49
Оставьте Devpath 1.2 и 1.4

в now attached to ttyUSB0 оно так и будет в dmesg - это никуда не денется. У вас при вставке устройства так и будет появляться ttyUSB устройство, просто должна появиться и папка в /dev в данном случае mydev, где и будут симлинки...

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