SCADA для Linux

Аватар пользователя ZaySan

Уважаемые сограждане, работающие со средствами АСУ ТП.
Подскажите, пожалуйста, есть ли у кавонибудь наработки
по программированию и визуализации ТехПроцессов с PLC фирм Siemens, GE или Omron на платформе Linux (желательно ASPLinux)?

Аватар пользователя physieker

Re: SCADA для Linux

+1
тоже работаю в этой области.
на нашей фирме все под виндовZ.

Аватар пользователя DRVTiny

Re: SCADA для Linux

Предлагаю более радикальный вариант: досконально изучить протокол обмена с устройствами и написать собственный низкоуровневый драйвер для управления ими на любом языке программирования, который вы знаете. Лично я предпочёл бы FreePascal, FreeBASIC (сейчас этот язык позволяет делать если не всё, то по крайней мере не меньше, чем C++ или Java) или классический Ассемблер: например, NASM.
Но если есть SCAD'ы для этих устройств под DOS, то тогда я вообще не понимаю, в чём, собственно, проблема: DOSEmu, будучи запущенным из-под root'а позволяет писать в любые порты ввода-вывода (пусть и через вызовы ядра), так что под Linux SCAD'а должна работать ничуть не хуже, чем под DOS.

Аватар пользователя keng00ru

Re: SCADA для Linux

DRVTiny писал(а):
более радикальный вариант: досконально изучить протокол обмена с устройствами и написать собственный низкоуровневый драйвер

Самое интересное, что всё это было написано под DOS, поддержано Linux, и потом уже украдено M$ для Win. Но Lin-версии сохранились только самых-самых стародавних времён (для 2.0-2.2 ядер). Это то, что я смог найти. Невостребованный продукт?

DRVTiny писал(а):
DOSEmu, будучи запущенным из-под root'а позволяет писать в любые порты ввода-вывода

А FreeDOS чем хуже?

Аватар пользователя DRVTiny

Re: SCADA для Linux

Цитата:
А FreeDOS чем хуже?

Очень оригинальный вопрос, не знаю, что на него и ответить....
А FreeDOS под Linux сама по себе работает?

Аватар пользователя DRVTiny

Re: SCADA для Linux

Цитата:
Невостребованный продукт?

Ну да, пользователи Linux как-то не привыкли покупать что бы то ни было, а SCADA-системы обычно денег стоят.

Аватар пользователя ZaySan

Re: SCADA для Linux

keng00ru писал(а):
Невостребованный продукт?

Продукт спецефичен. Даже не каждому студенту, изучающему тему АСУ, можно
достать для домашнего пользования нормальный пакет программ. Выбор только из лицензированного совта достаточно велик. Есть крупные и неочень проекты, под разные ОС.
Из свободного совта под Linux я нашел проекты:iArte + RTAI, Linux SCADA, PLC Connect, ProcessViewBrowser, и др.
Но собрать всеё воедино рук нехватает (криворукость, косоглазость, нехватка опыта ..).
Вот и прошу совета(помощи).

Аватар пользователя keng00ru

Re: SCADA для Linux

DRVTiny писал(а):
А FreeDOS под Linux сама по себе работает?

Как это? Типа запустить FreeDOS, как приложение Linux? Я думаю нет. Под тем же DOSEmu - пожалуйста.
Вот, почитай если интересно.

Аватар пользователя DRVTiny

Re: SCADA для Linux

Цитата:
Как это? Типа запустить FreeDOS, как приложение Linux? Я думаю нет. Под тем же DOSEmu - пожалуйста.

Ну, я о том же. Тогда к чему вот эта реплика, если мы вроде как говорим о том, как работать со SCADA-системами под Linux?:

Цитата:
А FreeDOS чем хуже?

В смысле: чем FreeDOS хуже GNU/Linux или что? В чём, собственно, твой вопрос состоял? Улыбка

Аватар пользователя ZaySan

Re: SCADA для Linux

