PLC pro domácí použití

Re:PLC pro domácí použití
« Odpověď #30 kdy: 12. 02. 2021, 20:08:22 »
Ještě k populárnímu názoru, že RPi je nespolehlivé kvůli bootování z microSD karty... vedle konzumních MicroSD karet do telefonů a foťáků existují také karty určené pro "průmyslové" použití = jako bootovací disk. Měly by být trochu odolnější vůči náhlému vypnutí napájení - tím směrem jsou údajně laděné algoritmy firmwaru pro zápis, wear leveling apod. Taky wear leveling není standardní provedení pro FAT32 FS. (Nejsem nezávislý: prodáváme Innodisk.) V dnešní době už i MLC platí málem za "starou dobrou spolehlivou" technologii. Na výběr je dále košer SLC, a také "MLC flash provozovaná v režimu 1 bit na buňku", kteréžto technologii Innodisk přezdívá iSLC. MLC snese asi 2000 přepisů, iSLC asi 20k přepisů, klasická SLC asi 50k přepisů pokud se nepletu.

A dále je možnost se snažit, provozovat flashdisk v režimu read-only nebo alespoň read-mostly. Nevím jak Raspbian, ale klasický Debian lze k tomuto režimu poměrně snadno přesvědčit, například pomocí overlayfs. Pravda je, že jsem zatím nezkoušel drbat do initrd zrovna na malině.


Re:PLC pro domácí použití
« Odpověď #31 kdy: 12. 02. 2021, 22:06:55 »
Na kolik vyjde taková karta pro RPi, u které by člověk neměl mít obavu?

Chtěl bych se zeptat - jaká je v porovnání s normální SD kartou životnost eMMC na compute modulu CM4? Přijde mi, že pro vážnější použití je jeho formát podstatně vhodnější, než RPi4 s porty kolem dokola. Cenově s eMMC velice zajímavé, napojovací konektory jsou běžně dostupné za pár dolarů. Díky.

Re:PLC pro domácí použití
« Odpověď #32 kdy: 13. 02. 2021, 13:36:53 »
Za kartu Apacer AP-MSD04GCA-2HTM (<300 Kč za 4GB) bych dal ruku do velmi malého ohně :-)

Máme to nasazeno v RPi3 v consumer zařízeních (takže žádné zálohy napájení, vypínání shozením jističů, žádná údržba), za 4 roky naběháno asi 3000 device-years s celkem asi 5 závadami SD karty. Neumím jednoznačně určit, jestli za to mohlo skutečně selhání SD karty nebo např. kondenzace vody nebo elektrostatika (provozuje se to v hnusných podmínkách a sahají na to neproškolení pracovníci rukama).

Jsou to "SLC Lite", tj. MLC hardware provozovaný jako SLC (jak popisuje kolega iSLC výše) s troškou ECC a jiným wear-levelingem navíc. Linux nad tím je provozován v režimu read-mostly.

Re:PLC pro domácí použití
« Odpověď #33 kdy: 13. 02. 2021, 18:14:41 »
Za kartu Apacer AP-MSD04GCA-2HTM (<300 Kč za 4GB) bych dal ruku do velmi malého ohně :-)

Diky za informaci. Upresnis jeste jaky pouzivate file system? EXT4?  a "jak velky" je pocet zapisu?

Re:PLC pro domácí použití
« Odpověď #34 kdy: 13. 02. 2021, 20:49:45 »
Jeste jednou diky za vase tipy...

Zpetne jsem zjistil, ze v mych pozadavcich chybelo
  • RTC
  • Modbus pro budouci rozsireni
  • Montaz do rozvadece na TS listu tak, aby indikacni prvky cumely dirou na jistice a nelezly z toho zadne draty
  • Pristupny linux, abych si tam mohl resit i pripadne "nonPLC" veci, treba odesilani warningu mailem nebo SMS... Stahovani predpovedi pocasi...

