2013-02-12 2 views
2

У нас есть Siemens PLC S7-300 с портом связи Ethernet. Какой тип java или другого кодирования языка доступен для получения данных фрейма plc.? этот ПЛК связывается только с программным обеспечением step-7.Как получить PLC S7-300 serial hexdata

Данные структуры кадра также могут хранить в xml некоторого текстового файла, чтобы мы могли непрерывно отправлять его в Интернет.

Пожалуйста, помогите мне

+0

Вы прочитали документацию производителя? – hoang

+0

LIBNODAVE: http://libnodave.sourceforge.net.Вы можете получить доступ к данным ПЛК S7 из C, C++, C#, Delphi, Pascal, Perl и VB. – avra

ответ

1

Существуют сторонние библиотеки, которые допускают это. В нашей компании мы используем Accon AGLink. Это родная библиотека, но она также предоставляет оболочку .NET. Библиотека довольно быстро. Вы также можете попробовать this one (indi.an PLCCom), который управляется, и не так быстро, но он имеет бесплатную версию.

В качестве альтернативы вы можете попробовать настроить сервер OPC и прочитать данные ПЛК с помощью OPC-клиента, но они несколько дороги.

+0

используя это, я получаю данные в каком формате ??? он хранит на каком-то файле и отправляет его в интернет .. или нет. !! – user2064028

0

Посмотрите Snap7, который написан на C, но со многими оберток и портов доступны, включая Python, Node.js, .NET, C#, Arduino и один в Java называется Moka7, так как вы спросил.

Из официальной документации:

Snap7 является открытым исходным кодом, 32/64 бит, мультиплатформенный свита связи Ethernet для взаимодействия изначально с Siemens S7 PLC. Кроме того, частично поддерживаются новые процессоры 1200/1500, старый S7200, небольшие диски LOGO 0BA7/0BA8 и SINAMICS.

Я предполагаю, что ваша установка состоит из процессора S7-300 с коммуникационным модулем CP 343. Для чтения данных из ЦП в системе должен быть запущен сервер S7 (настраивается через NetPro, внутри SIMATIC Manager, как описано в Siemens commissioning manual). Удаленный компьютер должен использовать клиентскую библиотеку Snap7.

Библиотека включает в себя функции для чтения различных областей памяти, например, процесса входов (I), технологических выходов (Q), Merkers (M), таймеры (Т) и счетчики (С), а также блоки данных общего назначения (БД). Если сервер включен и конфигурация не ограничена (например, для определенного IP-адреса), клиент должен иметь доступ по умолчанию, по крайней мере, к I, Q и M, а также к некоторым системным свойствам (например, к модели CPU и версия прошивки).

Для вашего случая в Java, посмотрите документацию Moka7, которая находится в том же download package. Для начала есть несколько примеров кода.

В случае успеха функция ReadArea вернет шестнадцатеричные данные указанных вами байтов (то есть позицию памяти для начала чтения и количество байтов). В качестве примечания, , помните, что большинство ПЛК Siemens являются big-endian, поэтому вам, возможно, придется сделать преобразование, если вы читаете области памяти, содержащие данные разных типов.