Prázdný košík
Úvodní stránka
Přihlásit
Hledat 
 Control Web 8
 Ovladače pro Control Web
 DataLab
 DataCam
 DataLight
 Pro školy
 Ostatní software
 Control Web – předchozí verze
 Služby
 Školení

SAIA protokol S-Bus
 

SAIA protokol S-Bus

vyžaduje instalaci SW podpory firmy SAIA

Kód:CW-SSBUS
Cena pro integrátory (bez DPH):8 900 Kč
Koncová cena (bez DPH):9 900 Kč
Výrobce:Moravské přístroje
 
CELKEM
Vaše cena (bez DPH):
Celková cena (bez DPH):
*) Předpokládaná dostupnost se může lišit podle volitelných parametrů produktu. Předpokládaná dostupnost nezahrnuje dobu přepravy a jedná se o nezávazný údaj.

Ovladač SAIA slouží pro komunikaci mezi jednou nebo více stanicemi SAIA®PCD a systémem Control Web.

Ovladač SAIA slouží pro komunikaci mezi jednou nebo více stanicemi SAIA®PCD a systémem Control Web.

Vlastnosti ovladače

Ovladač umožňuje připojení jedné nebo několika stanic SAIA®PCD k systému Control Web. Ovladač používá standardní sériové rozhraní počítače nebo síťovou komunikaci TCPIP. Jedna instance ovladače používá jedno sériové rozhraní (COM port). Přes jedno sériové rozhraní může být připojeno více stanic (při použití rozhraní RS-485). V případě, že je potřeba připojit několik stanic přes různá sériová rozhraní, je nutno v aplikaci definovat více ovladačů. U komunikace TCPIP je možno použít jednu instanci ovladače pro spojení s několika stanicemi. Pomocí ovladače je možno číst nebo zapisovat data z registrů (R), časovačů (T), čítačů (C), binárních výstupů(O) a příznaků(F). Je možno přečíst nebo zapsat časový údaj (K) a dále je možno přečíst hodnoty binárních vstupů (I), registr displeje (D) a stav CPU (S). Všechny tyto hodnoty se přiřadí kanálům prostřednictvím definice v souboru parametrů ovladače. Ovladač má určitou množinu kanálů vyhrazenu pro speciální informace, proto doporučujeme, aby definované kanály začínaly od čísla 100. Registry (R) stanice je možno interpretovat různým způsobem. Jeden registr může obsahovat jednu, dvě, nebo čtyři číselné hodnoty různých typů, které se mapují do jednoho, dvou nebo čtyř kanálů (vždy typu real). Dále je možno s jedním registrem pracovat jako s jední kanálem typu boolean nebo s 32 kanály typu boolean.

Upozornění:

Ovladač potřebuje ke své činnosti programovou podporu firmy SAIA-Burgess. Tato podpora je zvláštní součástí instalace ovladače a instaluje se samostatně. Programovou podporu není třeba instalovat, pokud se již na počítači vyskytuje např. v rámci programovacích nástrojů PG5 od firmy SAIA-Burgess nebo jako součást některého OPC serveru.

Seznam sekcí:

Vlastnosti ovladače
Parametry ovladače
Přehled datových typů ovladače
Vyhrazené kanály ovladače

Parametry ovladače

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.

Poznámka:

U názvů sekcí a parametrů je třeba správně dodržet zápis velkých a malých písmen.

Sekce [ComPort]

V této sekci se nastavují parametry komunikace. Způsob zápisu parametrů a jejich možné hodnoty:

  [ComPort]
    DriverPath = <String>
    Com        = COM | SOCKET | PC104 | USB
    Device     = <Number>
    Protocol   = sbus | p800
    SBusMode   = parity | break | data
    PGU        = true | false
    BaudRate   = <Number>
    TsDelay    = <Number>
    TnDelay    = <Number>
    Timeout    = <Number>
ParametrVýznam
String

textový řetězec

Number

číselná hodnota.

Význam parametrů:

