| 
  
  
    
      
      
      
         Ovladač má implementovány dva instrukční soubory, které přepíná
        podle nadefinovaného typu automatu v parametrickém souboru (viz dále).
        Dále nabízí volitelně všechny čtyři komunikační formáty podporované
        modulem A1SJ71C24 a přístup k dalším automatům prostřednictvím sítě
        MELSECNET/B. 
        Komunikace počítače s automatem
          
          
            Ovladač ke komunikaci používá dvou skupin instrukcí. První
            skupina je určena pro procesorové jednotky A1S, A1N, A2N, A3N
            (dále jen ACPU) a druhá pro řadu AnA, AnA-P21, AnA-R21, příp.
            modifikaci s příponou S1 (dále jen AnACPU). Volbu instrukčního
            souboru provádí ovladač podle uvedeného typu procesoru v
            parametrickém souboru. 
            Pro aplikaci umožňuje ovladač přenášet oběma směry celou
            datovou oblast automatu s výjimkou "file registers" označovaných
            zkratkou R. 
            Přístupný adresový prostor ACPU
              
              
                
                  
                   
                    
                      | Bit device | 
                      Word device | 
                     
                    
                      | Input X | 
                      X0000 - X0255 | 
                      Timer (present value) T | 
                      TN000 - TN255 | 
                     
                    
                      | Output Y | 
                      Y0000 - Y0255 | 
                      Counter (present value) C | 
                      CN000 - CN255 | 
                     
                    
                      | Internal relay M | 
                      M0000 - M2047 | 
                      Data register D | 
                      D0000 - D1023 | 
                     
                    
                      | Latch relay L | 
                      L0000 - L2047 | 
                      Link register W | 
                      W0000 - W1023 | 
                     
                    
                      | Step relay S | 
                      S0000 - S2047 | 
                      Special register D | 
                      D9000 - D9255 | 
                     
                    
                      | Link relay B | 
                      B0000 - B1023 | 
                        | 
                        | 
                     
                    
                      | Annunciator F | 
                      F0000 - F0255 | 
                        | 
                        | 
                     
                    
                      | Special relay M | 
                      M9000 - M9255 | 
                        | 
                        | 
                     
                    
                      | Timer (contact) T | 
                      TS000 - TS255 | 
                        | 
                        | 
                     
                    
                      | Timer (coil) T | 
                      TC000 - TC255 | 
                        | 
                        | 
                     
                    
                      | Counter (contact) C | 
                      CS000 - CS255 | 
                        | 
                        | 
                     
                    
                      | Counter (coil) C | 
                      CC000 - CC255 | 
                        | 
                        | 
                     
                   
                 
              
            
            Přístupný adresový prostor AnACPU
              
              
                
                  
                   
                    
                      | Bit device | 
                      Word device | 
                     
                    
                      | Input X | 
                      X00000 - X02047 | 
                      Timer (present value) T | 
                      TN0000 - TN2047 | 
                     
                    
                      | Output Y | 
                      Y00000 - Y02047 | 
                      Counter (present value) C | 
                      CN0000 - CN2047 | 
                     
                    
                      | Internal relay M | 
                      M00000 - M08191 | 
                      Data register D | 
                      D00000 - D06143 | 
                     
                    
                      | Latch relay L | 
                      L00000 - L08191 | 
                      Link register W | 
                      W00000 - W04095 | 
                     
                    
                      | Step relay S | 
                      S00000 - S08191 | 
                      Special register D | 
                      D09000 - D09255 | 
                     
                    
                      | Link relay B | 
                      B00000 - B04095 | 
                        | 
                        | 
                     
                    
                      | Annunciator F | 
                      F00000 - F02047 | 
                        | 
                        | 
                     
                    
                      | Special relay M | 
                      M09000 - M09255 | 
                        | 
                        | 
                     
                    
                      | Timer (contact) T | 
                      TS0000 - TS2047 | 
                        | 
                        | 
                     
                    
                      | Timer (coil) T | 
                      TC0000 - TC2047 | 
                        | 
                        | 
                     
                    
                      | Counter (contact) C | 
                      CS0000 - CS2047 | 
                        | 
                        | 
                     
                    
                      | Counter (coil) C | 
                      CC0000 - CC2047 | 
                        | 
                        | 
                     
                   
                 
              
            
            V oblastech "Special relay" a "Special register" jsou některé
            části chráněny proti zápisu. Ovladač tuto ochranu nepodporuje,
            tzn. pokud aplikace provede zápis do této zóny, dojde k chybě
            komunikace. 
            Komunikace je odvozena od vzniku požadavků v aplikačním
            programu v Control Webu. Požadavky na čtení vznikají při přečtení
            kanálu nějakým přístrojem a požadavky na zápis analogicky při
            zápisu hodnoty na výstupní kanál. Z toho vyplývá, že ovladač
            komunikuje pouze požadovaná data s určitou optimalizací na počet
            zpráv (např. je-li požadavek na čtení D10 a D12, ovladač přečte
            jedinou zprávou oblast D10 - D12, tedy včetně D11). Z tohoto
            důvodu jsou také oblasti označené jako "bit device" čteny po
            slovech, tzn. po 16-ticích. Zapisování ale probíhá samozřejmě
            jednotlivě anebo po souvislých oblastech, které jsou označeny pro
            zápis. 
            Odpověď automatu lze zpozdit o časový interval, který je
            uvedený v definici automatu. Velikost intervalu může být 0 .. 150
            msec zaokrouhleno na celé desítky. 
            Při nasazení ovladače v síti s počítači řady FX, je přípustný
            adresový prostor změněn dle rozsahu automatu Mitsubishi
            MELSEC-FX2N (viz násl. tabulka) 
            
              
               
                
                  | Bit device | 
                 
                
                  | Input X | 
                  X000 - X377 | 
                 
                
                  | Output Y | 
                  Y000 - Y377 | 
                 
                
                  | Internal relay M | 
                  M0000 - M3071 | 
                 
                
                  | Special relay M | 
                  M8000 - M8255 | 
                 
                
                  | Step relay S | 
                  S000 - S999 | 
                 
                
                  | Timer T | 
                  T000 - T255 | 
                 
                
                  | Counter C | 
                  C000 - C199 | 
                 
                
                  | Counter C | 
                  C200 - C255 | 
                 
                
                  | Data register D | 
                  D0000 - D7999 | 
                 
                
                  | Special register D | 
                  D8000 - D8255 | 
                 
               
             
          
        
        Komunikační formáty
          
          
            Volba se provádí uvedením čísla formátu v parametrickém souboru
            a přepínačem na komunikačním modulu. Nastavení na obou místech
            musí být samozřejmě totožné. Varianta na přepínači modulu "noform"
            (bezprotokolová komunikace) není v ovladači implementována. 
          
        
        Statistika komunikace
          
          
            Ve stavových kanálech ovladač nabízí základní statistiky o
            průběhu komunikace. Číslo prvního stavového kanálu (ČPrStK) se
            uvádí v parametrickém souboru při definici automatu. 
            
              
               
                
                  | Číslo kanálu | 
                  Typ | 
                  Směr | 
                  Popis | 
                 
                
                  | 1 | 
                  boolean | 
                  output | 
                  enable driver ( false zablokuje ovladač ) | 
                 
                
                  | ČPrStK | 
                  real | 
                  input | 
                  chybový kód ( viz. násl. tabulka ) | 
                 
                
                  | ČPrStK + 1 | 
                  real | 
                  input | 
                  počet přijatých zpráv | 
                 
                
                  | ČPrStK + 2 | 
                  real | 
                  input | 
                  počet odeslaných zpráv | 
                 
                
                  | ČPrStK + 3 | 
                  real | 
                  input | 
                  počet chyb při čtení dat | 
                 
                
                  | ČPrStK + 4 | 
                  real | 
                  input | 
                  počet chyb při zápisu dat | 
                 
                
                  | ČPrStK + 5 | 
                  boolean | 
                  output | 
                  spuštění automatu | 
                 
                
                  | ČPrStK + 6 | 
                  boolean | 
                  output | 
                  stop automatu | 
                 
               
             
          
        
        Poruchová hlášení
          
          
            Poruchový kód je nastavován do prvního stavového kanálu dle
            následující tab. 
            
              
               
                
                  | Kód | 
                  Význam | 
                 
                
                  | 0 | 
                  komunikace proběhla v pořádku | 
                 
                
                  | 0FH | 
                  ovladač je v stavu SLEEP | 
                 
                
                  | 10H | 
                  chybná adresa stanice v přijaté zprávě | 
                 
                
                  | 11H | 
                  chybná adresa automatu v přijaté zprávě | 
                 
                
                  | 12H | 
                  chyba kontrolního součtu | 
                 
                
                  | 13H | 
                  chybí ukončovací znak CRLF ve zprávě | 
                 
                
                  | 14H | 
                  chybí ukončovací znak ETX ve zprávě | 
                 
                
                  | 15H | 
                  chyba nedodržení protokolu ve zprávě | 
                 
                
                  | 16H | 
                  chybový kód automatu (dle dokumentace ke komunikační
                  jednotce tab. 12.1); k přijatému chybovému kódu je přičteno
                  50H | 
                 
                
                  | FFH | 
                  time out | 
                 
               
            Poruchová hlášení  
          
        
        Parametrický soubor
          
          
            Pomocí souboru parametrů je možno nastavit parametry komunikace
            a definovat kanály ovladače, popřípadě nastavit další doplňující
            parametry. Celý soubor parametrů je rozdělen do několika sekcí.
            Název sekce je uveden v hranatých závorkách. V sekci jsou uvedeny
            za jménem a znakem "=" jednotlivé parametry. Na jednom řádku může
            být definován jeden parametr. 
            
            Sekce [comm]
              
              
                Tato sekce slouží k nastavení parametru komunikace.
                Podrobný popis je uveden v dokumentaci ovladače ASCDRV, který
                je součástí systému Control Web. 
                Příklad: 
                  
                  [comm]