Nakonec mi z toho vyslo bud Unipi Neuron (s RPI) https://www.unipi.technology/products/neuron-3

Nebo Unipi Patron (iMX8) https://www.unipi.technology/products/unipi-patron-374

Libi se mi na tom dostupnost linuxu a ze v obou pripadech jsou i interni IO pripojeny pres modbus.
Releove vystupy zvladaji spinat to co potrebuju (bohuzel chybi prepinaci/rozpinaci kontakt). Ze bych si musel prepajet rele? :) 230VAC vstupy to bohuzel nema, ale tech nepotrebuju moc, takze si bud udelam nebo koupim prevodnik. 1-Wire teplotu to cte primo.
Dalsi rozsirovani pres modbus bez potizi...

RTC je bohuzel zalohovane pouze kondenzatorem... Dira na CR2030 by je myslim nezabila.

Rozhodovani bude tezke, rozdil je asi jenom v tom ze neuron obsahuje RPI zatimco Patron je postaveny na iMX8. Vyhoda RPI je raspbian, nevyhoda SD karta.

Srdce hlasuje pro malinu... :)

P.S. Druhe misto obsadilo Micro 850 https://www.controltech.cz/cz/produkty/item/220-micro-800 Mimo 1-Wire ma vsechno co bych potreboval. O pristupnosti jsem se nedocetl nic, takze by to bylo omezene ciste na PLC ulohu. Montaz do rozvadece v mem pripade naprd.



Re:PLC pro domácí použití
« Odpověď #35 kdy: 13. 02. 2021, 23:17:53 »
Upresnis jeste jaky pouzivate file system? EXT4?  a "jak velky" je pocet zapisu?

/boot je vfat (vyžaduje to firmware RPi), zbytek je jeden btrfs oddíl se subvolumy (root, var, nějaké naše atd). Rootfs parametr Linuxu odkazuje na symlink, který ukazuje na aktivní verzi firmware (subvolume), takže upgrade/rollback je jen věcí přehození symlinku a reboot. Nové verze se distribuují jako btrfs send -p delty - takže jednak jde vzduchem málo dat, a jednak i ten zápis nové verze (celý rootfs) je šetrný, protože btrfs zapíše jen nové bloky. Mám tam potom vedle sebe třeba 10 plnohodnotných instancí (verzí) firmwaru, každá má podle du třeba 2 GB, ale karta je jen čtyřgigová a místa je zabráno třeba 2.2 GB :-)

V provozu to zapisuje jenom minimálně: / je ro, /var je rw ale normálně do něj nikdo nepíše, jen při bootu a otáčení systemd timerů se tam zapisují lockfily a další drobotina. Určitě to nejsou ani MB za den. Loguje se do /run/log, něco se vzduchem přenáší na server.

Vymyslel to kolega před pár lety, musel hodně bojovat aby nás přesvědčil, ale teď si už práci se squashfs+overlayfs nedovedu představit. Má to všechny výhody read-only modelů s těmi read-write - i to že můžu např. udělat zákaznickou úpravu něčeho bez komplikací (btrfs příkazem přehodím flag read-only) a dokonce se ta změna upgradem na novou verzi nepřepíše.

Re:PLC pro domácí použití
« Odpověď #36 kdy: 13. 02. 2021, 23:19:36 »
Na kolik vyjde taková karta pro RPi, u které by člověk neměl mít obavu?

