PDA

Просмотр полной версии : Toolchain для C++



Arenoros
29.07.2018, 12:01
Не могу найти на сайте ссылки на тулчейны для контроллеров. Где их можно скачать, если конкретнее то для plc110.

Newcomer
29.07.2018, 13:08
Что такое тулчейны для контроллеров ?

Arenoros
29.07.2018, 13:22
эм.. https://ru.wikipedia.org/wiki/GNU_toolchain

Newcomer
29.07.2018, 14:05
ПЛК110 из под Linux не программируется. CoDeSys чем не устраивает ?

Arenoros
29.07.2018, 15:26
Нужен C++. вы же собираете CoDeSys. Я пытался собрать сторонним тулчейном но не могу найти версию с такими древними библиотеками.

Трофимов Артем
30.07.2018, 16:06
Нужен C++. вы же собираете CoDeSys. Я пытался собрать сторонним тулчейном но не могу найти версию с такими древними библиотеками.

Здравствуйте, а что Вы хотите в итоге сделать?

Tacio
18.05.2020, 12:51
Здравствуйте, а что Вы хотите в итоге сделать?
Я не автор темы, но попробую ответить за него.

Хочется писать программы для ПЛК 110 и 210 на C/C++ без Codesys. Я разработчик ПО под C/C++, и язык типа ST для меня очень неудобен. К тому же разрабатываю ПО под Linux. Поэтому приходится ещё держать виртуальную машину для разработки в Codesys, что удобства тоже не добавляет. Но, к сожалею, использование ПЛК прописано в ТЗ и заменить его на что-то другое нет возможности.
Было бы здорово, если бы было доступно SDK для разработки на C/C++ хотя бы без официальной поддержки. Тем более, я так понимаю, ядро, обвязка к нему и и веб-морда взяты от OpenWRT.

Tacio
18.05.2020, 14:18
https://forge.codesys.com/forge/talk-ru/2/thread/2bd337dfd0/?limit=25#1cbc
Да, я видел эту ссылку. Там всё субьективно.
1. Для этих целей мы используем touch экран, например 315 панель. С помощью неё (в том числе, помимо основных её зада) можно хоть вручную что-то запустить, хоть автоматизированно, вплоть до каждого бита.
2. А компилятор C/C++ выдаёт ненадёжный код?? Что за бред? Если программист криворукий, то его никакой МЭК не спасёт. Я пишу на C/C++ потому что мне это удобно, и программу с одинаковым функционалом я на нём напишу быстрее, чем на ST. P.S. Начиная с c++11 "new" я уже довольно редко где использую.
3. В моих задачах "реальность" времени нигде не требуется, джиттер задержки в несколько мс устроит выше крыши. Более того, мне удобнее решать поставленные задачи через асинхронное выполнение. Более того, C/C++ ну никак не связан с "реальностью" времени ядра ОС. Возьмите QNX от КПДА - у них SDK для разработки на C/C++ идёт под кучу архитектур.
4. Ну тут всё ясно, этот пункт для тех, кто ещё только начинает погружаться в мир разработки.
5. Снова высосано из пальца. Как связано программирование на C/C++ и читаемость кода? Ну если программист плохой, его опять никакой МЭК не спасёт. Его же программы, написанные на ST, тоже будут абсолютно нечитаемы.

Я так полагаю то сообщение в первую очередь для начинающих программистов. У тех, кто уже пол жизни программирует для встраиваемых систем (не ПЛК), оно вызывает улыбку :)