baudrate = 9600
parity = none
databits = 8
stopbits = 1
rx_buffer = 1152
tx_buffer = 1152
rx_frame_buffer = 1152
tx_frame_buffer = 1152
cts_flow = false
dsr_flow = false
dtr_control = disable
rts_control = disable
dsr_sense = low
rx_interchar_timeout = 5
rx_char_timeout = 5
rx_timeout = 2
tx_char_timeout = 2
tx_timeout = 2 
                Příklad definice parametru sériové komunikace přímo
                  v souboru parametrů ovladače galaxy: 
                
              
            
            Sekce [Melsec]
              
              
                Tato sekce obsahuje parametry, které slouží ke
                  konfiguraci ovladače z hlediska řízení komunikace mezi
                  počítačem a ústřednou. Následuje jejich výčet a
                  popis: 
                  
                  ComDriver Parametr definuje jméno ovladače
                  sériového rozhraní a jméno komunikačního portu. Pro
                  standardní rozhraní počítače COM1 až COM4 je použit
                  systémový ovladač CWCOMM.DLL a COM1 až COM4.  
                  Timeout Parametr definuje dobu čekání ovladače
                  na odpověď podřízené stanice. Nepřijde-li do této doby
                  odpověď požadavek se opakuje podle parametru NumRepeat.
                  Nedojde-li ani poté odpověď je hlášena chyba komunikace.
                  Tento údaj se zadává v milisekundách.   
                  NumRepeat Parametr udává počet opakování po
                  neúspěšné komunikaci. Je-li nastaven na 0, požadavek se
                  neopakuje (vykoná se tedy pouze jednou). Implicitní hodnota
                  je 2. Maximální hodnota je 5.  
                  Debug Pomocí tohoto parametru je možno zapnout
                  výpisy průběhu komunikace a povolit zobrazovaní stavu
                  ovladače v okně ovladače.  
                  DebugOutput Pomocí tohoto parametru se provádí
                  nastavení jména souboru pro ladicí výpisy. Pokud není
                  uvedena celá cesta, je soubor založen v adresáři systému
                  Control Web. Implicitně je to soubor
                  'galaxy.log'.  
                  InitDisable Tento parametr zablokuje činnost
                  ovladače při startu aplikace obdobně jako kanál č. 1.
                  Použitím tohoto kanálu je možné v průběhu aplikace ovladač
                  opět spustit.  
                  ReadBack Aktivace tohoto parametru způsobí, že
                  algoritmus příjmu zpráv očekává zpětné přijetí odeslaných
                  dat při použití sériového rozhraní RS485. Některé převodníky
                  RS485 tuto funkci provádí automaticky a není nutné tento
                  režim aktivovat.  
                  Prefer Pomocí tohoto parametru se dá měnit
                  priorita řazení požadavků na komunikaci. Přípustné jsou
                  hodnoty read, write, change, none. V případě nastavení
                  hodnoty none není nijak specifikována priorita řazení a
                  ovladač provádí komunikaci dle svého uvážení. Nastavení
                  write nebo read zprioritní požadavky na zápis nebo čtení.
                  Při volbě change jsou střídavě řešeny požadavky na zápis a
                  na čtení dat.  
                 
                Způsob zápisu parametru v sekci [Melsec] a jejich možné
                hodnoty: 
                [Melsec]
  ComDriver = <ComDrvName>, <ComPort>
  Timeout = <Number>
  NumRepeat = <Number>
  Debug = true | false
  DebugOutput = <String>
  InitDisable = true | false
  ReadBack = true | false
  Prefer = read | write | change | none
