PDA

Просмотр полной версии : CoDeSys + Linux



izwerg
19.04.2007, 18:35
Скажите, есть ли версия CoDeSys для Linux или какой-нибудь аналог (хотя бы для CoDeSys HMI)?

Малышев Олег
23.04.2007, 11:47
Что мешает использовать WinE?

Nekit
23.04.2007, 18:32
Меня этот вопрос тоже сильно интересует. Как можно передавать данные из ПЛК в Linux?

izwerg
23.04.2007, 18:45
Что мешает использовать WinE?

У меня пока не заработало. Буду пробовать еще.

Филоненко Владислав
24.04.2007, 08:23
Меня этот вопрос тоже сильно интересует. Как можно передавать данные из ПЛК в Linux?
Точно также, как в Windows. Ставите, к примеру, SCADA и общаетесь с ПЛК.

izwerg
24.04.2007, 09:39
Точно также, как в Windows. Ставите, к примеру, SCADA и общаетесь с ПЛК.

Попоробую. А я сам CoDeSys настроить пытался.

Licc
06.05.2008, 19:26
CoDeSys устанавливается и запускается, но проблема с таргет файлами, она их не находит, сейчас я нашел программиста который обещал помочь с настройкой Wine, что получится точно пока еще не знаю... но если вас интересует этот вопрос моя почта Licc@bk.ru аська 331-972-378.

Филоненко Владислав
07.05.2008, 11:56
Таргеты устанавливаются? Попробуйте задать каталог установки в ту-же директорию, куда устанавливает свои таргеты CoDeSys.

Licc
18.06.2008, 07:19
Владислав все уже устанавливается, и пока прекрасно работает .... обидно что только в режиме симуляции контролера, так как в параметре communication CodeSys не видит сетевую плату, надеюсь в ближайшее время проблема решится.

Малышев Олег
18.06.2008, 11:10
Если не секрет - напишите здесь, какие у вас версии Linux, WinE, какие делали специальные настройки.
Я пробовал с Ubuntu 7.0 качал последний wine, ставил IE6.
Дальше процесса установки не проходил...

Licc
19.06.2008, 11:59
Не каких секретов Олег нет, сейчас все стоит на Ubuntu 8.04 в плане перехода с Windows оптимальный на мой взгляд вариант, со стандартными wine есть много мелких досадных «багов», и пришлось перейти на коммерческие проекты и так как еще не один у меня на 100 % не заработал (а именно то что программа эмуляции не видит интерфейсов) не хочется заниматься пустой рекламой … но то что программа прекрасно себя чувствует в среде LINUX факт!

Licc
14.09.2008, 12:07
CodeSys прекрасно работает под Linux-ом
licc@bk.ru

незарегистрированный
14.09.2008, 12:23
Скажите, есть ли версия CoDeSys для Linux или какой-нибудь аналог (хотя бы для CoDeSys HMI)?

CodeSys прекрасно работает под Linux-ом
[email]licc@bk.ru

Малышев Олег
14.09.2008, 15:36
Я с удовольствием бы написал Вам на почту, но мысль о том что кто-то еще захочет повторить Ваши достижения удержала меня.
Пожалуйста, в кратце, повторите ваши шаги к установке CoDeSys под u8 в виде поста...

Licc
17.09.2008, 16:34
Тут хочется сказать отдельное спасибо Леониду Шадевскому
из службы поддержки Etersoft использовался релиз 1.9 коммерческой версии wine@etersoft, но там есть определенные нюансы запуска, версия для этих целей еще сырая, сейчас идет тестирование и настройка.

lyksasha
17.11.2008, 22:38
не уважают нас) может потому что нас мало?))может дождемся времен когда все писаки будут портировать свою писанину под linux?)

Мне вообще пришлось заново учиться))) мастдая несколько лет не было на машине а вот теперь пришлось) благодаря кодесис))

)))) заодно познал что такое вирусы)))))

Chupakabra
21.01.2009, 12:27
Пробовал ставить CoDeSys на Ubuntu 8.10 и Wine 1.0.1
Вроде ставится, даже запускается. Но не работает CoDeSys Gateway Server. При запуске вылетает с ошибкой R6025 -pure virtual function call. Победить не удалось.