...jednak se stydim, že tady cpu reklamu, druhak v těch cenách dělá trochu hokej ještě taky rozlišení provozních teplotních rozsahů (k vidění je 0..+70 nebo -25..+85 jako základ a -40..+85 jako rozšířený rozsah). MLC MicroSD začínají co do kapacity na 8 GB, zatímco SLC a iSLC na 4 GB. Plus mírná diskrepance mezi katalogem na veřejném webu výrobce, aktuálním ceníkem výrobce a naší historickou množinou modelů, které jsme vůbec kdy zalistovali... ale v zásadě pár příkladů, přibližně, ceny Kč bez DPH koncové za jeden kus:
MLC 8 GB základní rozsah teplot = 300,-  , rozšířený rozsah teplot 450,-
iSLC 4 GB základní rozsah teplot = 300,-
SLC 4 GB základní rozsah teplot = 1200,-  , rozšířený rozsah teplot 1400,-
A pravda je, že zrovna teď je v CN/TW nálada k citelnému zdražování :-(

Nejsem schopen příliš kvantifikovat, "o kolik" je průmyslová MicroSD karta lepší
než konzumní karta. Pokud PR masáž na webu výrobce nekecá, mají průmyslové karty wear levelingem důsledně krytu celou LBA kapacitu (konzumní karty mají důkladně ošetřen wear leveling jenom pro FAT tabulku) a Innodisk tvrdí, že tyto karty jsou cíleny právě jako boot disky v průmyslových počítačích.

Popravdě ale praktické zkušenosti mám s jinými mechanickými formáty flashdisků (2.5" SATA, CF / CFast, mSATA, M.2 apod.). Na MicroSDčka si nikdo dosud nestěžoval, takže jsem s nimi neřešil žádný průser, takže je vlastně neznám. A není to proto, že by se neprodávaly. Innodisk tvrdí, že jejich MicroSD karty podporují SMART. Bohužel na průmyslových PC nemám mnoho příležitostí, ten či onen model MicroSD karty osahat - protože naprostá většina našeho HW bootuje z jiných formátů disků. Vrtá mi hlavou SMART na SD rozhraní. Je fakt, že Innodisk má svou vlastní utilitu iSmart, která umí ukázat snad na všech řadách flashek statistiky počtu přepisů avg a max (interně patrně evidované per erase block, a nějakým způsobem dostupné skrz utilitu pod Windows ).

Jestliže běžné malé MLC-based SSD vydrží třeba pod Windows fungovat rok-dva kalendářního času (jako systémový disk), a zákazník se v tu chvíli naštve a přejde na iSLC, tak je obvykle od té chvíle klid, a za nějakých 10 let už nejspíš nikdo nebude řešit starý počítač a jeho flashku.

Taky máme extrémní příklad s nějakou scadou, která byla nakonfigurována,
aby si pořád dokola zálohovala okamžitý obraz vnitřního stavu (na bootovací flashku).
Tady vydrželo MLC SSD asi tři měsíce. Tušímže tam napříště šlo echtovní SLC.

Každopádně natočený počet přepisů je při reklamaci flashky první věc, kterou zkoumáme.
Je to jasný indikátor, co se s flashkou dělo a jaká je šance aby výrobce uznal záruku.

Chtěl bych se zeptat - jaká je v porovnání s normální SD kartou životnost eMMC na compute modulu CM4? Přijde mi, že pro vážnější použití je jeho formát podstatně vhodnější, než RPi4 s porty kolem dokola. Cenově s eMMC velice zajímavé, napojovací konektory jsou běžně dostupné za pár dolarů. Díky.

To je dobrá otázka... slýchám hlasy, že eMMC je "rozhodně spolehlivější než SD" a vídám eMMC na některých mladších boardech, včetně x86 hardwaru. Rozhodně to vypadá jako seriózní technologie. Na druhou stranu, "základní fyzika platí i tady pro každého", takže počet přepisů daný použitou variantou čipů (MLC/iSLC/SLC) bude představovat velmi podobné omezení. A ta subjektivní srovnání mohou srovnávat eMMC proti prašivé konzumní flashce = mohou být snadno zavádějící.

Pravda je, že eMMC je čip naletovaný onboard, takže by nemělo docházet k nekompatibilitám "SSD vs. motherboard". Prostě za ten celek nese zodpovědnost výrobce motherboardu. Ale zase z druhé strany, když zničíte eMMC na motherboardu, můžete prakticky vyhodit motherboard :-( kdežto udávené SDčko snadno nahradíte jiným kusem.

Re:PLC pro domácí použití
« Odpověď #37 kdy: 13. 02. 2021, 23:29:12 »
zrovna teď je v CN/TW nálada k citelnému zdražování :-(

Nám už sales rep Apaceru avizoval 20% plošně.

Re:PLC pro domácí použití
« Odpověď #38 kdy: 14. 02. 2021, 09:27:17 »
Jen pro zajímavost:
Kdysi, snad v nějaké ročence AR byl článek, že kdosi nebyl spokojený s PLC co ovládalo topení v bytovkách, tak si ubastlil ovládání ze starého PC, odrbal ho o všechno co nepotřeboval, nechal tam jen jednu disketovou mechaniku, přibastlil připojení I/O signálů a prý to fungovalo lépe než to původní.

xPoli

Re:PLC pro domácí použití
« Odpověď #39 kdy: 14. 02. 2021, 11:40:45 »
Můj postřeh k SD kartám a RPi: Nasadili jsme desítky RPi s běžnými Kingston SD kartami, dokud se to provozovalo s raspbianem v rw režimu, objevovaly se problém. Pak se přešlo na vlastní obraz odvozený od IPE2 distribuce provozované v režimu read-only, do RW se to přepíná jen při aktualizaci aplikace nebo pro zaznamenání kritické chyby, od té doby problémy s kartami spíš nebyly a pokud ano, nebyly způsobeny režimem karty, ale mechanicky - držáky v RPi1 (na velké SD karty) kartu nepodpírají uprostřed, prostřední kontakty pak byly "ve vzduchu". S microSD sloty tyto problémy nebyly.

Re:PLC pro domácí použití
« Odpověď #40 kdy: 14. 02. 2021, 12:03:54 »
Chlapi, díky moc za užitečné info. Vidím to na CP4 s eMMC a nějakou formu R/O. To řešení s btrfs je hodně moc zajímavé.

xPoli: co je prosím IPE2? Nějak se mi to nedaří dohledat. Díky.

xPoli

Re:PLC pro domácí použití
« Odpověď #41 kdy: 14. 02. 2021, 14:38:36 »
xPoli: co je prosím IPE2? Nějak se mi to nedaří dohledat. Díky.
koukám, že zdroj http://nutcom.hu/ipe2 je již neaktivní. Bylo to založeno na buildroot prostředí, vypadl z toho jeden soubor (image karty), který se pomocí dd hodil na SD kartu a karta byla připravená k použití. Poslední, co jsem k tomu dohledal u sebe v archivu je soubor IPE2builder-140122.tgz. Toto jsem bral jako výchozí inspiraci, přidával balíky, upravoval konfiguraci, připravený obraz na SD kartu pak obsahoval např. klíče k VPN, nastavení IP adresy...
Dnes bych se pro podobný projekt vydal asi spíš v diskuzi zmiňovanou cestou s použitím btrfs, ale v roce 2014/15 byla toto pecka, po zapnutí napájení bylo vidět GUI po cca 8s, plně funkční se sítí a USB po cca 12s.

Re:PLC pro domácí použití
« Odpověď #42 kdy: 15. 02. 2021, 09:38:07 »
Co si myslíte o tomto UniPi Gate?

https://www.unipi.technology/cs/content/predstavujeme-unipi-gate-kompaktni-a-vykonny-ethernet-rs485-prevodnik-pro-vas-projekt-389?identifier=news

Rád bych to využil jako Modbus RTU master pro pro Quido I/O desky. Dodávají to s předinstalovaným Linuxem s Node-red.
Rpi za 1/5 ceny by udělalo stejnou práci, ale hledám něco opravdu robustního co bude fungovat dlouhé roky a toto vypadá zajímavě.

Re:PLC pro domácí použití
« Odpověď #43 kdy: 15. 02. 2021, 11:14:15 »
Jen pro zajímavost:
Kdysi, snad v nějaké ročence AR byl článek, že kdosi nebyl spokojený s PLC co ovládalo topení v bytovkách, tak si ubastlil ovládání ze starého PC, odrbal ho o všechno co nepotřeboval, nechal tam jen jednu disketovou mechaniku, přibastlil připojení I/O signálů a prý to fungovalo lépe než to původní.

Obecně "lepší je nepřítelem dobrého". Lze jistě potkat řídící systémy, které byly původně navrženy podle nějakých kritérií (často dost důležitá je složitost, cena a "s čím dodavatel umí", a asi i jeho odborná erudice v oboru teorie řízení) a není nic divného, že ke konkrétnímu historickému systému přijde někdo druhý a udělá to líp :-)

V modrém Amáru pravidelně vycházely parádní rozsáhlé články všelijakých zapadlých vlastenců a géniů svého oboru (někdy nenápadných géniů, někdy uznávaných odborníků) na konkrétní témata. Mělo to svůj velký význam v dobách před převratem a asi i krátce po něm, kdy mělo smysl stavět si na koleně perpetum mobile z tuzemské součástkové základny, napříč několika obory (hardware, software, řídící systémy) a jednalo se obvykle o volnou tvorbu. Taky nebyl internet a pro mě osobně se jednalo o vítaný přísun informací a praktických řešení (přestože jsem v té době spíš ještě tahal kačera). Je to čtení mého mládí, na které mám nostalgické vzpomínky.

V dnešní době je celé MaR někde úplně jinde. Bavme se o "řízení procesů pomocí počítačů PC". Řekněme během devadesátých let a po přelomu století vykrystalizoval sortiment "karet rozhraní vstupů a výstupů pro MaR" do PC, a také externí moduly s komunikací po nějaké sběrnici... dřív po něčem sériovém, dnes spíš Ethernet a TCP/IP. Nejlevnější, jednoduchý a otevřený je v obojím případě nejspíš Modbus. Ještě na úrovni diskrétních digitálních a analogových signálů jsou k dispozici přizpůsobovací "signal conditioning" moduly (zvané též "bariéry"). Nad tím strom standardizovaného softwaru na tvorbu aplikací. SCADA, OPC, populární vývojová prostředí konkrétních výrobců, jejichž proprietární API ovladačů se stala de facto standardem... Je v tom docela dost know-how a je to do značné míry stavebnice. (Škoda, že není ještě víc otevřená.) Při dnešní ceně práce v podstatě nemá smysl takové věci bastlit pro jednorázové použití základními prostředky úplně na koleně = navrhovat plošáky, letovat, programovat v holém C apod. Celé odvětví se dávno ubírá spíše směrem skládání z té stavebnice, nebo nehezky řečeno "lepení z velkých hotových součástek".

Taky mi z dnešního pohledu přijde jako problematický postup "použít na to staré PCčko" - zejména ta disketovka je folklór, diskety byly ještě méně spolehlivé než zde probírané konzumní microSD karty :-) a obecně kancelářský hardware mívá omezenou životnost, ať už vlivem šetření na součástkách a konstrukci, nebo dokonce naschvál.

Mě osobně vrtá hlavou, jak stavět jakýkoli řídící systém tak, aby pro vlastníka/uživatele byl dlouhodobě údržbovatelný. Když původního tvůrce/dodavatele přejede tramvaj, tak aby někdo druhý dokázal řešit drobné poruchy jednotlivých součástek, případně do systému zasáhnout v případě potřeby rozšíření. Konkrétně platforma PC a její operační systémy znamenají pro dostupnost snadno záměnných náhradních dílů dost zásadní problém už v horizontu pár let. I v "průmyslové" branži s její dlouhou dostupností (produktovým životním cyklem) je třeba 10 let už dost problém - a to i v případě, že se snažíte systém poskládat "otevřeným systémem" z velkých součástek. Uživatel/vlastník systému by měl žádat po dodavateli nejen kompletní papírovou dokumentaci (schéma), ale taky zdrojáky :-( a veškeré instalačky a konfigurace a pokud je součástí běžícího systému nějaký PC-based operační systém, tak zálohu nastojato. A pokud se toto vyvíjí v čase, tak zálohu pokaždé novou, nebo nějaký verzovací systém atd... A teď to řešte, když máte třeba kotelnu v SVJ řízenou něčím takovým. Kdo v běžném SVJ tohle uhlídá?

Když k nám někdo přijde "tady potřebuju vyměnit starej počítač v řídícím systému, včera umřel, stojí výroba" tak pravidelně řešíme:
a) sehnat nový počítač, na kterém ještě pojede původní OS, a přestěhovat nastojato, případně s minimálními úpravami konfigurace OS
b) reinstalovat - ale v tom případě potřebujeme kompletní instalačky všeho softwaru, kompletní konfigurace, a v zásadě i nezanedbatelné know-how, jak to celé má pasovat dohromady...
Je to čím dál větší veselohra, a mám obavu, že s novými verzemi Windows (sedm, deset) bude ještě přituhovat v oblasti různých "licenčně daných technických omezení" - resp. ono už přituhuje, a to ještě nenastoupilo tvrdě UEFI.

Pokud bych to chtěl stavět jako důsledně otevřený systém, tak mám poměrně omezený výběr. Zejména pokud bych chtěl trvat na tom, že vstupy/výstupy mají být realizovány kartami uvnitř PC (třeba kvůli rychlosti). Konkrétně velký problém je, pokud by se mělo jednat o systém pro real-time řízení. Takového sortimentu je málo a prakticky není otevřený. Mimochodem pamatujete někdo software Procont ? Čím tohle nahradit... leda zcela volnou tvorbou třeba v linuxovém kernelu, mít zdrojáky, minimální "třecí plochu" s operačním systémem, a postupně to portovat do nových verzí kernelu. A další problém je, že zřejmě skončila doba, kdy I/O karty do PCI měly použitelnou dokumentaci na úrovni hardwarových registrů. Dneska dostanete ovladač a čau. A celé je to realizováno v FPGA (včetně PCI rozhraní) takže datasheety čipů taky nepomůžou - svůj vlastní ovladač si nenapíšete...

Pokud se týče real-time řízení, a pominu-li zakázkový vývoj HW+FW, tak leda použít nějaké vývojové prostředí pro PC, jehož součástí je "real-time execution" modul - tuším jsem takovou věci viděl u National Instruments (což je silná a tradiční značka proprietární stavebnice - jednak karty do PC, jednak mají svůj vlastní PC-based systém PXI šasi a karet).

Tahle civilizace na svoji složitost jednou dojede. Už zase.

Re:PLC pro domácí použití
« Odpověď #44 kdy: 15. 02. 2021, 14:50:51 »
...Mně osobně vrtá hlavou, jak stavět jakýkoli řídící systém tak, aby pro vlastníka/uživatele byl dlouhodobě údržbovatelný. Když původního tvůrce/dodavatele přejede tramvaj, tak aby někdo druhý dokázal řešit drobné poruchy jednotlivých součástek, případně do systému zasáhnout v případě potřeby rozšíření. Konkrétně platforma PC a její operační systémy znamenají pro dostupnost snadno záměnných náhradních dílů dost zásadní problém už v horizontu pár let. I v "průmyslové" branži s její dlouhou dostupností (produktovým životním cyklem) je třeba 10 let už dost problém...
Když raketoplán Space Shuttle už nějakou dobu lítal - psalo se, že v něm byly čtyři počítače co se vzájemně zálohovaly a ještě pátý na navigaci nebo tak něco - tak prý díly na údržbu a opravy těch počítačů sháněli po bazarech.