<Number> - číselná hodnota, při použití hexadecimálního zápisu uveďte za číslem znak H 
<ComDrvName> - jméno DLL knihovny, která zprostředkovává komunikaci přes sériové rozhraní, standardně CWCOMM 
<ComPort> - jméno sériového rozhraní (COM1, COM2, ...) 
                Příklad: 
                  
                  [Melsec]
ComDriver = cwcomm, com2
Timeout = 1000
NumRepeat = 1
Debug = true
DebugOutput = TRACE.TXT
InitDisable = false
ReadBack = false
Prefer = read 
                Příklad parametrů v sekci [Melsec]: 
              
            
            Sekce [Controllers]
              
              
                V této sekci se definují připojené automaty s jejich
                parametry a komunikované datové oblasti. Uvedením klíčového
                slova Controller je zahájena definice parametrů a datových
                oblastí daný automat až do konce souboru nebo výskytu dalšího
                klíčového slova Controller. Základní parametry automatu jsou
                uvedeny hned za tímto klíčovým slovem a to v rozsahu: 
                Controller = <CPU>, <adr>, <st>, <prt>, <wt>, <st> 
                | Parametr | Význam | 
|---|
 | CPU | verze procesorové jednotky "A1S" pro skupinu ACPU,
                  "AnA" pro skupinu AnACPU nebo "FXnet" pro řadu FX.  |  | adr | adresa přijímací stanice ( PC musí mít hodnotu 255
                  )  |  | st | adresa automatu   |  | prt | číslo 1..4 pro volbu protokolu ( protokol 3
                  nepodporuje RS485 )  |  | wt | zpoždění odpovědi automatu 0..150 v
                  milisekundách  |  | st | číslo prvního stavového kanálu  |  
  
                Za definicí kontroleru může následovat aktivace 'sleep
                modu' nebo definice datových oblastí. Je-li aktivován sleep
                režim klíčovým slovem SleepMode, chová se ovladač tak, že
                pokud od daného automatu dojde bezprostředně za sebou
                "num_timeouts"-krát k chybě timeout, přestane se pokoušet
                navázat spojení s daným automatem po dobu uvedenou v parametru
                "sleep_time" ( čas se uvádí v sekundách ). 
                SleepMode = <sleep_time>, <num_timeouts> 
                Definice přístupných datových oblastí je prováděna zápisem
                Block dle následujícího předpisu: 
                Block = <chan>, <dev1>, <dev2>, <typ> 
                | Parametr | Význam | 
