plc <=> usb kommunikáció

 ( brokerka | 2019. február 22., péntek - 18:59 )

Tisztelt fórumozók!

Érdekelne ki mit szól, mond, ajánl a következő feladat megoldásához.

Adott egy Mitshubishi FX3G PLC built-in usb porttal. S természetesen adott hozzá minden Windows-os földi jó, ami csak kell.
Kivéve Linux. Linuxhoz nincs semmi. Se driver, se programozó szoftver, semmi. (ha jól tudom)

A programozás része még éppen mindegy is lenne, de szeretném, ha a linux is szót tudna érteni a plcvel, legalább annyira, hogy adatot tudna beírni, illetve kapcsoló állapotot módosítani természetesen usb porton keresztül. Így lehetőség lenne linuxon, python, java, illetve közel bármilyen porogramnyelven felhasználónak kezelő felületet készíteni, vagy monitorozó porgramot írni. Jelenleg ez Windows és C# kombóval működik is szépen, hisz ott van a .NET1.0 es driver, vagy talán már 2.0s is, (MX Components 4)....de nagyon húz a szívem a windows mentesség irányába.

Találkozott-e, próbálkozott már valaki hasonlóval, esetleg tud rá megoldást?
Jelenleg ahhoz sem találok dokumentációt, hogy milyen parancsokat tudna értelmezni a PLC amit küldenék neki USB-n.
Persze adott lenne az USB kommunikáció rögzítése, kielemzése, de be kell valljam ilyen szinten (még) nem értek hozzá.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

1: .NET van Linuxon, nem reménytelen életre kelteni a programot ott is.
2: Másik PLC választása, ami szabadon hekkelhető dokumentált protokollokon keresztül. Ha például egyszerű otthonautomatizálási feladatokról van szó, akkor lehet egy Arduino alapú cuccot választani.

Pl:

https://www.industrialshields.com/home-industrial-shields-products-solutions-video-blog

Uh, Mono-ra nem is gondoltam, hogy megpróbáljam. Köszi a tippet, meg fogom nézni!

0. Kéne lsusb -vvvv -d PID:VID az eszközről
1. Van infód hogy Win-en milyen driver települ hozzá? CDC-ACM vagy HID vagy valami custom?

Bus 001 Device 006: ID 06d3:2870 Mitsubishi Electric Corp.

az lsusb kimenete

Vagy megevett valamit a fórum, vagy nem adtad meg a -vvvv opciót az lsusbnek.

USB-t elengedve és hozzá egy kommunikációs kártyát véve, pl.: Modbus (RS485), Ethernet már egy értelmes protokollal megvalósítható a memória írás és olvasás. Innentől kezdve csak program kérdése

+1
ha két év múlva iOS vagy Android kapcsolat kell, kezdheted elöröl az USB fejlesztést. Iparban érdemes standard protokolloknál maradni, Modbus TCP mindenhol elérhetö

Igen, ez egy valós alternatíva, nem kétséges. De ehhez hasonló bővítő kártyák a plchez több 10.000 forintok. inkább több 20.000-ek. Az USB meg adja magát,(built-in) és abból indulok ki, hogy maga a nagy Mitshubishi sem véletlen adja hozzá a C++, illetve VB-s minta alkalmazásokat, készít dokumentációt, stb stb. hogy akár még egy excel táblába is össze tudod szedetni vele azokat az adatokat amiket szeretnél viziualizálni. De ez mind Windows platformon történik.

Azt is vedd figyelembe, hogy tobbnyire a PLC a gyartosor mellett szokott lenni, a monitoroizalast vegzo szamitogep vagy a kezelofelulet (ha csak nem valami helyi control panel) pedig mashol. Az USB pedig (kulonfele konverterek nelkul) nem igazan megy tobb 10 meterig. Nezd meg a dokumentacioban, hogy mennyire javallott az USB-t folyamatos (24/7) kommunikaciora hasznalni.
Szerintem, az USB-t programozashoz valamint diagnosztizalashoz gondoltak el, vagyis laptoppal lesetalsz a gyartosor melle, USB-n racsatlakozol es nezed, hogy mi tortenik. Ha te ezt hasznalod monitorizalasra, akkor, problema eseten, valasztanod kell, hogy monitorizalsz vagy diagnosztizalsz.


Sic Transit Gloria Mundi

Ha a plc-ben van modbus/tcp, akkor tudok adni mintát linux alá.
Siemens és arduiono alá megoldottam és a linuxos oldal volt a könnyebb.

Valszeg a modbus/via serial is könnyen megoldható.

Itt van a modbus/tcp linux cliens.
A modbus_lib-et telepíteni kell és az -lmodbus meg kell adni a Makefile-ba. Természetesen a modbus.h-t is includolni kell.

> Sol omnibus lucet.

ps.: bocs a link lemaradt: https://pastebin.com/zLtpLdGy