DriverPath

umožňuje nastavit cestu k souborům programové podpory firmy SAIA-Burgess v případě, že se tyto soubry nenajdou automaticky.

Com

určuje jméno komunikačního rozhraní. Hodnoty parametru jsou

COM - pro standardní sériový port

SOCKET - pro síťové rozhraní TCP/IP

PC104 - pro PC/104 komunikaci

USB - pro komunikaci přes USB

Device

udává číslo sériového rozhraní (má význam ve spojení s parametrem COM)

Protocol

definuje použitý komunikační protokol

SBusMode

nastavuje mód pro protokol S-BUS

PGU

nastavuje mód komunikace PGU na vybraném portu (parametr Com)

BaudRate

udává komunikační rychlost

TSDelay

definuje tzv.training sequence delay

TnDelay

definuje tzv. turnaround time

Timeoutudává dobu čekání na odpověď stanice

Poznámka: Hodnoty pro časová zpoždění a timeout se zadávají v milisekundách.

Sekce [Channels]

V této sekci se definují bloky kanálů ovladače. Jednotlivým datovým oblastem (media) ve stanici je možno přiřadit určitou skupinu kanálů. Blok je definován adresou stanice, intervalem kanálů, datovou oblastí ve stanici (media), počáteční adresou v dané oblasti a pro oblast registrů (R) ještě datovým typem. V případě použití obousměrných kanálů je možno definovat parametr bidirect, který zamezí vzniku kolizí při současném čtení i zápisu na stejný kanál - jsou vytvořeny dva zvláštní bloky, jeden pro čtení, druhý pro zápis.

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 (např. u protokolu S-BUS je možno přenést v jednom bloku maximálně 32 registrů). 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.

Poznámka:

Všechny numerické kanály musí být v aplikaci (a v souboru DMF) typu real. Ovladač automaticky provádí nezbytné konverze na ostatní typy použité v komunikaci se stanicemi.

Způsob zápisu parametrů a jejich možné hodnoty:

[Channels]
    Block = <Station>, <ChannelFrom>, <ChannelTo>, <Media>, <Offset> [, <SubType>] [, Bidirect] [;<Comment>] 
    Block = ...
    ...
ParametrVýznam
Station

adresa stanice. Je-li vybrán port SOCKET, je parametr Station kombinací čísla stanice, IP adresy a IP portu. Adresa stanice a IP adresa jsou odděleny znakem "@", IP port musí být oddělen od IP adresy dvojtečkou. IP port je nepovinný, je-li roven hodnotě 5050. Příklad zápisu IP adresy: 01@10.128.0.17:5051.

ChannelFrom

počáteční kanál bloku (číslo)

ChannelTo

poslední kanál bloku (číslo)

Media

oblast ve stanici (R,T,C,F,I,O,S,D,K)

Offset

adresa prvního elementu ve stanici odpovídající prvnímu kanálu bloku

SubType

datový typ pro oblast registrů (uint, int, bool, bits, float, uint16, int16, uint8, int8)

Bidirect

parametr určuje, že definovaný blok je určen pro čtení i pro zápis (bidirect). Není-li uveden, je možno z bloku číst nebo do něj zapisovat, ale při současném čtení a zápisu nemusí být do stanice zapsána správná data.

Comment

komentář začínající středníkem

Sekce [Options]

Tato sekce má jediný parametr - FinalizeAfterEachBlock. Pomocí tohoto parametru se zadává, jestli budou data předána do aplikace po každé komunikaci (hodnota parametru = true) nebo až po dokončení přenosu všech bloků, které se řeší v rámci daného časového kroku. Implicitní nastavení je false.

  [Options]
    FinalizeAfterEachBlock = false | true

Přehled datových typů ovladače