|---|
 | chan | číslo prvního kanálu  |  | dev1 | počátek datové oblasti ( D125, M48, ...; pro bitové
                  registry musí být číslo zarovnáno na celistvé násobky 16
                  )  |  | dev2 | konec datové oblasti  |  | typ | typ dat (viz. nasl. kap.)  |  
  
                Při deklaraci sekcí je třeba dbát, aby nedošlo k překrývání
                kanálu ( tzn. číslo prvního kanálu následující sekce musí být
                alespoň o jedničku větší než je součet čísla prvního kanálu a
                počtu kanálů v sekci předcházející, počet kanálů je dán
                velikostí datové oblasti a zvoleného typu dat ). 
                Z pohledu komunikace představuje jeden blok maximální
                celistvý úsek, který se dá přenést najednou v rámci jedné
                komunikace se stanicí. Použitý komunikační protokol tuto
                hodnotu dále upravuje. Bude-li definován delší blok než je
                možno přenést najednou a budou-li zadány požadavky na čtení
                nebo zápis všech kanálů bloku, rozpadne se komunikace na
                několik částí tak, aby byla všechna data přenesena. 
                
                Způsob zápisu parametrů a jejich možné hodnoty: 
                [Controllers]
    Controller = <TypCPU>, <PCNumber>, <StationNumber>, <Protocol>, <WaitTime>, <FirstStatChan>
     [SleepMode = <SleepTime>, <NumTimeouts>]
      Block = <Chan>, <BeginDevice>, <EndDevice>, <DataType>
      Block = ...
   [Controller = ...
    ...
<TypCPU> - typ procesoru - A1S | AnA | FXNet 
<PCNumber> 
<StationNumber> - adresa, číslo v rozsahu 0 až 255 ( 0 až 0FFH ) 
<Protocol> - typ komunikačního protokolu, číslo v rozsahu 1 až 4 
<WaitTime> - doba zpoždění odpovědi automatu, číslo v rozsahu 0 až 150 
<FirstStatChan> - číslo prvního kanálu se statistikou o komunikaci 
<SleepTime> - doba spánku ve 'sleep módu' v sec 
<NumTimeout> - počet chyb typu timeout pro přechod do 'sleep módu' 
<Chan> - číslo prvního kanálu pro definovaný datový blok 
<BeginDevice> 
<EndDevice> - označení počátku a konce datové oblasti 
<DataType> - datový typ pro reprezentaci datové oblasti
                Příklad: 
                  
                  [Controllers]
Controller = A1S 0 0FAH 4 60 1000
  Block = 100,  D0,  D50,  W
  Block = 200,  D50, D90,  LI
Controller = AnA 2 0FBH 4 60 1000
  Block = 500,  D0,  D50,  W
  Block = 600,  D50, D90,  LI
  Block = 700,  M0,  M160, B 
                Příklad parametrů v sekci [Channels]: 
                Datové typy a jejich konverze
                  
                  
                    Ovladač nabízí typizaci dat uložených v paměti automatu
                    a jejich konverzi do příslušné prezentace v počítači.
                    Ovladač má implementovány následující typy: 
                    
                      
                       
                        
                          | klíčové slovo | 
                          typ | 
                          velikost (bytes) | 
                          poznámka | 
                         
                        
                          | B | 
                          boolean | 
                          1 bit | 
                            | 
                         
                        
                          | S | 
                          byte | 
                          1 | 
                            | 
                         
                        
                          | SI | 
                          short int | 
                          1 | 
                            | 
                         
                        
                          | SB | 
                          byteBCD | 
                          1 | 
                          celočíselný byte kódovaný v BCD kódu | 
                         
                        
                          | W | 
                          word | 
                          2 | 
                            | 
                         
                        
                          | WI | 
                          integer | 
                          2 | 
                            | 
                         
                        
                          | WB | 
                          wordBCD | 
                          2 | 
                          celočíselné slovo kódované v BCD kódu | 
                         
                        
                          | L | 
                          doubleword | 
                          4 | 
                            | 
                         
                        
                          | LI | 
                          longint | 
                          4 | 
                            | 
                         
                        
                          | LB | 
                          longBCD | 
                          4 | 
                          celočíselné dvojslovo kódované v BCD kódu | 
                         
                       
                     
                    Podle volby typu jsou potom reprezentována v ovladači
                    přijatá data a je zajištěna konverze do prezentace pro
                    Control Web. Číselné typy jsou převáděny na real a logické
                    typy na boolean. 
                  
                
              
            
            *.DMF soubor
              
              
                Soubor s definicí kanálů pro Control Web musí korespondovat
                s nastavením v parametrickém souboru a ctít datovou
                konverzi. 
              
            
          
        
      
    
  
 |