Ovládání PLC protokolem SSCP z jiného PLC

Protokol SSCP (Shark Slave Communication Protocol) je proprietální komunikační protokol systémů Mervis. Výhodou oproti Modbusu je vyšší rychlost předávání dat a možnost zabezpečené komunikace. Slouží ke konfiguraci, programování, či předávání dat. Právě předávání dat pomocí protokolu SSCP se věnuje následující návod. Konkrétně si ukážeme, jak nastavit dvě PLC, aby jedno bylo schopno ovládat druhé.

Axon
Neuron
Unipi 1.1

Co budeme potřebovat?

Vytvořte nový projekt Mervis IDE, nebo integrujte do vašeho stávajícího projektu. Postupujte dle následujícího návodu:

Projekt vytvořte ve Zjednodušeném módu a následně přepněte do Plného módu. Nyní připojíme k projektu první PLC. Klikněte pravým tlačítkem na PLC a zvolte Přiřadit PLC.

Dále k projektu připojíme druhé PLC. Klikněte na systém a zvolte přidat regulátor.

Pro přehlednost doporučujeme vždy vše pojmenovat:

  • První UniPi jako PLC_Master
  • Druhé UniPi jako PLC_Slave
  • Doporučujeme přejmenovat i automaticky vytvořené kanály (channel, channel_0) jako Modbus_TCP_m (master) a Modbus_TCP_s (slave)

Poté je třeba vytvořit program pro PLC_Slave. Klikněte pravým tlačítkem myši na projekt v pravém sloupci, konkrétně v odstavci Spustitelné projekty a vyberte Přidat a Přidat program. (pokud program vytváříte pomocí funkčních bloků, vytvořte program.fbd)

Program nazveme jako main_s. Automaticky vygenerovaný program main přejmenujte na main_m. Výsledek by měl nyní vypadat takto:

Nyní je nutné sestavu zkompilovat, aby se provedly potřebné změny v projektu. Je možné že Mervis IDE vypíše chybu při kompilaci, tu ignorujte a pokračujte dále v návodu.

Následně dvojklikem na PLC_Slave otevřete nabídku daného PLC. Zde do volného prostoru klikněte pravým tlačítkem a v nabídce vyberte přidat task.

V tuto chvíli namapujeme program do nového tasku z minulého kroku. Dvakrát klikněte na prázdné místo ve sloupci mapování programu a přiřaďte main_s. Změny uložte kliknutím na OK v červeném panelu.

Nyní je prostor pro vytvoření komunikačních kanálů a pro připojení dalších zařízení.
Příklad v následujících návodech:

Jakmile máte všechny komunikační kanály a jejich zařízení nastaveny, vytvořte další komunikační kanál a nazvěte jej SSCP_TCP. Následně ve Vlastnostech kanálu nastavte kolonku Protokol na SSCP.

Klikněte pravým tlačítkem myši na kanál SSCP_TCP a vyberte přidat zařízení.

Zařízení pojmenujte slave_PLC, označte jej a v pravém sloupci poté naleznete vlastnosti, zde je nutné v parametrech SSCP zařízení vybrat Zdrojovou podstanici a koncový bod Custom. Tím se objeví další potřebné nastavení. Všechny potřebné údaje naleznete ve vlastnostech PLC. Pro komunikaci po lokální síti nastavte:

Parametry TCP:

  • Adresa zařízení: Zde vyplňte IP adresu/doménu
  • Port zařízení: 12346*

*pro zabezpečenou komunikaci SSCP můžete od verze Mervis IDE/OS v2.3.0 použít port: 12347

SSCP parametry zařízení:

  • Adresa zařízení: vyplňte SSCP adresu
  • Uživatelské jméno: jméno uživatele PLC (alespoň Plné řízení)
  • Heslo: heslo uživatele PLC

Je také možné, aby spolu PLC komunikovaly pomocí SSCP i na značné vzdálenosti. V tomto případě je nutné nastavit proxy na PLC_Slave.