Media Typ Počet kanálů v registru Popis
R uint 1 32-bitová hodnota bez znaménka
R int 1 32-bitová hodnota se znaménkem
R float 1 32-bitová real hodnota
R uint16 2 dvě 16-bitové hodnoty bez znaménka
R int16 2 dvě 16-bitové hodnoty se znaménkem
R uint8 4 čtyři 8-bitové hodnoty bez znaménka
R int8 4 čtyři 8-bitové hodnoty se znaménkem
R bool 1 jedna boolean hodnota v jednom registru
R bits 32 32 boolean hodnot v jednom registru
T,C   1 32-bitová hodnota bez znaménka
F,I,O   1 boolean hodnota
S 1 stav CPU:
PCD_OFFLINE = 0
PCD_DISCONN = 1
PCD_RUN = 2
PCD_STOP = 3
PCD_HALT = 4
PCD_CRUN = 5
PCD_BADSTAT = 6
PCD_CSTOP = 7
PCD_TRACE = 8
PCD_FWBOOT = 9
D   1 obsah registru displeje
K 8 časový údaj, který se předává v 8 kanálech v pořadí:
týden roku
den týdne
rok
měsíc
den
hodina
minuta
sekunda

Datové typy ovladače

Vyhrazené kanály ovladače

Ovladač předává informace o stavu komunikace prostřednictvím zvláštních kanálů, které jsou mapovány do intervalu 1 až 100. Dojde-li k chybě komunikace, je vygenerována vyjímka ovladače a z jednotlivých kanálů je možno zjistit různé údaje, které blíže specifikují chybu. Kanál č.1 rozlišuje, jedná-li se o chybu při čtení nebo při zápisu. Skupina kanálů č.10 až 18 doplňuje údaje o chybě při čtení resp. 20 až 28 při zápisu.

Číslo kanálu - význam Typ kanálu Poznámka
Společné
1 - druh výjimky real input bit 0 = chyba při čtení
bit 1 = chyba při zápisu
Operace čtení
10 - adresa stanice real input  
11 - kód chyby real input  
12 - popis chyby string input v anglickém jazyce
13 - počet chyb real input  
14 - první kanál bloku real input  
15 - poslední kanál bloku real input  
16 - čtená oblast - media real input  
17 - nulování popisu chyby boolean output  
18 - nulování počtu chyb boolean output  
Operace zápis
20 - adresa stanice real input  
21 - kód chyby real input  
22 - popis chyby string input v anglickém jazyce
23 - počet chyb real input  
24 - první kanál bloku real input  
25 - poslední kanál bloku real input  
26 - zapisovaná oblast real input  
27 - nulování popisu chyby boolean output  
28 - nulování počtu chyb boolean output  

Vyhrazené kanály

Kódy oblastí (media) v PLC (kanál 16 a 26)

HodnotaVýznam
1

R

2

T

3

C

4

F

5

I

6

O

7

S

8

D

9

K