В продолжение темы. Скачал пакет Visual (http://visual.sourceforge.net), доустановил MySQL, devel тоже из дистрибутива (ASP v10), при компиляции из исходников ./configure выдаёт предупреждение(типа):

checking for mysql_real_connect in -lmysqlclient... no
configure: WARNING:
*** no libmysqlclient found -- building without MySQL logger modules !
configure: WARNING:
*** acplt not selected -- building without ACPLT server module.

второе предупреждение я незнаю к чему относиться, может быть даже совсем непричём.
Но первое настораживает. Далее, пишу make и вижу ошибку компилирования:

/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status

Может нужно mysql сонфигурировать? Может библиотеки прописывать, Но как?
Интернет результата не дал, только запутал. Помогите люди добрые (т.е. грамотные)!
:mda:

Аватар пользователя DRVTiny

Re: SCADA для Linux

Цитата:
доустановил MySQL, devel

Надо было собственно сам mysqlclient*.rpm поставить (не devel-пакет, а непосредственно сами бинарные библиотеки)

Аватар пользователя ZaySan

Re: SCADA для Linux

Цитата:
DRVTiny пишет:

Цитата:
доустановил MySQL, devel

Надо было собственно сам mysqlclient*.rpm поставить (не devel-пакет, а непосредственно сами бинарные библиотеки)

С бронзой ВАС, уважаемый DRVTiny, я не нашел пакетов mysqlclient*.rpm на дисках дистрибутива ASP v10, скачал клиена и
хдр. Установил, а результат тот-же абсалютно.

Аватар пользователя ZaySan

Re: SCADA для Linux

Вот уже перешел на ASPLinux v11, а проблемы теже.
Вот некоторая инфа из моих файлов:
в каталоге с пакетом пишу
./configure
..
checking mysql/mysql.h usability... yes
checking mysql/mysql.h presence... yes
checking for mysql/mysql.h... yes
checking for mysql_real_connect in -lmysqlclient... no
configure: WARNING:
*** no libmysqlclient found -- building without MySQL logger modules !
configure: WARNING:
*** acplt not selected -- building without ACPLT server module.
checking nodave.h usability... no
checking nodave.h presence... no
checking for nodave.h... no
configure: WARNING:
*** no nodave.h found -- cannot build S7 PLC drivers. Please run INSTALL_PLC_LIBS !
checking for daveConnectPLC in -lnodave... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking return type of signal handlers... void
configure: creating ./config.status
config.status: creating Makefile
config.status: creating drivers/Makefile
config.status: creating plcdrivers/Makefile
config.status: creating tvision/Makefile
config.status: creating acplt_ks/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

Вроде бы конфиг дал добро. INSTALL_PLC_LIBS я запускал, пишу дальше:
make
..
make all-recursive
make[1]: Entering directory `/home/sergey/asutp/visual/visual-0.1.2.pre4'
Making all in drivers
make[2]: Entering directory `/home/sergey/asutp/visual/visual-0.1.2.pre4/drivers'
g++ -Wno-deprecated -Wall -fPIC -DPIC -O2 -shared -rdynamic -o log_mysql6.so log_mysql6.o queue.o module.o -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
make[2]: *** [log_mysql6.so] Ошибка 1

Смотрю файл config.log
..
configure:4767: checking for mysql_real_connect in -lmysqlclient
configure:4797: gcc -o conftest -g -O2 conftest.c -lmysqlclient -lpthread -lncurses -lgpm -ldl >&5
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
..
configure:4840: WARNING:
*** no libmysqlclient found -- building without MySQL logger modules !
configure:4879: WARNING:
*** acplt not selected -- building without ACPLT server module.
configure:4910: checking nodave.h usability
configure:4922: gcc -c -g -O2 conftest.c >&5
In file included from conftest.c:71:
/usr/include/nodave.h:95:2: error: #error Fill in what you need for your OS or API.
In file included from conftest.c:71:
/usr/include/nodave.h:217: error: syntax error before 'char'
..
/usr/include/nodave.h:325: error: syntax error before '*' token
/usr/include/nodave.h:333: error: syntax error before '_daveOSserialType'
/usr/include/nodave.h:344: error: syntax error before 'initAdapter'
/usr/include/nodave.h:345: error: syntax error before 'connectPLC'
/usr/include/nodave.h:346: error: syntax error before 'disconnectPLC'

Похоже, что неполучается компилировать некоторые компаненты,
думаю нужен совет опытных копмиляторщиков.
Так же для проверки пишу:
locate mysqlclient
warning: locate: warning: database /var/lib/slocate/slocate.db' is more than 8 days old
warning: Please make sure the daily cron job is enabled in /etc/updatedb.conf
/usr/lib/mysql/mysqlclient
Тоже настораживает.
ЛЮДИ хелп. Грустный

Аватар пользователя hazard48

Re: SCADA для Linux

Поскольку тут заговорили о SCADA-системах. У меня есть вопросы. В нашей Компании сейчас разрабатывается кроссплатформенное инструментальное средство с функциями SCADA-пакета. В данный момент решается вопрос, не перевести ли разработку в модели Open Source.

Собственно вопросы:
Кому нибудь интересен такой SCADA пакет для применения?
Кто-нибудь готов участвовать в OpenSource разработке?

Аватар пользователя ZaySan

Re: SCADA для Linux

hazard48, писал

Цитата:
Собственно вопросы:
Кому нибудь интересен такой SCADA пакет для применения?

Интерес есть, хотение и даже рвение.
Я хотел скомпилировать почти готовый проект Visual и потом доработать напильником, но он сопративляется в самом начале.
Так что я тут весь, чем смогу... ;-)