fLegmatik
11.03.2009, 08:49
Ну что же, пришла моя пора отписаться о результатах запуска Codesys под Linux. Скажу сразу, сложности есть, но они решаемые. Целью запуска являлось получение возможности программирования ПЛК из-под свободной ОС, а вовсе не использование Codesys HMI в виде скада-системы (ибо для этой цели существует прекрасная OpenSCADA Романа Савоченко). Использование коммерческих реализаций wine я отложил на потом и, считаю, правильно сделал.
Удачно удалось запустить Codesys в среде wine пока что только на нетбуке eeepc900 с предустановленным Xandros. Wine был взят из уже устаревшего репозитория Debian Etch. Первоначально я попробовал установить Codesys с помощью инсталлятора. Инсталлятор после нескольких первых шагов начинает ругаться на отсутствие интернет эксплорера. Ни установка wine-gecko, ни ies4linux, ни попытка переноса эксплорера желаемого результата не дали. Поэтому я отказался от инсталлятора и по совету с этого форума перенёс на машинку уже установленный Codesys из папки Program Files и (внимание!) ряд файлов из \windows\system32\ (какие именно -- определял по дате установки, она у всех одна), положив их в соответствующие каталоги в ~/.wine/ . Запуск удался, что уже хорошо.
Следующим шагом была установка target-файлов. Ставить их можно в любой каталог, но каталог этот задаётся не в программе InstallTarget.exe (там диалог выбора каталога кривой), а в текстовой файле plc.tnf . Подправив его (желательно отказаться от имен, содержащих только заглавные литеры и цифры) или оставив как есть, командуем wine InstallTarget.exe plc.tnf (разумеется, до этого надо перейти в каталог с устанавливаемым таргетом командой cd). Остаётся лишь нажать кнопку Install в появившемся окне.

fLegmatik
11.03.2009, 09:24
Итак, мы уже можем запускать Codesys и набирать в нём программу для своего ПЛК Овен. Теперь желательно связаться с этим ПЛК. Т.к. на соверменных ноутбуках нет com-порта, а установка драйверов prolific вызывает очередные неприятности, связываться с ПЛК я решил через Ethernet.
Да, как уже многократно тут отписался licc, нажатие Alt+F8 после вроде бы очевидно правильной настройки Communication Parametrs даёт лишь окно с сообщением, что соединение не удалось. Теперь внимательно смотрим в консоль вывода wine и видим там "WARNING: Trying to use ICMP (network ping) will fail unless running as root". Видимо, gateway не сразу устанавливает соединение с устройством, а сначала пытается пропинговать его. ICMP-трафик же простому пользователю в большинстве дистрибутивов Linux не доступен, только суперпользователю. Поиск в гугле по указанной фразе даёт некоторые решения (возможно, в етерсофте воспользовались одним из них); но я поступил проще (от этой простоты сильно страдает безопасность системы!). Даём команды
sudo winecfg -- для создания правильной структуры /root/.wine/ ,
sudo mv /root/.wine/drive_c /root/.wine/c_backup -- бекап на всякий пожарный,
sudo ln -s /home/user/.wine/drive_c /root/.wine/ -- символьная ссылка на "диск це" простого пользователя. Ведь там уже установлены Codesys и таргеты, не мучаться же повторно? Остаётся лишь точно также "скопировать" кусочек реестра:
sudo mv /root/.wine/system.reg /root/.wine/c_backup
sudo ln -s /home/user/.wine/system.reg /root/.wine/
Вуаля! Codesys запускается, видит ПЛК при настройке gateway через connection "Local" (через "'localhost' via Tcp/Ip" почему-то не видит) и даже программирует его. При соединении раз шесть-семь выскакивает ошибка о невозможности открытия таргет-файла plc.xml, но она, что удивительно, ситуацию не портит. Ситуацию портит изредка выскакивающее окно дебагера, приводящее к преждевременному закрытию Codesys. Тут совет один: сохранять проект почаще, как минимум обязательно перед установлением соединения.
Кстати, тут надобно сказать, что добровольно Codesys выгружаться не желает. После выхода и даже после закрытия висящего в трее Gateway.exe процесс wine продолжает жить. Для окончательного закрытия надо нажать Ctrl+C в консоли.

