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.