Аватар пользователя DRVTiny

Re: SCADA для Linux

ZaySan, а как Вам вот эта программа: http://ktechlab.org ? Для чего-нибудь сгодится?

Аватар пользователя ZaySan

Re: SCADA для Linux

Цитата:
DRVTiny пишет:
ZaySan, а как Вам вот эта программа: http://ktechlab.org ? Для чего-нибудь сгодится?

Уважаемый, этот проект я видел под Вынь, и он меня неочень удовлетварил
некоторыми электротехническими ньюансами. Но всё равно спасибо. :thanks:

По поводу Visual, выяснил, что при ./configure конфигуратор неможет откомпилить тестовый кусок программы(mysqlclient ...real_connect) и
проставляет флаг в файл для make. Но сам make флаги частично игнорирует,
т.е. нужно скомпилить модули с номерами 1-9, а он (благодаря флагам)
обходит компиль только с 1 по 5, и нарывается на модуль намбер 6 и
ВСЁ стопориться.
Чего ему надо? :-?

И ещё, в догонку, в ASP v11 стоит mysql-4.1.16-1.FC4.1.i386.rpm. В обновлениях
есть mysql-4.1.20-1.FC4.1.i386.rpm. Разница в 100 кб, остальные файлы тоже
имеют различия. Так может мне mysql обновить? (хотя Visual древнее чем mysql)

Аватар пользователя ZaySan

Re: SCADA для Linux

Народ, я нарыл страницу http://plc.sourceforge.net/
там были Visual и SEA. Первый проект так и незавёл. А вот второй удалось оживить, он написан на Python`e, и его изучать придётся.
Продолжение следует.

Аватар пользователя ZaySan

Re: SCADA для Linux

Продолжаю работать над оживлением Visual. А именно его HMI через vga. Эта часть проекта
замерзла два года назад, наблюдается нестыковка libstdc++ и libg++. Правлю, пытаюсь
компилировать. О результатах скажу.

Аватар пользователя ks

Re: SCADA для Linux

Цитата:
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status

mysqlclient в asp11 имеется. Не так давно что-то с ним собирал. Может в configure нужно задать какой-нить
параметр типа '--with-mysclclient=blah-blah'? mysqlclient10-devel установлен?

Аватар пользователя I2000

Re: SCADA для Linux

Вот еще SCADA/Softlogic S3 для Linux, Solaris, Windows.
Работает везде, так как написано на Java.

При этом генерирует код для сетки QNX машин.

Недорогая, но не бесплатная -:(

www.s3.com.ua

Аватар пользователя LPS

Re: SCADA для Linux

Уже больше 10 лет используем Linux в АСУТП, информация здесь: http://xscada.narod.ru/

Аватар пользователя Atal

Re: SCADA для Linux

С 2003 года развивается открытая и бесплатная SCADA система OpenSCADA. Подробнее здесь: http://oscada.org/

Аватар пользователя Dertyg45

Re: SCADA для Linux

спасибо реально помогло

RSS-материал