fLegmatik
11.03.2009, 09:54
Но всё это было ещё месяц назад. После выхода Debian Lenny я пытался обновить Xandros с этих репозиториев и несколько раз потерпел неудачу из-за нехватки места на мелком системном разделе. После чего удалил Xandros и поставил привычную Mandriva Free 2009.0. Тут повторить трюк не удалось, выскакивает указанная Chupakabra runtime error R6025. Сейчас в планах скачать старый wine (той версии, что лежит в Debian Etch) и подменить бинарник.

Филоненко Владислав
11.03.2009, 10:02
Очень интересно и жизненно. Спасибо за подробное описание!

Малышев Олег
13.03.2009, 16:58
Кстати R6025 периодически вылетала и под виндой. По наблюдениям это часто происходило при попытке логина при недогрузившейся Winodws. Видимо gateway серверу что то нехватало.

fLegmatik
23.04.2009, 10:16
Установил на домашнем компе Codesys 2.3.8.1 (windows версия) под Linux, таржеты Owen-овские тоже встали.wine ~/.wine/drive_c/windows/system32/Gateway.exe тоже работает или выдаёт R6025?
Сколько я ни бился, запустить Gateway Server под вайном в мандриве не удалось. Пробовал я и откатиться к wine 0.9.25 (эта версия была в debian4), и скопировать %windir%/system32/* целиком с рабочего виндового компьютера, и устанавливал всякие заплатки для microsoft visual c++ и прочего с помощью winetricks -- ничего не помогает. Похоже, без покупки самой винды не обойтись.

Попробовал поставить VirtualBox и Windows XP в облегчённом варианте (да-да, на eee pc; такое извращение). Codesys в виртуальной машине заработал на ура, что на мгновение аж скучно стало. Что особо радует, после установки "дополнений гостевой ОС" Codesys прекрасно воспринимает как переключения между полноэкранным и оконным режимом VirtualBox, так и режим интеграции с рабочим столом КДЕ. В итоге сейчас я имею примерно то, чего добивался с самого начала: привычную среду обитания, свободную скада-систему и возможность программировать ПЛК, не перегружая свой компьютер и не занимая чужой.
Внимание, если кто-нибудь тоже решится повторить эксперимент, сразу ставьте VirtualBox не ниже 2.1.0 (например, в репозиториях mandriva2009.0/main/release и update лежит 2.0.4, а версию 2.1.4 надо искать после подключения mandriva2009.0/main/backports). Дело в том, что в более ранних версиях при настройке виртуальной сетевой платы в режиме NAT не работает ICMP-трафик (я уже упоминал в этой ветке, что без него установить связь с ПЛК невозможно). Единственный вариант там -- переключить сетевую плату в режим "хост-интерфейс" (когда виртуальная машина забирает реальный ip-адрес на реальном внешнем роутере), однако настройка этого хост-интерфейса опять-таки в версиях до 2.1.0 чрезвычайно усложнена. В 2.1.0 настройку упростили, но нам это и не требуется, т.к. теперь ICMP-трафик работает и связь с контроллером прекрасно устанавливается и держится через простой NAT-интерфейс.

lunyov_i
07.05.2009, 19:03
wine ~/.wine/drive_c/windows/system32/Gateway.exe тоже работает или выдаёт R6025?
Сколько я ни бился, запустить Gateway Server под вайном в мандриве не удалось. Пробовал я и откатиться к wine 0.9.25 (эта версия была в debian4), и скопировать %windir%/system32/* целиком с рабочего виндового компьютера, и устанавливал всякие заплатки для microsoft visual c++ и прочего с помощью winetricks -- ничего не помогает. Похоже, без покупки самой винды не обойтись.

Попробовал поставить VirtualBox и Windows XP в облегчённом варианте (да-да, на eee pc; такое извращение). Codesys в виртуальной машине заработал на ура, что на мгновение аж скучно стало. Что особо радует, после установки "дополнений гостевой ОС" Codesys прекрасно воспринимает как переключения между полноэкранным и оконным режимом VirtualBox, так и режим интеграции с рабочим столом КДЕ. В итоге сейчас я имею примерно то, чего добивался с самого начала: привычную среду обитания, свободную скада-систему и возможность программировать ПЛК, не перегружая свой компьютер и не занимая чужой.
Внимание, если кто-нибудь тоже решится повторить эксперимент, сразу ставьте VirtualBox не ниже 2.1.0 (например, в репозиториях mandriva2009.0/main/release и update лежит 2.0.4, а версию 2.1.4 надо искать после подключения mandriva2009.0/main/backports). Дело в том, что в более ранних версиях при настройке виртуальной сетевой платы в режиме NAT не работает ICMP-трафик (я уже упоминал в этой ветке, что без него установить связь с ПЛК невозможно). Единственный вариант там -- переключить сетевую плату в режим "хост-интерфейс" (когда виртуальная машина забирает реальный ip-адрес на реальном внешнем роутере), однако настройка этого хост-интерфейса опять-таки в версиях до 2.1.0 чрезвычайно усложнена. В 2.1.0 настройку упростили, но нам это и не требуется, т.к. теперь ICMP-трафик работает и связь с контроллером прекрасно устанавливается и держится через простой NAT-интерфейс.
Пока мне некогда заниматься экспериментами - пусконаладка идет,
обновлю Mandrivу до Spring посмотрим....

Fagoth
31.05.2009, 13:50
Пытаюсь поставить codesys на ubuntu 9.04. С какой версией вайна не вылетает ошибка 6025 и нормально определяются интерфейсы? Связываться с овеном буду по ethernet.

fLegmatik
01.06.2009, 07:59
Пытаюсь поставить codesys на ubuntu 9.04. С какой версией вайна не вылетает ошибка 6025 и нормально определяются интерфейсы? Связываться с овеном буду по ethernet.Ответы на эти вопросы определяются опытным путём. Появление ошибки 6025 не зависит от версии вайна, а вот от чего зависит — выяснить не удалось.
Связь кодесиса, запущенного из-под вайна, с ПЛК по ethernet устанавливается только в том случае, если вайн имеет рутовые права. Т.е. уже с самого начала следует устанавливать и запускать codesys командами соответственно
sudo wine setup.exe
sudo wine /root/.wine/drive_c/Program\ Files/CoDeSys\ V2.3/Codesys.exe вместо этих же команд, но без sudo.
Если удастся запустить под Ubuntu 9.04, пожалуйста, дайте знать об этом.

Dropp
19.06.2010, 16:21
Не хочу показаться некропостером, но проблему Codesys + wine под убунтой заборол. Может, кому будет полезно - ставим кодесис под вайном, не обращаем внимания на сообщения об ошибках. Таргеты проставились без проблем через автоинсталлятор. Далее делаем следующее:



sudo setcap cap_net_raw+eip /usr/bin/wine
sudo setcap cap_net_raw+eip /usr/bin/wine-preloader


И запускаем кодесис. Связь с ПЛК через Ethernet установилась без всяких плясок с бубном.

Thorn
10.05.2011, 19:37
Есть ещё один способ, правда не спортивный. У меня бук с Убунтой, под ней пара образов WinXP с различными наборами пром. софта. Вся развлекуха, инет и офис в Убунте, вся работа в образах. По ethernet с контроллером работает отлично, через проброшенный COM порт работает большинство железяк, за исключением СП270, но как от неё отказались - совсем хорошо стало. В образах виндов настроен бэкап через виндовскую версию rsync, бэкапит в каталог Dropbox в хоме на Убунте. Винды в инет не пускаю совсем, поэтому никаких антивирусов.
Да, кстати - с ПЛК110 связывался даже через USB, - работало, но не нравится. Втыкаем контроллер в USB, он представляется как USBtoCom конвертор, полученный порт пробрасываем в VirtualBox, но проблема в том, что если его выключить то порт пропадает и чтобы его зацепить заново надо бокс в виндой перезапускать... Не, мой выбор эзернет, проще и недёжнее.

Licc
02.09.2011, 09:30
Больше года пользуюсь CodeSys под Ubuntu через WINE@Etersoft 1.0 (цена 400-500р) уверен что можно использовать свободно распространяемый, но так как у меня есть этот коммерческий продукт, и ребята в свое время из службы поддержки c энтузиазмом откликнулись …в направлении использования «стандартного» WINE я не двигался, возможно что для запуска хватит WINE@Etersoft бесплатной части, но я это не проверял, кому интересно пишите с удовольствием отвечу. (licc@bk.ru)

Милко
21.10.2011, 03:00
Видеоурок о том как установить Codesys 2.3 на свежеустановленом Ubuntu 10.04.
CoDeSys 2.3 on Ubuntu 10.04 Linux (http://youtu.be/un1jN2vIqi8)

Licc
28.08.2012, 16:05
подробная инструкция запуска Codesys под Ubuntu
http://witkel.ru/articles/zapusk-codesys-pod-linux

Роман26
12.08.2013, 17:03
Debian 7, Wine 1.4.1, CoDeSys 2.3.9.38

CoDeSys и Target-файлы прекрасно встали, всё работает. Gateway сервер стартует. Одна беда осталась с подключением к ПЛК. В gateway-сервере нету настроек! т.е. в списке, где должна быть куча вариантов подключения (COM, Tcp/ip, USB...) ничего нету! Пустой список!

Благодарю за внимание. Кто-нибудь знает что делать?

Роман26
12.08.2013, 17:54
А по поводу инструкции... Вкратце просмотрел... Стесняюсь спросить, там что, wine и CoDeSys под рутом собираются запускать?

Smith2007
16.09.2013, 08:16
Так же интересует вопрос как получить связь с ПЛК по сети без использования прав root.

capzap
16.09.2013, 08:51
Так же интересует вопрос как получить связь с ПЛК по сети без использования прав root.

в консоли, если работаете через USB, набираете команду ls -l /dev/ttyUSB0, после рута стоит группа, которой позволено управлять портом, далее добавляете своего пользователя к этой группе, ну или к пользователю добавляете данную группу, перегружаете сеанс и доступ обычному пользователю разрешен, как то так

Smith2007
16.09.2013, 11:47
По ip соединение нужно установить.

capzap
16.09.2013, 11:50
По ip соединение нужно установить.

а какие тогда вообще проблемы?

Smith2007
16.09.2013, 22:51
а какие тогда вообще проблемы?
Проблема в том, что при запуске CodeSys под wine (в ubuntu) интерфейсы для связи недоступны если запускать не из под root. А запускать софт из под root - как-то уж больно криво :(

Это как номер банковской карты и пароль от нее опубликовать ВКонтакте :)

capzap
17.09.2013, 06:57
Проблема в том, что при запуске CodeSys под wine (в ubuntu) интерфейсы для связи недоступны если запускать не из под root. А запускать софт из под root - как-то уж больно криво :(

Это как номер банковской карты и пароль от нее опубликовать ВКонтакте :)
поставте virtualbox и не партесь с вином

Smith2007
17.10.2013, 14:03
Вчера после непродолжительного знакомства сына с ноутом, последний отказался работать :)
В итоге ноут новый пришлось брать. Взял пустой и поставил ubuntu desctop 12.04.
Подскажите бедет ли работать в virtualbox модуль АС4 (usb-rs485)? Не возникнет проблем с драйверами?
Нужны какие-то специальные настройки?

capzap
17.10.2013, 14:38
хорошо, что не первый отказался
я работаю, прекрасно общаюсь, на днях делал "прокладку" связь трм202 с БД MySQL именно в виртуалке, правда парниша куда то пропал, так и не сказал работает ли и у него тоже.
У меня стоит OpenSuSE 12.3

Smith2007
17.10.2013, 16:38
Спасибо за ответ. Теперь я полностью определился с основной ОС на ноуте. Все остальное в виртуалках буду пускать.
Не разобрался как usb порт прокинуть в виртуалку.

capzap
17.10.2013, 16:43
приблизительно так

Smith2007
17.10.2013, 18:34
C rs232 понятно, а как с АС4 usb-rs485?

capzap
17.10.2013, 18:45
я про него и говорил, если бы я написал /dev/ttyS0 шла бы речь про СОМ-порт

Day02
07.10.2014, 17:42
Ставить Linux и на него виртуалку с виндой - извращение.
Под линух есть библиотеки всяческие в тч Modbus
К примеру http://libmodbus.org/
Графический интерфейс пишется на ура в QT к примеру.
Если нет желания вязать всё это руками - есть SCADA для LINUX из их числа есть достойные внимания)

capzap
07.10.2014, 18:39
Ставить Linux и на него виртуалку с виндой - извращение.
Под линух есть библиотеки всяческие в тч Modbus
К примеру http://libmodbus.org/
Графический интерфейс пишется на ура в QT к примеру.
Если нет желания вязать всё это руками - есть SCADA для LINUX из их числа есть достойные внимания)
Если Вы такой умный, чтож в столовую строем не ходите. Речь шла о среде разработки и много чего еще, что есть только под виндой

Вольд
07.10.2014, 18:57
Если Вы такой умный, чтож в столовую строем не ходите. Речь шла о среде разработки и много чего еще, что есть только под виндой
capzap, а почему умные должны ходить в столовую строем ?

Вольд
07.10.2014, 19:04
:) опыт
Ну, так поделись. не будь жадным.

Вольд
07.10.2014, 19:11
все же в гугле есть, ни какаой тайны
Темнишь. Ну-ну.

drvlas
22.02.2015, 18:34
Не хочу показаться некропостером
Ну, а спустя 5 лет - это некропост или где? Ничьо, если вопрос возник, а здесь его уже перетирали, то хочу воткнуться именно сюда.


проблему Codesys + wine под убунтой заборол. Может, кому будет полезно - ставим кодесис под вайном, не обращаем внимания на сообщения об ошибках. Таргеты проставились без проблем через автоинсталлятор. Далее делаем следующее:



sudo setcap cap_net_raw+eip /usr/bin/wine
sudo setcap cap_net_raw+eip /usr/bin/wine-preloader


И запускаем кодесис. Связь с ПЛК через Ethernet установилась без всяких плясок с бубном.
Увы и ах. Мне интересен был именно этот пост, потому что я тоже решил сразу зайти по-крупному: установить Кодесис не из виртуалки, а прямо Вайном. Ищу сейчас возможность обойтись без виртуалки вовсе. Ибо, с точки зрения авторских прав, наши крекнутые винды под виртуалкой - это тоже не хорошо.
Работаю под Убунтой.
Итак, я установил Кодесис. Не из Рута. Таргеты тоже стали (или скопировал директории? - не помню точно). Прописал пути к либам (у меня свое расположение либ, поэтому уделил внимание). Всьо... Этого оказалось достаточно для старта Кодесис и для компиляции проекта.
А дальше - да, фигово. Не вяжется с ПЛК по Етернету. Признаки такие же, как здесь и писалось:

err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions.
То есть да, нужно под рутом, вроде бы. Но под рутом я не ставил. Поэтому вместо обычного

wine Codesys.exe
(который как раз и стартует нормально) пробую

sudo wine Codesys.exe
wine пишет:

wine: /home/user/.wine is not owned by you
Ну, я же пробую как root запустить. Хорошо. Попробовал изменить атрибуты директорий, в которых стал Кодесис и директории .wine - группой объявил root. Дал права группе такие же, как владельцу. Ничего не изменилось.

Уже после этого пробовал вот этот путь от Dropp по setcap - ноль эмоций.

Если все же не рассказывать мне про виртуалки (я на них давно уже запускаю КДС и мне этот путь не интересен), то какие еще могут быть мИсли? Или что я не так делаю, пробуя повторить опыт успешных коллег?

melky
23.02.2015, 18:27
Доступ к портам Ethernet для Codesys и Wine... посмотреть в какую группу входит сетевой интерфейс и добавить эту группу для запуска Codesys.
И кажется ковырять iptables, чтобы wine мог с ICMP протоколом работать...

capzap
23.02.2015, 20:28
sudo wine Codesys.exe
wine пишет:

wine: /home/user/.wine is not owned by you
Ну, я же пробую как root запустить. Хорошо. Попробовал изменить атрибуты директорий, в которых стал Кодесис и директории .wine - группой объявил root. Дал права группе такие же, как владельцу. Ничего не изменилось.

Уже после этого пробовал вот этот путь от Dropp по setcap - ноль эмоций.

Если все же не рассказывать мне про виртуалки (я на них давно уже запускаю КДС и мне этот путь не интересен), то какие еще могут быть мИсли? Или что я не так делаю, пробуя повторить опыт успешных коллег?
таки не используйте в таком случае sudo, а зайдите под самим рутом, чтоб папка /.wine создалась в каталоге рута, для этого выберите в консоли под обычным пользователем просто su

drvlas
23.02.2015, 22:23
Доступ к портам Ethernet для Codesys и Wine... посмотреть в какую группу входит сетевой интерфейс и добавить эту группу для запуска CodesysСпасибо!
Да, это похоже на то, что мне следует сделать (хотя для моего уровня еще вопрос. как именно это выполнить...)
Но самое смешное, что в результате моих спорадических следований разным советам и идеям я внезапно связался с ПЛК. Честно говоря, даже обидно немного - ведь нифига не понял, в конце концов. Но - работает же!
И, как всегда, времени разобраться не хватает, откладываю на потом. Так дураком и останусь. Но удачливым :)
Хотя ясно, что после запары захочется все же вернуться и увидеть, чьо ж оно включилось...

Для тех, кто не понял моих многабукофф: из Вайна установил КДС, из него же запускаю, открываю проект, компилирую и по ТСP/IP level2 устанавливаю связь с ПЛК. Как - х.з.

2 capzap: и не под рутом запускаю...

drvlas
24.02.2015, 01:08
Вот тут еще какая неприятность. Даже не знаю, это из-за вековой вражды винды и никсов или тут и Кодесис свое словечко вставил...
Дело в том, что в проекте теперь (по вайном) совершенно невозможно заюзать кириллицу. Она кракозябликами отражается и в старых комментах, и новые я не могу написать. В Project-Options-Font тыкался, не нашел вариантов.
Что-то было о русификации Кодесиса - но то ведь касается русификации текста менюшек. А я о тексте в программе. Это ведь не связано?

Кто запускался успешно по Линуксом с WINE - научились кириллицей пользоваться? Жалько же, бился-бился башкой в стенку, продырявил, а теперь что - везде на аглицкий во всех комментах переходить? Да, было у меня такое в 80-х, когда на мониторах можно было или только заглавными буквами писать (латиницей или кириллицей), или какими хош - но только латиницей. Так и шли мои программы с комментами на английском. Но то ж когда было...

capzap
24.02.2015, 06:47
я вином не пользуюсь, могу предложить погуглить как в обычную винду шрифты ставить, вдруг поможет

drvlas
24.02.2015, 09:55
как в обычную винду шрифты ставитьКх-м... Вродь русский язык давно знаю. И слова все мне понятны. А смысла ниасилил... Можешь расшифровать письмена?

Для аналогии приведу пример из других IDE. Скажем, пользовался проприетарными IDE от Атмела, Тексас Инструментс - под виндой. Потом перешел на Кодблокс, который есть и для винды, и для никсов. Мгновенно ощутил - кодировка в сишных исходниках превратила комментарии в хаос. Пришлось специальными средствами (одно из них - чудесный редактор Notepad++) перекодировать все файлы в utf8. Теперь они нормально читаются и из винды, и из линукса.
Но то с текстовыми исходниками. А мы же имеем дело с бинарником - проектом КДС. Тут даже не знаю, кто, кроме самой КДС, может их поправить.
хочется рвать и метать, рвать и метать... Помогайте, граждане! Угроза русскому языку (в комментах) ;)

energvk
24.02.2015, 10:55
Насколько я помню, под wine нужно установить шрифты, или указать путь к ним в настройках. Погуглите шрифты windows под wine

http://ubuntologia.ru/blog/software/98.html#install-fonts

drvlas
24.02.2015, 11:27
http://ubuntologia.ru/blog/software/98.html#install-fontsИнтересная ссылка, спасибо! Я как-то ткнулся в Вайн, как будто упал, споткнувшись. А нужно создать ему правильное окружение, как я посмотрю. ОК, поработаем!

capzap
24.02.2015, 14:23
https://xakep.ru/2015/02/24/hack-admin-rules-linux/ для общего развития

drvlas
24.02.2015, 15:48
wine нужно установить шрифты, или указать путь к ним в настройкахУстановил. Вид коментов тот же.
Интересно, откуда Кодесис берет тот список шрифтов, который виден в конфигурировании редактора (Project-Options-Editir-Fonts)? Я там наобум перебирал, только вид козябриков менялся, но текста кириллистичного так и не увидел.

drvlas
24.02.2015, 22:35
так делали?Добавил старые виндозные фонты, даже нашел, куда их запихнуть, чтобы вайн увидел и кодесису передал. Спасибо!
Теперь все старые коменты вижу. Но... нет ЩАСТЯ на свете! Новые кириллистические - отображаются вопросительными знаками. Ну что ты ляжешь будеш делать...

AndreyS
18.03.2015, 22:55
При связи по TCP/IP из под wine проблема в том, что CODESYS пытается перед подключением пинговать ПЛК. Для выполнения этой операции (посылка ICMP-пакета) программа должна быть запущена с повышенными привелегиями. Чтобы не наделять ее полными привелегиями рута, можно ей явно разрешить raw доступ к сети. Это делается с помощью механизма capabilities, а именно нужна cap_net_raw.

Для себя я написал небольшую программку для запуска CODESYS c cap_net_raw, а утилитам wine & wine-preloader разрешил наследовать cap_net_raw от родительского процесса и передавать ее дочернему процессу.
В Debian Jessie делается это следующими командами:

sudo setcap cap_net_raw+eip ./run_codesys
sudo setcap cap_net_raw+ei /usr/lib/i386-linux-gnu/wine/bin/wine
sudo setcap cap_net_raw+ei /usr/lib/i386-linux-gnu/wine/bin/wine-preloader

Исходник программки прилагаю. Вдруг кому-нибудь будет полезно.

AndreyS
18.03.2015, 23:00
У вас какая системная локаль? Попробуйте запустить LC_ALL=ru_RU.utf-8 wine <path-to-codesys>/Codesys.exe

drvlas
22.04.2015, 22:47
В Debian Jessie делается это следующими командами:

sudo setcap cap_net_raw+eip ...
...


Не знаю, что за фигня. Делал и так, делал и сразу на вайн:

sudo setcap cap_net_raw+eip /usr/bin/wine
sudo setcap cap_net_raw+eip /usr/bin/wine-preloader
а не работает.

Всего-то ничего нужно, дать команду

plc_io /TCP192.168.0.199 /get file.bin
Из виртуальной хрюши запускается, из линукс-минт под вайном - не хочет ни в какую.
Самое обидное - когда-то вроде пошло, я решил, что дело в шляпке, написал скриптик на пайтоне, куда включил (через модуль subprocess32) запуск wine с указанной строкой аргументов. Вдруг не стало работать. Разбирался с subprocess32, терял время зря, потом вернулся к терминалу, смотрю - агашеньки, а просто команда

wine plc_io /TCP192.168.0.199 /get file.bin
уже и не работает.
Стал все эти танцы с capabilities выплясывать - не помогает.
Выпрашивать у коллеги Yegor-а, чтобы он добил свой кряк кодесисного протокола до читалки файлов? Насиловать вайн суперюзером? Напиться и забить? О, это идея...

andyshark
02.10.2017, 11:53
На slackware (porteus) не работали команды:
sudo setcap cap_net_raw+eip /usr/bin/wine
sudo setcap cap_net_raw+eip /usr/bin/wine-preloader.
Пришлось включить опцию ядра
CONFIG_AUFS_XATTR=y
После сборки ядра, все ок. Codesys нормально заливает в контроллер через эзернет под обычным пользователем.

drvlas
02.10.2017, 13:28
Спасибо за інфу!