Tacio
18.05.2020, 14:51
ПЛК прибит в ТЗ гвоздями! Ну нравятся почему-то (из-за цены) заказчику ПЛК, хотя он сам к ним не притрагивается даже. До этого, конечно, все предыдущие проекты на одноплатниках и прочих были реализованы.
Посмотрите, что входит в состав SDK (http://software-dl.ti.com/processor-sdk-linux/esd/docs/05_03_00_07/linux/Release_Specific_Release_Notes.html) под платформу, на которой построен ПЛК210. Там всё уже организовано за вас. Тем более Qt есть из коробки.
Я не призываю заменить Codesys, ни в коем случае. Я хочу, чтобы у разработчиков появился ещё один способ, с помощью которого можно реализовывать решение конкретной задачи, когда аппаратная платформа уже выбрана.

Tacio
18.05.2020, 15:29
Ну так ради бога. Значит всё-таки инструментарий есть.

IVM
18.05.2020, 16:19
ПЛК прибит в ТЗ гвоздями! Ну нравятся почему-то (из-за цены) заказчику ПЛК, хотя он сам к ним не притрагивается даже. До этого, конечно, все предыдущие проекты на одноплатниках и прочих были реализованы.
Посмотрите, что входит в состав SDK (http://software-dl.ti.com/processor-sdk-linux/esd/docs/05_03_00_07/linux/Release_Specific_Release_Notes.html) под платформу, на которой построен ПЛК210. Там всё уже организовано за вас. Тем более Qt есть из коробки.
Я не призываю заменить Codesys, ни в коем случае. Я хочу, чтобы у разработчиков появился ещё один способ, с помощью которого можно реализовывать решение конкретной задачи, когда аппаратная платформа уже выбрана.

Полмира программирует ПЛК в CoDeSys и не жалуется. Но если вы такой крутой программист, то что стоит сделать компилятор с C++ в ST ? Прецедент есть. Тут почитайте: https://owen.ru/forum/showthread.php?t=23013

melky
18.05.2020, 17:09
IVM на что capzap привел цитату самого Ситникова, без подписания договора о неразглашении инструментарий товарищ не получит.

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

Tacio
19.05.2020, 07:41
Полмира программирует ПЛК в CoDeSys и не жалуется. Но если вы такой крутой программист, то что стоит сделать компилятор с C++ в ST ? Прецедент есть. Тут почитайте: https://owen.ru/forum/showthread.php?t=23013
А никто и не утверждал, что я крутой программист. Я говорил про удобство разработки. Ещё раз перечитайте моё последнее сообщение, похоже до вас не дошло.
Я имел ввиду инструментарий, адаптированный под конкретно ПЛК210. А так он конечно есть, на этой странице я уже давал на него ссылку.

Tacio
19.05.2020, 08:14
Вы дали ссылку на доки, а теперь найдите цену и дайте ответ будете в одиночку этим заниматься
Найти цену на что? И заниматься в одиночку чем? Не могли бы пояснить?
SDK лежит в свободном доступе, и простые программы нормально им собираются.

Tacio
19.05.2020, 09:32
у меня нет времени искать какой STM стоит в контроллерах, чтоб потом искать как их прошивать с помощью инструментов техаса, в те времена мой интерес уперся в цену, если Вы нашли что то бесплатное, удачи Вам что тут еще можно сказать. Возможно начав самостоятельно писать, найдете много ошибок в конструкторских и схемотехнических решениях когда будете управлять переферией, поднимите самооценку на новый уровень
Ваше расстройство или обида мне непонятны. И "ошибок в конструкторских и схемотехнических решениях" никто не собирается искать. Например, в ПЛК210 никакого STM нет, там ARM процессор Техасовский AM3358, это есть в описании ПЛК на сайте ОВЕН. Ссылку на SDK для разработки под эту систему я давал выше. И прошивать ничего не надо, там уже всё прошито за вас, с готовой операционкой. Осталось только скомпилировать программу и перенести её на контроллер, благо ssh уже есть. В этом нет ничего сложного.
Другое дело, что этот SDK скорее всего не даст возможности из коробки пользоваться RETAIN-памятью или, например, получить доступ к дискретным входам и выходам самого контроллера. Для этих целей и нужен адаптированные SDK.

Tacio
19.05.2020, 10:41
боюсь это Вы не понимаете для чего SDK от TI, то что Вы описалиможно сделать и в VisualStudio скорее всего если комплитор соответствующий прикручивается
Этот SDK у меня уже прикручен к QT Creator. И программы там вполне нормально собираются. Только ПЛК пока нет под рукой - на тестовом цикле работы.
В Visual Studio? Для кросскомпиляции? :)) Надеюсь вы хотя бы Visual Studio Code имеете ввиду? :)
Отсутствие доступа к дискретным входам и выходам самого контроллера решается покупкой необходимого кол-ва Мх210 модулей, которые стоят копейки.