Kódy chyb - převzaty z původní dokumentace ke komunikační knihovně SCOMM32

  PCD_OK       =  0    Communications OK
  PCD_NAK      =  1    NAK response, command not accepted
  PCD_COMERR   =  2    Comms error, parity, framing or overrun 
  PCD_BCCERR   =  3    Invalid BCC or CRC, no other errors 
  PCD_INVALID  =  4    Invalid response 
  PCD_P8CONN   =  5    Bad connection between P800 and PCD6 
  PCD_NORESP   =  6    No response 
  PCD_NOCTS    =  7    Clear To Send signal not returned 
  PCD_NODCD    =  8    No Data Carrier Detect 
  PCD_INUSE    =  9    Port in use in another mode or baud rate 
  PCD_BADPARM  = 10    Bad parameter 
  PCD_VERIFERR = 11    PCD memory write verify error 
  PCD_OUTOFMEM = 12    IBM PC out of memory 
  PCD_WRONGCPU = 13    Physically connected to wrong CPU on PCD6 
  PCD_NOCPU    = 14    CPU not present 
  PCD_UNKNOWN  = 15    Unknown error 
  PCD_DIFF     = 16    Files & CPU don't compare
  PCD_CANTOPEN = 17    Can't open file 
  PCD_WRERROR  = 18    Error writing to file 
  PCD_RDERROR  = 19    Error reading file 
  PCD_BADFILE  = 20    Invalid absolute object file 
  PCD_CSERROR  = 21    PCD file checksum error 
  PCD_BADHDR   = 22    Invalid header in PCD 
  PCD_CODESIZE = 23    Code will not fit in memory 
  PCD_TEXTSIZE = 24    Text 
  PCD_EXTSIZE  = 25    Extension memory data 
  PCD_NOTINIT  = 26    Header not initialized 
  PCD_EPROM    = 27    Can't write to EPROM memory 
  PCD_CANCEL   = 28    Operation cancelled by user 
  PCD_NOTDEF   = 29    Block not defined 
  PCD_RUNNING  = 30    CPU must be in Stop or Halt 
  PCD_NOTPROG  = 31    CPU not programmed 
  PCD_NOPORT   = 32    COM port not present or in use by mouse 
  PCD_NOSTN    = 33    Can't connect to S-BUS station 
  PCD_NOCHGEXT = 34    Can't change size of extension memory 
  PCD_NOTOPEN  = 35    COM port is not open 
  PCD_TXERROR  = 36    WriteComm() failed (invalid nCid) 
  PCD_COMBUSY  = 37    Port request timeout 
  PCD_BADVER   = 38    Invalid MS-Windows version 
  PCD_TIMERS   = 39    Too many timers 
  PCD_LOCKED   = 40    Port is in use 
  PCD_ANSWERED = 41    Incoming call has just been answered 
  PCD_OFFHOOK  = 42    Incoming call is connected 
  PCD_ONHOOK   = 43    No incoming call 
  PCD_BUG      = 44    Fatal internal error 
  PCD_NOTSUP   = 45    Operation not supported by PCD F/W version 
  PCD_ALRDYDEF = 46    Station number already defined 
  PCD_EXTHDR   = 47    Not enough space for extended header 
  PCD_BADPWRD  = 48    Invalid password 
  PCD_EXTHDRCS = 49    Extended header checksum error 
  PCD_WRONGSTN = 50    Download to wrong S-BUS station
  PCD_WRONGFW  = 51    Download to PCD with wrong firmware

Příklad souboru parametrů pro komunikaci přes sériové rozhraní

[ComPort]
 DriverPath = C:\Program Files\Saia-burgess\SAIA Communication Driver\1.4
 Com = COM
 Device = 1
 Protocol = SBUS
 SBusMode = Parity
 BaudRate = 38400
 Timeout = 200
 PGU = false

[Channels]
 Block = 00,  100,  109, R,  0, int,  bidirect
 Block = 00,  110,  119, R, 10, int8, bidirect
 Block = 00,  200,  263, R,  0, bits, bidirect
 Block = 00,  900,  900, S,  0
 Block = 00,  901,  901, D,  0
 Block = 00,  910,  917, K,  0, bidirect
 Block = 00, 1000, 1007, O, 32, bidirect
 Block = 00, 1100, 1107, I, 32
 Block = 00, 1200, 1207, F,  0

Příklad souboru parametrů pro síťovou komunikaci

[ComPort]
 Com = SOCKET
 Protocol = SBus
 SBusMode = Parity
 BaudRate = 38400
 Timeout = 500

[Channels]
 Block = 0@10.128.0.17,  100,  109, R,  0, int,  bidirect
 Block = 0@10.128.0.17,  110,  119, R, 10, int8, bidirect
 Block = 0@10.128.0.17,  200,  263, R,  0, bits, bidirect
 Block = 0@10.128.0.17,  900,  900, S,  0
 Block = 0@10.128.0.17,  901,  901, D,  0
 Block = 0@10.128.0.17,  910,  917, K,  0, bidirect
 Block = 0@10.128.0.17, 1000, 1007, O, 32, bidirect
 Block = 0@10.128.0.17, 1100, 1107, I, 32
 Block = 0@10.128.0.17, 1200, 1207, F,  0