V parametru timer přístrojů nebylo
možné použít kvalifikovaný identifikátor konstanty, protože při
přechodu do grafického editoru došlo ke ztrátě
kvalifikátoru.
Při selektivním zapínání a vypínání systémového
zálohování elementů (pomocí atributu backuped
elementů) docházelo k přenosu informace
o zapnutí/vypnutí do jiných elementů, které se pak chovaly
jinak (buď se zálohovaly když neměly, nebo se nezálohovaly,
přestože měly).
Bylo opraveno několik chyb při přenosu datových elementů
mezi sdílenými sekcemi (odeslání změněných dat klientům až při
druhé změně, možný pád systému při použití místních sekcí,
chybějící testování shodnosti druhu elementů u spojení
místních sekcí, trvalé zapamatování hodnot dovážených konstant
z prvního připojeného serveru v sekcích not_required,
zpožděné — při nečasování aplikace
zastavené — předávání hodnot elementů při
změně na serveru, pád systému při vzdáleném dovozu not_required
konstant, pád systému při spojení se serverem bez datových
elementů, občasná runtime chyba při volání vzdálené
funkce).
Bylo opraveno několik problémů při spojování modulů
(místní dovoz modulu nenašel server, volání procedur bez
návratové hodnoty nepřenášelo všechny parametry, jména
dovážených modulů nesměla obsahovat jiná než malá písmena,
server mohl spadnout při klienstkém volání procedury
s parametrem var).
Editor systémových záložních souborů chybně upravoval
hodnoty elementů, pokud v dané sekci nebyly některé
elementy zálohovány.
Paleta přístrojů se při změně pohledu (z kategorií
přístrojů na knihovny přístrojů a naopak) ne vždy správně
přeskupí.
Byla opravena chyba vykreslování přístroje
tab_switch.
Byly opraveny chyby při zobrazování čísel pomocí masky
(atribut či parameter mask) (chybné zobrazení
zaokrouhlených záporných čísel, chybné zobrazení čísel
v exponenciálním tvaru, chybné zaokrouhlení celého
čísla).
Přístroj control v módu count_box
se nepřesně přizpůsoboval velikosti fontu.
Přístroj string_switch bez definice selected
položky nastavoval při startu aplikace náhodnou
položku.
Volání procedury SetValue přístroje
string_control nepřidalo nastavenou hodnotu do
historie přístroje.
Použití událostní procedury OnIndex
přístroje string_switch mohlo vést k pádu
systému.
Nástroj zarovnání vývojového prostředí chybně zarovnával
pozice přístrojů registrovaných v různých
vlastnících.
Některé kombinace zadání přístupových práv
k souborům v přístroji httpd
nepracovaly správně.
Bylo opraveno několik chyb v inspektoru ovladače
(chybné čtení parametrů z PAR souboru při nekonstantním
jméně parametru, chybná práce s neznámými sekcemi, chybné
vytváření vyžadovaných sekcí v některých
situacích).
Byly opraveny chyby při generování definice proměnných
typu buffer.
Byla opravena chyba při editaci atributu backuped
datového elementu.
V atributu timer archivní sekce se
ztrácel offset, pokud byl současně definován atribut archive_timer
bez offsetu.
Nepracoval zápis do atributu value_boolean
řetězcových elementů.
Pokud bylo v aplikaci více ovladačů, nebylo možné
používat přímé kanály se stejným číslem kanálu pro více ovladačů
najednou.
Při definici parametru root_dir přístroje
httpd jako plné cesty s malým písmenem
označení disku přístroj nevracel klientům soubory
z disku.
Pokud během čekání na doměření (na dokončení zápisu)
ovladač jednou notifikací oznámil změření jen části kanálů,
přestal Control Web na další nezměřené kanály
čekat. Kanály tak byly v rozporu se specifikací doměřeny
později asynchronně.
Byla opravena chyba v přístroji
data_viewer, která mohla při zobrazování datových
elementů bez historie (proměnné, kanály) způsobit, že se graf
náhodně přestával zobrazovat.
V procedurách StringToDate přístroje
date byly opraveny dvě chyby (procedury bez
parametru Format nepracovaly vždy správně, použití
návratové hodnoty vedlo k chybě za běhu aplikace).
Byla ošetřena chyba v grafických ovladačích NVidia,
která se při použití objektů se skrytými zadními stranami
povrchů ve scéně projevovala náhodnými nejistotami při výběru a
označování objektů myší. Některé objekty nemusely jít myší
vybrat.
Byla ošetřena chyba v grafických ovladačích NVidia.
Při kombinaci objektů vykreslovaných shaderem a alfa testovanych
povrchu (s průhlednosti definovanou alpha kanálem textury)
v jedné scéně mohlo na kartách NVidia docházet ke zpomalování
běhu aplikace či restartu počítače vlivem zhroucení grafického
ovladače.
Bylo opraveno nepřesné vykreslování prostorových stínů,
které vznikalo na bumpmapových površích vykreslovaných shaderem
při současné přítomnosti mlhy ve scéně. Bez zamlžení se stíny
i na těchto površích vykreslovaly správně.
Nastavení globálního parametru lines_smooth
v sekci 3d_settings se neuplatňovalo, čáry
byly vždy antialiasované.
Bylo opraveno několik chyb při zobrazování dat
v přístroji alarm_viewer (chybné potvrzování
alarmů, chybný výpis stavů alarmu při prohlížení
historie).
Byla opraveno několik chyb synchronizace serverů (při
zapojení více jak dvou synchronních sekcí mohlo opakovaně
docházet k rychlému přepínání aktivity mezi jednotlivé
servery; při vysokém zatížení systému s jedním serverem
mohlo dojít ke ztrátě aktivity bez možnosti stát se
aktivním).
Byla opravena chyba v procedurách system.GetNameOfAddress
a system.GetAddressOfName. Procedury mohly způsobit
pád aplikace, pokud byly zavolány těsně před zastavením
aplikace.
Byla opravena chyba v přístroji draw,
která při úpravách objektů s proměnlivou tloušťkou obrysu
mohla způsobit pád systému.
Mimo zde vyjmenovaných bodů SP7 nezpůsobuje žádnou změnu
chování aplikačních programů.
Byla zpřesněna některá chybová hlášení.
Systémová záloha nyní opraví záložní soubor, pokud při
vývoji aplikace došlo ke změně skalárního elementu na
pole.
Délka popisu průběhů v přístroji
trend byla zvětšena na 64.
V přístroji alarm byla zvětšena
velikost znakových položek.
Procedury GetFullOpenPath a GetREDCreateDir
přístroje files nyní vracejí chybu při prázdném
vstupním parametru.
Bylo zrychleno otevírání inspektoru přístrojů.
Byl změněn počátek číslování průběhů v procedurách
EnableLine a DisableLine přístroje
chart — nyní se průběhy
počítají od 1.
Výstupní kanály s nastavením send_same_data = off
se nyní nezapisují, když předešlá komunikace skončila
chybou — SP7 se chová shodně jako SP5 a
dřívější.
Chování SP6, kdy se výstupní kanály s nastavením
send_same_data = off zapisují v případě, když
předešlá komunikace skončila chybou (neboli tehdy, pokud se
novou hodnotu nepodařilo do technologie zapsat), lze v SP7
dosáhnout použitím nové hodnoty parametru send_same_data
off_repeat_if_error.
Shrnutí chování zápisu
stejné hodnoty do výstupního kanálu v různých
SP:
|
SP1–SP5 |
SP6 |
SP7 |
on, kanál bez chyby |
komunikuje se |
komunikuje se |
komunikuje se |
on, kanál s chybou |
komunikuje se |
komunikuje se |
komunikuje se |
off, kanál bez chyby |
nekomunikuje se |
nekomunikuje se |
nekomunikuje se |
off, kanál s chybou |
nekomunikuje se |
komunikuje se |
nekomunikuje se |
off_repeat_if_error, kanál bez
chyby |
× |
× |
nekomunikuje se |
off_repeat_if_error, kanál s
chybou |
× |
× |
komunikuje se |
Chování zápisu stejné hodnoty do výstupního kanálu
v různých SP
Historický mód přístroje data_viewer nově
prohlíží veškerá data v databázi (není omezen okamžikem
spuštění historického módu).
V historickém módu přístroje
data_viewer byl změněn scrollbar.
Sychronizovaná sekce nově nepřejde do pasivního stavu,
pokud beží samostatně jako jediná.
Do systému Control Web byla doplněna
podpora harwarového klíče. Klíč pro rozhraní USB je nyní
volitelnou komponentou systému, která může nahradit systém
aktivace produktu. Použití klíče samozřejmě není povinné,
veškeré aktivační mechanismy mohou pracovat i nadále tak,
jako v předchozích verzích, použití klíče je jen další
možností navíc.
Od verze CW5 SP7 se po připojení USB klíče
nemusíme zajímat o žádná licenční čísla nebo aktivační
kódy. Hardwarový klíč je v tomto případě ekvivalentem
klasického licenčního čísla, avšak pro neomezený běh systému
nevyžaduje aktivaci ani žádný jiný druh komunikace
s poskytovatelem software. Klíč pracuje i na starších
USB portech, vyžaduje však alespoň Windows
2000/XP.
Jeden klíč může obsahovat až 30
licencí k produktům (vývojová verze, runtime, opc server,
ovladače atd.). Licence lze na klíč podle potřeby přidávat a
odebírat . Klíč je přenosný — lze např.
instalovat na každý počítač ve firmě vývojovou verzi a klíč pak
přenášet mezi počítači podle potřeby. Více informací
o použití USB klíče je uvedeno v kapitole
o instalaci a aktivaci.
Byl optimalizován databázový systém. Řada databázových
operací byla významně zrychlena.
Byly podstatně rozšířeny a zdokonaleny funkce přístrojů
data_viewer a alarm_viewer.
Podrobný popis naleznete v dokumentaci techto
přístrojů.
Do přístroje draw byly doplněny procedury
ObjectGetGradientDir a ObjectSetGradientDir
(více viz dokumentaci přístroje draw).
Do přístroje system byla doplněna
procedura RunningInRuntime (více viz dokumentaci
přístroje system).
Do přístroje string_switch byla doplněna
procedura GetString (více viz dokumentaci přístroje
string_switch).
Do přístroje listbox byly doplněny
procedury EnableItem a DisableItem
(více viz dokumentaci přístroje
listbox).
Do přístroje chart přibyla možnost
zobrazit v módu sweep_graph poziční kurzor
pomocí nového parametru paint_sweep_cursor.
Procedury date.StringToDate nyní
interpretují měsíce zapsané v podobě jejich jména.
Do globálního nastavení 3d_settings byl
doplněn parametr lines_last. Tento parametr
ovlivní, zda budou čáry kresleny před transparentními povrchy
(jako tomu bylo doposud — tak je to věcně
správnější) nebo až úplně nakonec (tak je to implicitně nyní, u
antialiasovaných čar to vypadá většinou lépe)
Do přístroje chart přibyla možnost
definovat šířku čáry grafu zvlášť pro každou položku pomocí
parametru line_width.
Do přístroje meter přibyla možnost
definovat šířku čáry grafu pomocí parametru line_width.