Tacio
19.05.2020, 13:30
я не пишу на Си, мне не принципиально, Вы тут поржали над словом Visual Studio или над предложением в целом?
Те термины что Вы упомянули присутствуют в официальных доках https://docs.microsoft.com/ru-ru/cpp/overview/visual-cpp-tools-and-features-in-visual-studio-editions?view=vs-2019, что не так? Я лично VSC использую только для питона, ну пускай для Си ни чего нельзя, далеко Вы продвинулись в написании своего приложения под плк развлекаясь со мной своей бравадой?
Да, собрал libmodbus (среди библиотек Qt к сожалению этого модуля не нашлось), написал простейшую программу для опроса температур с 101 модуля, просто чтобы проверить работоспособность. Как только окажется под рукой сразу проверю.
Кстати, раз вы пишите на python, SDK имеет поддержку 2.7 и 3.5 версий, perl. Вполне можно прикрутить поддержку PyModbus (https://github.com/riptideio/pymodbus) :)
Я не понимаю на что вы обижаетесь. Я всего лишь спросил про возможность разработки на привычных для меня языках.

Tacio
19.05.2020, 14:06
Дык то же самое можно написать не только на ST, но и на python, go, c/c++ и куче других языков. Всё зависит от ваших предпочтений и умений. Вам нравится и удобно CDS и ST? Ради бога, разрабатывайте там, никто не запрещает.
Не совсем понял на какой НИОКР вы хотите тратить время.
А можно сказать и так: завтра сменится платформа и под неё уже нет CDS. А проект, написанный по стандартам C99 так и останется :)

Tacio
19.05.2020, 14:12
я всё забываю, что при наличии всей документации от TI Вы не умеете работать с GPIO, пожалуй удалю посты
Ахаха, нос повыше задерите теперь :))

capzap
20.05.2020, 19:11
кстати вот, ни чего за 10 лет не изменилось


processor : 0
model name : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 795.44
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2

Hardware : Generic AM33XX (Flattened Device Tree)
Revision : 0000
Serial : 0000000000000000
характеристики процессора на плк210
от TI инструкция по установке Явы https://processors.wiki.ti.com/index.php/How_to_add_a_JVM
вместо этого, как в инструкции
java -version
java version "1.7.0_04-ea"
Java(TM) SE Runtime Environment for Embedded (build 1.7.0_04-ea-b20, headless)
Java HotSpot(TM) Embedded Client VM (build 23.0-b21, mixed mode)
получаю

[root@plc210 /mnt/ufs/media/sda1/ejre1.7.0_75/bin]# ls -al
drwxrwxrwx 2 root root 4096 May 20 18:48 .
drwxrwxrwx 4 root root 4096 May 20 18:49 ..
-rwxrwxrwx 1 root root 3424 Dec 19 2014 java
-rwxrwxrwx 1 root root 3528 Dec 19 2014 keytool
[root@plc210 /mnt/ufs/media/sda1/ejre1.7.0_75/bin]#./java -version
-ash: ./java: not found
[root@plc210 /mnt/ufs/media/sda1/ejre1.7.0_75/bin]#
надеюсь для сишников таких проблем не будет

Tacio
21.05.2020, 10:56
Мы на яве разработки не ведём, поэтому по установке JVM на данный ПЛК подсказать ничем не могу.
Cтандартные toolchain и SDK от TI для разработки, например, под Linux RT AM335X устанавливаются штатно, и программы собираются тоже без проблем. Однако их работоспособность непосредственно на ПЛК ещё не проверена.