Pokud chcete použít proxy a již je na PLC nastavena, upravte následující parametry zařízení SSCP_TCP kanálu:

Parametry TCP:

*pro zabezpečenou komunikaci přes proxy můžete od verze Mervis IDE/OS v2.3.0 použít port: 12349

SSCP parametry zařízení:

Variantu s propojením přes proxy nedoporučujeme použít pro řízení, je vhodná například pro sběr dat z různých PLC do jednoho, které informace (např. teploty) dále zpracovává.

V zařízení SSCP vytvořte dvě skupiny, jednu na čtení a druhou pro zápis. Obdobně si je i pojmenujeme: Read_group, Write_group. Skupiny slouží pro čtení, nebo zápis několika datových bodů. Pro menší počet datových můžete použít pouze tyto dvě skupiny. U větších projektů, či přenosu většího počtu datových bodů je vhodné rozdělit skupinu na více menších, jedná se zde hlavně o skupiny k zápisu do PLC_Slave.

U skupiny Write_group je nutné nastavit Typ skupiny na WriteOnly

Klikněte někam do prostoru SSCP zařízení pravým tlačítkem myši a přidejte dva datové body.

Po označení datového bodu naleznete v pravém sloupci jeho vlastnosti. Jeden datový bod připojte ke skupině Read_group, druhý ke skupině Write_group. Oba pojmenujte podle použití. Pro účely návodu pojmenujte tyto datové body jako DI_1 a DO_1.

V tomto bodu použijeme Autogen, abychom vytvořily proměnné na datové body. Pravým tlačítkem klikněte na každé zařízení pro každý kanál a zvolte nastavit Autogen. Bližší informace v návodu Práce s autogenem.

Po vytvoření proměnných autogenem je nutné Zkompilovat sestavu. Je možné že Mervis IDE opět vypíše chybu při kompilaci, tu ignorujte a pokračujte dále v návodu.

Nyní je nutné zadat zdrojové proměnné pro každý datový bod v zařízení kanálu SSCP_TCP. Přejděte dvojklikem myší na slave_PLC do zařízení a označte datový bod DO_1. V pravém sloupci se zobrazí vlastnosti datového bodu. Zde vyhledejte SSCP parametry datového bodu, konkrétně kolonku zdrojová proměnná a klikněte na znak .

Pro DI_1 hledáme proměnnou DI_1.01 z PLC_Slave.

Stejný postup aplikujte i na datový bod DO_1. Jen zde zadejte jako zdrojovou proměnnou DO_1.01_w.

Nyní je již nastavení SSCP zařízení hotové. Proměnné můžete použít ve vašem programu main_m na PLC_Master.

Vytvořené proměnné vložte do programu main_m, ten se spouští na (PLC_Master). Datové body pro čtení z PLC_Slave (DI_1) vkládejte do levého sloupce pro vstupní proměnné. Pravá strana naopak slouží pro datové body určené k zápisu hodnot do PLC_Slave (DO_1).

Pro otestování se podívejte v prohlížeči proměnných, nebo můžete připojit vstup PLC_Slave na výstup PLC_Master a opačně:

  1. Přidáme proměnnou DI_1 (PLC_Slave) na vstup (vlevo) a proměnnou DO_1.01_w (PLC_Master) na výstup (vpravo) a propojíme
  2. Přidáme proměnnou DI_1.01 (PLC_Master) na vstup (vlevo) a proměnnou DO_1 (PLC_Slave) na výstup (vpravo) a propojíme

Po dokončení nastavení nahrajte sestavu do PLC.

  • Nyní je již vše nastaveno a obě PLC na vstup DI_1.01 reagují tak, že propisují hodnotu na výstup DO_1.01 druhého PLC.
  • Veškerá programová logika a nastavení se v tomto případě provádí v PLC_Master.
  • Zařízení PLC_Slave může zároveň vykonávat vlastní program. V tomto návodu však PLC_Slave slouží pouze jako externí modul.
  • Tímto způsobem lze předávat i programové proměnné, například pro sběr dat z teplotních čidel, aj.