Export translations
Views
Special page
From OpenSCADAWiki
Jump to:
navigation
,
search
Settings
Group
About
Documents
Documents/API
Documents/DAQ
Documents/FAQ
Documents/How to
Documents/How to/Build from source
Documents/How to/Crash report
Documents/How to/Create module
Documents/How to/Create multi language project
Documents/How to/Cyclic programming
Documents/How to/Debug
Documents/How to/Install
Documents/How to/Live disk
Documents/How to/Release
Documents/How to/Transferring project configuration
Documents/How to/Violations, alarms and notifications
Documents/Program manual
Documents/Quick start
Documents/Release 0.8.0
Documents/Release 0.8.0/Update10
Documents/Release 0.8.0/Update11
Documents/Release 0.8.0/Update12
Documents/Release 0.8.0/Update13
Documents/Release 0.8.0/Update14
Documents/Release 0.8.0/Update15
Documents/Release 0.8.0/Update16
Documents/Release 0.8.0/Update17
Documents/Release 0.8.0/Update18
Documents/Release 0.8.0/Update19
Documents/Release 0.8.0/Update20
Documents/Release 0.8.0/Update3
Documents/Release 0.8.0/Update4
Documents/Release 0.8.0/Update5
Documents/Release 0.8.0/Update6
Documents/Release 0.8.0/Update7
Documents/Release 0.8.0/Update8
Documents/Release 0.8.0/Update9
Documents/Release 0.9
Documents/Release 0.9/Update 7
Documents/Release 0.9/Update1
Documents/Release 0.9/Update2
Documents/Release 0.9/Update3
Documents/Release 0.9/Update4
Documents/Release 0.9/Update5
Documents/Release 0.9/Update6
Documents/Release 0.9/Updating 0.8.0 LTS
Documents/Terms
Documents/User API
Functions and demands
Home
Libs
Libs/Devices
Libs/Documents
Libs/Electrical elements
Libs/Generic list
Libs/LowLevelDevices
Libs/Main
Libs/Main graphical elements
Libs/Mnemo elements
Libs/Prescriptions
Libs/Regulation elements
Libs/Service procedures
Libs/Technological apparatuses
Modules
Modules/BFN
Modules/BlockCalc
Modules/Comedi
Modules/DAQGate
Modules/DBArch
Modules/DBF
Modules/DBGate
Modules/DCON
Modules/DiamondBoards
Modules/FireBird
Modules/FLibComplex1
Modules/FLibMath
Modules/FLibSYS
Modules/FSArch
Modules/GPIO
Modules/HTTP
Modules/ICP DAS
Modules/JavaLikeCalc
Modules/LDAP
Modules/LogicLev
Modules/ModBus
Modules/MySQL
Modules/OPC UA
Modules/PostgreSQL
Modules/QTCfg
Modules/QTStarter
Modules/SelfSystem
Modules/Serial
Modules/Siemens
Modules/SMH2Gi
Modules/SNMP
Modules/Sockets
Modules/SoundCard
Modules/SQLite
Modules/SSL
Modules/System
Modules/SystemTests
Modules/UserProtocol
Modules/VCAEngine
Modules/Vision
Modules/WebCfg
Modules/WebCfgD
Modules/WebUser
Modules/WebVision
Sub-projects
Sub-projects/Automatic Builder of OpenSCADA
Sub-projects/Automation Linux distributive
Sub-projects/Embedding and PLC
Sub-projects/Server
Sub-projects/VCA
User:RomanSavochenko
Using
Using/HouseSpirit
Using/Kramatorsk Ball Mills
Using/Kramatorsk Water
Using/Model AGLKS
Using/Model Boiler
Using/OpenWrt TELEOFIS RTU968
Using/Yaroslavskij broiler
Works
Works/Road map
Works/Technical Support
Works/Technical Support/Agreement
Works/To do
Language
aa - Afar
ab - Abkhazian
ace - Achinese
ady - Adyghe
ady-cyrl - адыгабзэ
aeb - Tunisian Arabic
aeb-arab - تونسي
aeb-latn - Tûnsî
af - Afrikaans
ak - Akan
aln - Gheg Albanian
am - Amharic
an - Aragonese
ang - Old English
anp - Angika
ar - Arabic
arc - Aramaic
arn - Mapuche
arq - Algerian Arabic
ary - Moroccan Arabic
arz - Egyptian Arabic
as - Assamese
ase - American Sign Language
ast - Asturian
av - Avaric
avk - Kotava
awa - Awadhi
ay - Aymara
az - Azerbaijani
azb - تۆرکجه
ba - Bashkir
bar - Bavarian
bbc - Batak Toba
bbc-latn - Batak Toba
bcc - Southern Balochi
bcl - Bikol Central
be - Belarusian
be-tarask - Belarusian (Taraškievica orthography)
bg - Bulgarian
bgn - Western Balochi
bho - Bhojpuri
bi - Bislama
bjn - Banjar
bm - Bambara
bn - Bengali
bo - Tibetan
bpy - Bishnupriya
bqi - Bakhtiari
br - Breton
brh - Brahui
bs - Bosnian
bto - Iriga Bicolano
bug - Buginese
bxr - буряад
ca - Catalan
cbk-zam - Chavacano de Zamboanga
cdo - Min Dong Chinese
ce - Chechen
ceb - Cebuano
ch - Chamorro
cho - Choctaw
chr - Cherokee
chy - Cheyenne
ckb - Central Kurdish
co - Corsican
cps - Capiznon
cr - Cree
crh - Crimean Turkish
crh-cyrl - Crimean Turkish (Cyrillic script)
crh-latn - Crimean Turkish (Latin script)
cs - Czech
csb - Kashubian
cu - Church Slavic
cv - Chuvash
cy - Welsh
da - Danish
de - German
de-at - Austrian German
de-ch - Swiss High German
de-formal - German (formal address)
diq - Zazaki
dsb - Lower Sorbian
dtp - Central Dusun
dty - डोटेली
dv - Divehi
dz - Dzongkha
ee - Ewe
egl - Emilian
el - Greek
eml - Emiliano-Romagnolo
en - English
en-ca - Canadian English
en-gb - British English
eo - Esperanto
es - Spanish
et - Estonian
eu - Basque
ext - Extremaduran
fa - Persian
ff - Fulah
fi - Finnish
fit - Tornedalen Finnish
fj - Fijian
fo - Faroese
fr - French
frc - Cajun French
frp - Arpitan
frr - Northern Frisian
fur - Friulian
fy - Western Frisian
ga - Irish
gag - Gagauz
gan - Gan Chinese
gan-hans - Simplified Gan script
gan-hant - Traditional Gan script
gd - Scottish Gaelic
gl - Galician
glk - Gilaki
gn - Guarani
gom - Goan Konkani
gom-deva - Goan Konkani (Devanagari script)
gom-latn - Goan Konkani (Latin script)
got - Gothic
grc - Ancient Greek
gsw - Swiss German
gu - Gujarati
gv - Manx
ha - Hausa
hak - Hakka Chinese
haw - Hawaiian
he - Hebrew
hi - Hindi
hif - Fiji Hindi
hif-latn - Fiji Hindi (Latin script)
hil - Hiligaynon
ho - Hiri Motu
hr - Croatian
hrx - Hunsrik
hsb - Upper Sorbian
ht - Haitian Creole
hu - Hungarian
hy - Armenian
hz - Herero
ia - Interlingua
id - Indonesian
ie - Interlingue
ig - Igbo
ii - Sichuan Yi
ik - Inupiaq
ike-cans - Eastern Canadian (Aboriginal syllabics)
ike-latn - Eastern Canadian (Latin script)
ilo - Iloko
inh - Ingush
io - Ido
is - Icelandic
it - Italian
iu - Inuktitut
ja - Japanese
jam - Jamaican Creole English
jbo - Lojban
jut - Jutish
jv - Javanese
ka - Georgian
kaa - Kara-Kalpak
kab - Kabyle
kbd - Kabardian
kbd-cyrl - Адыгэбзэ
kg - Kongo
khw - Khowar
ki - Kikuyu
kiu - Kirmanjki
kj - Kuanyama
kk - Kazakh
kk-arab - Kazakh (Arabic script)
kk-cn - Kazakh (China)
kk-cyrl - Kazakh (Cyrillic script)
kk-kz - Kazakh (Kazakhstan)
kk-latn - Kazakh (Latin script)
kk-tr - Kazakh (Turkey)
kl - Kalaallisut
km - Khmer
kn - Kannada
ko - Korean
ko-kp - 한국어 (조선)
koi - Komi-Permyak
kr - Kanuri
krc - Karachay-Balkar
kri - Krio
krj - Kinaray-a
ks - Kashmiri
ks-arab - Kashmiri (Arabic script)
ks-deva - Kashmiri (Devanagari script)
ksh - Colognian
ku - Kurdish
ku-arab - كوردي (عەرەبی)
ku-latn - Kurdish (Latin script)
kv - Komi
kw - Cornish
ky - Kyrgyz
la - Latin
lad - Ladino
lb - Luxembourgish
lbe - лакку
lez - Lezghian
lfn - Lingua Franca Nova
lg - Ganda
li - Limburgish
lij - Ligurian
liv - Livonian
lmo - Lombard
ln - Lingala
lo - Lao
loz - Lozi
lrc - Northern Luri
lt - Lithuanian
ltg - Latgalian
lus - Mizo
luz - Southern Luri
lv - Latvian
lzh - Literary Chinese
lzz - Laz
mai - Maithili
map-bms - Basa Banyumasan
mdf - Moksha
mg - Malagasy
mh - Marshallese
mhr - Eastern Mari
mi - Maori
min - Minangkabau
mk - Macedonian
ml - Malayalam
mn - Mongolian
mo - молдовеняскэ
mr - Marathi
mrj - Western Mari
ms - Malay
mt - Maltese
mus - Creek
mwl - Mirandese
my - Burmese
myv - Erzya
mzn - Mazanderani
na - Nauru
nah - Nāhuatl
nan - Min Nan Chinese
nap - Neapolitan
nb - Norwegian Bokmål
nds - Low German
nds-nl - Low Saxon
ne - Nepali
new - Newari
ng - Ndonga
niu - Niuean
nl - Dutch
nl-informal - Nederlands (informeel)
nn - Norwegian Nynorsk
nov - Novial
nrm - Nouormand
nso - Northern Sotho
nv - Navajo
ny - Nyanja
oc - Occitan
olo - Livvi-Karelian
om - Oromo
or - Oriya
os - Ossetic
pa - Punjabi
pag - Pangasinan
pam - Pampanga
pap - Papiamento
pcd - Picard
pdc - Pennsylvania German
pdt - Plautdietsch
pfl - Palatine German
pi - Pali
pih - Norfuk / Pitkern
pl - Polish
pms - Piedmontese
pnb - Western Punjabi
pnt - Pontic
prg - Prussian
ps - Pashto
pt - Portuguese
pt-br - Brazilian Portuguese
qu - Quechua
qug - Chimborazo Highland Quichua
rgn - Romagnol
rif - Riffian
rm - Romansh
rmy - Romani
rn - Rundi
ro - Romanian
roa-tara - tarandíne
ru - Russian
rue - Rusyn
rup - Aromanian
ruq - Megleno-Romanian
ruq-cyrl - Megleno-Romanian (Cyrillic script)
ruq-latn - Megleno-Romanian (Latin script)
rw - Kinyarwanda
sa - Sanskrit
sah - Sakha
sat - Santali
sc - Sardinian
scn - Sicilian
sco - Scots
sd - Sindhi
sdc - Sassarese Sardinian
sdh - Southern Kurdish
se - Northern Sami
sei - Seri
ses - Koyraboro Senni
sg - Sango
sgs - Samogitian
sh - Serbo-Croatian
shi - Tachelhit
shi-latn - Tašlḥiyt
shi-tfng - ⵜⴰⵛⵍⵃⵉⵜ
si - Sinhala
sk - Slovak
sl - Slovenian
sli - Lower Silesian
sm - Samoan
sma - Southern Sami
sn - Shona
so - Somali
sq - Albanian
sr - Serbian
sr-ec - Serbian (Cyrillic script)
sr-el - Serbian (Latin script)
srn - Sranan Tongo
ss - Swati
st - Southern Sotho
stq - Saterland Frisian
su - Sundanese
sv - Swedish
sw - Swahili
szl - Silesian
ta - Tamil
tcy - Tulu
te - Telugu
tet - Tetum
tg - Tajik
tg-cyrl - Tajik (Cyrillic script)
tg-latn - Tajik (Latin script)
th - Thai
ti - Tigrinya
tk - Turkmen
tl - Tagalog
tly - Talysh
tn - Tswana
to - Tongan
tokipona - Toki Pona
tpi - Tok Pisin
tr - Turkish
tru - Turoyo
ts - Tsonga
tt - Tatar
tt-cyrl - Tatar (Cyrillic script)
tt-latn - Tatar (Latin script)
tum - Tumbuka
tw - Twi
ty - Tahitian
tyv - Tuvinian
tzm - Central Atlas Tamazight
udm - Udmurt
ug - Uyghur
ug-arab - Uyghur (Arabic script)
ug-latn - Uyghur (Latin script)
uk - Ukrainian
ur - Urdu
uz - Uzbek
uz-cyrl - ўзбекча
uz-latn - oʻzbekcha
ve - Venda
vec - Venetian
vep - Veps
vi - Vietnamese
vls - West Flemish
vmf - Main-Franconian
vo - Volapük
vot - Votic
vro - Võro
wa - Walloon
war - Waray
wo - Wolof
wuu - Wu Chinese
xal - Kalmyk
xh - Xhosa
xmf - Mingrelian
yi - Yiddish
yo - Yoruba
yue - Cantonese
za - Zhuang
zea - Zeelandic
zh - Chinese
zh-cn - Chinese (China)
zh-hans - Simplified Chinese
zh-hant - Traditional Chinese
zh-hk - Chinese (Hong Kong)
zh-mo - 中文(澳門)
zh-my - 中文(马来西亚)
zh-sg - Chinese (Singapore)
zh-tw - Chinese (Taiwan)
zu - Zulu
qqq - Message documentation
Format
Export for off-line translation
Export in native format
{{DISPLAYTITLE:Документи/Реліз 0.9/Оновлення1}}<noinclude><languages/></noinclude> Оновлення здійснено за 1.5 роки від [[Special:MyLanguage/Documents/Release_0.9|релізу 0.9 LTS]], відтак воно варте 10 оновлень, оскільки ним виправлено близько 250 помилок та додано багато вдосконалень, які цілком ви можете почитати у [http://oscada.org/svn/tags/openscada_0.9/ChangeLog?p=2677 протоколі змін оновлення]. Ключовими властивостями оновлення є: * значне розширення та стабілізація Web-інтерфейсу протягом практичної експлуатації у великому розподіленому рішенні, побудованого на основі модуля [[#WebVision|UI.WebVision]]; також розширення та стабілізація гарячої розробки протягом множинного виконання розроблюваного проекту; * тестування, виправлення та розширення резервування у частині повідомлень, також завдяки практичній експлуатації у великому розподіленому та ще й резервованому рішенні, у [[#Redundancy|частині загально-системного коду]] та модуля [[#ModBus|DAQ.ModBus]]; * цілковита реструктуризація, вдосконалення та доповнення [[#ProjLibs|бібліотек OpenSCADA]] у SQLite файлах; * загальне покращення документації, доповнення документацією [[#ProjLibs|всіх бібліотек]] та ревізія більшості документації модулів. ==== {{Anch|ProjLibs|OpenSCADA бібліотеки та проекти}} ==== * FIX:DB.LibsDB.{OscadaLibs,vcaBase}: Оновлення перекладу. ** FIX:JavaLikeCalc.doc,doc: Бібліотеку користувацького інтерфейсу "Документи" та JavaLikeCalc "Бібліотека звітів та документів" відревізовано, покращено, доповнено, документовано та документацію додано до offline. *** FIX:doc: {docUsersSet,docAlarmsRep,docMessRep}: Поле "Параметр" перейменовано у "Джерело", у процесі глобальної уніфікації структури повідомлень порушень функції alarmSet(). **** Доповнено реалізацією "Річний звіт місячних значень (docRepYear)" із функцією введення значень у ручному режимі, підтримкою збереження ручних значень у архіві повідомлень, їх відображення у таблиці та діаграмі. **** {doc,docDin,docRep2WorkSh(перейменований docRepSm2),docAlarmsRep,docRepInstVals(перейменований docGasNodeMgn),docMessRep,docUsersSet, docRepDay(перейменований docGasNodeDayA),docRepMonth(перейменований docGasNodeMonthA),docRepYear(перейменований docResourcesYear)}: виконано JavaLikeCalc переклад у tr(). **** {docRepInstVals,docRep2WorkSh,docRepDay,docRepMonth}: Значним чином переписано, покращено та зроблено повторно-використовуваним, дозволивши підключення DAQ-параметрів. **** docMessRep: Доповнено опрацюванням віддалених станцій лише як додаткове джерело та завжди. *** JavaLikeCalc.doc: Доповнено реалізацією побудови "Діаграми (diagram)" у SVG. ** PrescrTempl,prescr: Бібліотеку інтерфейсу користувача та шаблонну бібліотеку "Рецепти" відревізовано, покращено, доповнено, документовано та документацію додано до offline. *** PrescrTempl: Доповнено шаблоном "Менеджер", перенесеного із бібліотеки контролерів. *** prescr: Елементи бібліотеки розширено лінкуванням БД та автоматичним створенням таблиць команд та програм. * DB.LibsDB.vcaElectroEls: Бібліотеку інтерфейсу користувача "Елементи електрики" відревізовано, покращено, доповнено, документовано та документацію додано до offline. ** Доповнено чотирма уніфікованими елементами: "Ключ, уніфікований (keyUnif)", "Перемикач, уніфікований (swUnif)", "Загальний стан, уніфікований (stGenUnif)", "Стан області, уніфікований (stAreaUnif)". * FIX:DB.LibsDB.OscadaLibs: ** Оновлено щодо деяких повідомлень. ** FIX:base: Бібліотеку шаблонів "Основна бібліотека" відревізовано, покращено, доповнено, документовано та документацію додано до offline. *** {anUnif,anUnifSt,manInUnif,digAlarm,codeState,pidUnif,pidUnifImp,SNMP,UPS}: Переведено на уніфікований механізм формування та контролю порушень. *** Доповнено шаблоном "initConsAssignTrs" опрацювання вихідних транспортів ініціативних підключень Сокетів для будь-яких типів джерельних об'єктів, як то DAQ-модулі та контролері і параметри логічного рівня. *** Доповнено шаблоном "codeState" формування стану за кодом. *** Доповнено реалізацією складного сповіщувача у шаблоні "ntf", окрема JavaLikeCalc функція та об'єкти користувацьких протоколів "SMS" та "SMTP" позначено застарілими. *** Доповнено шаблоном "UPS", перенесено із бібліотеки "Промислові пристрої". ** FIX:DevLib: Шаблонна бібліотека є відокремленою частиною оригінальної бібліотеки "Пристрої" під назвою "Промислові пристрої", яку відревізовано, покращено, доповнено, документовано та документацію додано до offline. *** FIX:IEC60870: Доповнено окремим часом "tmPoolAll" періодичності повного опитування. **** Доповнено підтримкою пакетів M_ME_TF_1, M_ME_NC_1, розширено підтримкою SQ-режиму, перевірено M_ME_TF_1 та M_ME_NC_1, M_ME_NB_1 у SQ-режимі, AI встановлено у "реальний" тип. **** Доповнено опцією "syncTimePLC" контролю синхронізації ПЛК. *** Доповнено правильною реалізацією DCON у шаблонах DCON_Prt, DCON_Prt_DI, DCON_Prt_AO, DCON_Prt_DO, об'єкт користувацького протоколу "DCON" видалено. *** Доповнено повнофункціональною реалізацією протоколу OWEN у частині збору даних. *** Доповнено реалізацією DNP3 та її випробувано з outstation-demo із opendnp3. *** Доповнено реалізацією модулів лічильників Pulsar-M (pulsarM). *** Доповнено реалізацією сканеру ModBus, як шаблон "ModBusScan". ** LowDevLib: Шаблонна бібліотека є відокремленою частиною оригінальної бібліотеки "Пристрої" під назвою "Низькорівневі пристрої", яку відревізовано, покращено, доповнено, документовано та документацію додано до offline. *** FIX:{1W_DS9097,1W_DS9097U}: Виправлено визначення родини пристрою як шаблон 0x7F, виявлено на останніх DS2413 із першим байтом 0xBA. *** Доповнено реалізацією шаблону "MAX6675", низькорівневого SPI Конвертору K-Термопар-у-Цифру Компенсації-Холодних-Спаїв. *** Доповнено реалізацією шаблону "SHT3x", низькорівневого сенсору вологості. *** Доповнено реалізацією шаблону ADS111x(ADS101x) та MCP4725, низькорівневих I2C-чипів. ** FIX:JavaLikeCalc.techApp: JavaLikeCalc бібліотеку "Технологічні апарати" документовано та документацію додано до offline. Всі Кирилічні символи видалено із ідентифікаторів моделей та всі тексти відкориговано. ** tests: Бібліотеку шаблонів "Тести" перейменовано із бібліотеки "S7". ** JavaLikeCalc.servProc: JavaLikeCalc бібліотеку "Сервісні процедури" відревізовано, дещо покращено, доповнено, документовано та документацію додано до offline. *** docOffLine: Значно розширено деталізацією повідомлень про помилки та розташуванням незавершених сторінок у аргументі "pagesCur" для продовження переривань. ** JavaLikeCalc.regEl: JavaLikeCalc бібліотеку "Елементи регулювання" документовано та документацію додано до offline. * FIX:DB.LibsDB.vcaBase: ** FIX: Цілковите і значне очищення від Кирилічних символів та вдосконалення оригінальних ідентифікаторів і повідомлень, із перейменуванням їх Англійською. ** Більшість стандартних кадрів та віджетів адаптовано до стилів та створено стиль "Світлий" для всіх проектів. ** FIX:Main: Бібліотеку інтерфейсів користувача "Основні елементи" відревізовано, покращено, доповнено, документовано та документацію додано до offline. *** FIX:{alarmsAct,alarmsSt}: **** Розширено підтримкою квітації-підтвердження, коментарями та користувацькими полями. **** Поле "Параметр (prm)" перейменовано у "Джерело" де розташовано всі віддалені та локальні джерела. *** RootPgSo: Вдосконалено динамічним створенням об'єктів сигналізації, кількість яких обмежена лише загальною довжиною назв об'єктів сигналізації та їх двома рядами. Підтримується також генерація кнопок об'єктів сигналізації праворуч від логотипу. Типи відображення також уніфіковано ідентифікаторами "view[1..6]", коли користувач може їх призначити у власний спосіб. Сумісність із оригінальними назвами видів збережено для наявних проектів! *** Доповнено: **** панеллю-вікном контролю "Обчислення параметру графіку (graphCalc)"; **** об'єктним віджетом "Властивості об'єкту (objProps)"; **** кадром порушень "Порушення — звіт (alarmsStReport)"; **** віджетом "Мітка зображенням (ImgLab)"; **** кадром "Менеджер користувачів (userManager)". *** grph_panel: Доповнено незалежною кнопкою перемикання на час курсору замість непрямого перемикання при зменшені глибини. *** ElViewGraph: Розмір шрифту назви зменшено із 15 до 11 та колір тренду відображуваних елементів по замовченню встановлено у "gray". *** Кадри рецептів "prescrEdit", "prescrRun" та "prescrRunSimple" винесено до нової бібліотеки "Рецепти (prescr)". *** cntrRegul: Товщину трендів збільшено до 2 пікселів. ** FIX:mnEls: Бібліотеку елементів інтерфейсу користувача "Елементи мнемосхеми" документовано та документацію додано до offline. * FIX:Model.{AGLKS,Boiler}: Значно оновлено відповідно до загальних змін у бібліотеках. ** FIX: Значно очищено та всі оригінальні ідентифікатори перейменовано Англійською, у процесі ревізії документації. ** FIX: AGLKS.vca,Boiler.St: Адаптовано до нових змін основної сторінки. *** Створено стиль "Світлий" для всіх проектів. Стилі переведено на схему прямого вимкнення стилів за їх наявності замість "Немає стилю" та додано стиль "Типовий". ** FIX:Model.AGLKS: *** FIX:St: **** FSArch.1m: Видалено дивні і тимчасові архіватори: FSArch.{NetRequsts,test,StatErrors}, DBArch.test та додано актуальні: FSArch.{alarms,actions,SYS}, DBArch.SYS. *** FIX:vca: Переприв'язано аналогові параметри та графіки. ==== API ==== ''!!!!:Зміни'': * SYS: Типовий конструктор ResMtx встановлено у true для "isRecurs", оскільки це загальна ситуація. ** Більшість функцій додання до контейнеру вузлів розширено поверненням результуючого ідентифікатора/ім'я створеного вузла для: chldAdd(), TSecurity::{usrAdd(),grpAdd()}, TTypeBD::open(), TTypeTransport::{inAdd(),outAdd()}, TValue.chldAdd(), DAQ.{TController::add(),TParameter::add(),BlockCalc.blkAdd()}, TTypeArchivator::{messAdd(),valAdd()}, TArchiveS::valAdd(), UI.VCAEngine::{wlbAdd(),prjAdd(),WLib.add(),Project.add(),Project.Page.pageAdd()}, UI.WebUser.uPgAdd(). ** TFld::Selected всюди перейменовано у TFld::Selectable. ** Варіант спеціальної функції strMess() із обмеженням розміру результуючого повідомлення видалено та замінено функцією strEncode() із типом TSYS::Limit. ** chldList() та chldPresent() зроблено віртуальними. * DAQ,Special: Атрибут "run_st" у TPrmTmplLib та TSpecial перейменовано у runSt. * Archives: TArchiveS::messPut() очищено від аргументу "force". * Protocols.HTTP: Функції користувацького API pgAccess(), pgCreator() перенесено із TProtocol до TProtocolIn. * Transports.In: Функцію protocol() перейменовано у protocols() та видалено protocolFull(). ''Доповнення'': * SYS: Додано загальний механізм замків через контейнер замків, функція commonLock(). ** TConfig,*: Функції API користувача для конфігурації TConfig::cfg() та TConfig::cfgSet() розширено контролем прав. ** Доповнено функціями TCfg::toDefault() та TConfig::cfgToDefault() скидання конфігураційного контексту до типового. ** Об'єкт TFunction доповнено ознакою зміненості процедури isChangedProg(), та прапорець TFld::Selectable і функція ioAdd() доповнена результатом позиції доданого ВВ. ** Запит Інтерфейсу Керування "load" розширено визначенням обраної БД у атрибуті "force", для здійснення такої операції щодо конкретного вузла. ** XMLNode: Функцію отримання атрибутів attr() розширено опціональним аргументом визначення присутності. ** "Масив (Array)" простору користувача розширено функціями indexOf() та lastIndexOf(). ** Функцію API користувача SYS.fileRead() розширено аргументами зміщення та розміру блоку читання. ** Функцію API користувача strEncode() доповнено підтримкою варіантів "ToLower" та "Limit". ** API користувача доповнено функцією strFromCharUTF() формування рядку із UTF-8, UTF-16, UTF-16LE, UTF-16BE, UTF-32, UTF-32LE, UTF-32BE. ** Доповнено визначенням періодичності сервісного завдання SERV_TASK_PER=10. ** API користувача доповнено функцією SYS.fileSize(). ** Додано функцію str2atime() для конвертації часу у рядку у час від епохи UNIX з підтримкою GMT. ** TError доповнено назвами кодів помилок у перелічені "Codes", які всюди використано. ** Спеціальні назви архівів доповнено назвою ALRM_ARCH_CH_NM ("<alarmsChange>"), для простої зміни наявних порушень. ** Обмеження доповнено USER_ITS_LIMIT (1000000) для обмеження кількості елементів на кшталт користувацьких масивів із DAQ.JavaLikeCalc. * DB: Додано контроль закриття транзакцій у ядрі OpenSCADA функціями trTm_ClsOnOpen(), trTm_ClsOnReq() та trPr_ClsTask(). ** Додано контроль процесу пере-увімкнення об'єктів БД функцією disabledByUser(). ** Доповнено конфігурацією "Час життя відкритих таблиць", для закриттям неактивних таблиць функцією tblLifeTime(). ** Атрибут TBD::mEn перенесено до захисного простору. * Транспорти: ** In: Доповнено віртуальними функціями keepAliveReqs(), keepAliveTm() для правильного KeepAlive на Web. ** Out: Доповнено сервісом закриття вихідних транспортів за часом життя (неактивності), сервісною функцією outLifeTime(). *** Розширено полем загального контролю спроб у функції attempts(). *** Уніфіковано контролем часу останнього запиту у функції lstReqTm(). *** Додано функцію outAddrHelp() для отримання загальної допомоги за адресою модулів вихідних транспортів. * Protocol.HTTP: Розширено функцією користувацького API setUser() для зміни автентифікованого користувача. * DAQ: TController::alarmSet() розширено аргументом "force" для примусового встановлення порушень на об'єктах контролерів у резервуванні. ** DAQ-параметри доповнено функцією користувацького API alarmSet() та функцією vlSetRednt() уніфікованого запису значень у резервуванні. ** TDAQS::rdRestDtTm() розширено поверненням double замість float. ** Доповнено функцією користувацького API daqAt(). ** Функцію користувацького API funcCall() розширено аргументом "err". ** JavaLikeCalc: Функції користувацького API charAt() та charCodeAt() розширено підтримкою UTF. Функції користувацького API розширено isNaN() для bool, integer, real, string (особливо для перевірки чисел у рядку). * Архіви: ** Об'єкти TMArchivator та TArchiveS доповнено функцією redntTm() та rdTm() для отримання останнього часу резервування архівів повідомлень. ** TArchiveS::rdRestDtOverTm() розширено поверненням double замість float. ** Архіви значень доповнено загальною опцією autoIdMode() режиму формування Ідентифікатору автоматично створюваних архівів із варіантами перелічення AutoIdMode::{BothPrmAttrId,OnlyPrmId,OnlyAttrId}. ** Val: Додано функції API користувача getVals() та setVals() для реалізації загального механізму доступу до архівів/історії у масиві та із фіксованою періодичністю. * UI: Декларацію контекстної документації із опису деяких вузлів уніфіковано функцією TUIS::docKeyGet(). ** VCAEngine: Додано функцію користувацького API рівня сеансу this.ownerSess().uiCmd(). Віджет виконання доповнено функцією API користувача this.attrList() для отримання переліку атрибутів віджету. ==== Система ==== * FIX: Повідомлення вихідного коду та документація програми: ** TMess: Доповнено очищенням змінної оточення LC_ALL та встановленням "LANG" якщо порожнє, для запобігання перевизначенню LC_NUMERIC=C у кінці кінців. ** FIX:.,*: Виправлено багато оригінальних повідомлень вихідного коду також протягом документування більшості модулів. ** FIX:DAQ.JavaLikeCalc: Виправлено переклад JavaLikeCalc коду функцією tr() у створені таблиці перекладу "Trs" та записів там у простому режимі (одна мова). ** Контекстна документація: *** Позамережева документація доповнена деякими модулями OpenSCADA та більшістю бібліотек внутрішніх процедур та графічних елементів. Файл загальних CSS-стилів позамережевої документації "doc/en/files/doc.css" покращено вимкненням прозорого фонового кольору та деякими властивостями обрання мови. *** Уніфіковано декларацією з опису деяких вузлів у функції TUIS::docKeyGet() та додано вузли до цього: **** DAQ-шаблони та JavaLikeCalc бібліотеки; **** СВУ-бібліотеки у UI.VCAEngine та UI.Vision. *** UI: TUIS::docGet() доповнено кодом визначення LTS збірок та використання замороженої LTS документації на OpenSCADA файл-сервері. *** FIX:DAQ.JavaLikeCalc,UI.VCAEngine: Виправлено декларацію позамережевої документації для "User_API". * FIX: Складання: ** FIX:configure.ac: Версію бібліотеки ядра збільшено до 3:7:0 та версію програми збільшено до 0.9.1. ** Доповнено корінними файловими системами (chroots) Debian 10, CentOs 8 та Ubuntu 20.04 для збірки OpenSCADA. *** Вихідні тексти значно почищено стосовно попереджень складання із GCC 9 (CentOs 8). *** UI.{QTCfg,Vision}: Адаптовано до збірки у оточені Debian 10 щодо Qt5.11.3, GCC8 та помилки стосовно конфлікту макросу message() у StdLibC++ через Qt5. * Android: Вивчено поведінку використання змінної оточення QT_SCALE_FACTOR на Android, яку встановлено у 1.5 та видалено типовий шрифт "Helvetica,12,-1" разом із CSS-правилами QScrollBar. * Модульну версію підсистеми "Спеціальні" збільшено до 12; підсистеми "БД", "DAQ", "Архіви" та "UI" збільшено до 13; підсистеми "Транспорти" збільшено до 15. * FIX: Потоковість, завдання, реальний час та замки: ** Деякі загальні ресурси даних dataRes() замінено власними ресурсами, переважно через спостерігання проблем блокування у Protocol.HTTP та '''DAQ.ModBus'''. ** FIX: Додано механізм загальних замків через контейнер замків, функція commonLock(). *** FIX: Transport.{Sockets,SSL}: Використано для системних функцій на кшталт getaddrinfo(), які не є багатопотоковими. ** Планування завдань доповнено фазуванням їх виклику, що робить навантаження на процесор рівним. ** FIX: Очікування функції TCntrNode::nodeDis() виправлено для нульового часу та функцію chldDel() встановлено у відсутність очікування по замовченню. ** FIX: Виправлено негативну пріоритетність політики "BATCH". ** Archive,DAQ.Controller: Для поточного часу повідомлень та значень переважно використано TSYS::curTime()/1000000 замість time(NULL) оскільки час повідомлень і значень у мікросекундах та позначено TSYS::curTime(). * FIX: {{Anch|Redundancy|'''Резервування'''}}: ** .,UI.{QTCfg,Vision,WebCfg,WebCfgD}: Функцію "Передача локальних первинних команд" резервованих систем уніфіковано та розширено повним переміщенням до TCntrNode::cntrCmd(), тож функція працює наразі для будь-яких викликів також із оточення програмування користувача. ** Archives,DAQ.DAQGate: Опрацювання верхньої межі часу повідомлень у резервуванні та DAQGate змінено на використання останнього повідомлення для повтору його запиту двічі, щоб запобігти втраті повідомлень на межі. *** FIX: Резервування та DAQ.DAQGate відновлено у записі великих архівних блоків значень, переважно у відновлені ділянок архіву значень. *** Перше отримання порушень у резервуванні повідомлень ввімкнено лише за наявності архіваторів повідомлень у резерві. *** Розміщення повідомлень у архіваторах процедурою резервування TMArchivator::redntDataUpdate() змінено на використання функції put(), для здійснення цієї операції автоматично для всіх отриманих повідомлень під замком. ** DAQ,DAQ.*: Запис значень у резервуванні уніфіковано функцією vlSetRednt(). Сервіс "TValue::get:/serv/attr" розширено дещо зайвим запитом останнього запитаного значення для запобігання EVAL там при втраті з'єднання. * Функцію strEncode() доповнено варіантом "Limit" для обмеження розміру рядка з урахуванням змінності UTF-8, та наступні елементи переведено на неї, замість видаленого обмежувального варіанту функції strMess(): ключі TConfig, ВВ DAQ-шаблонів, DB.SQLite, UI.QTCfg. * FIX: Конфігурація: ** TConfig,TCfg: Ключові поля доповнено обмеженням їх розміру перед обрізанням на боці БД. *** *: Функції додання доповнено опрацюванням формування ідентифікатору, або назви, та обмеження їх у розмірі, поверненням результуючої назви ініціатору, з використанням розширення функції вузла chldAdd() до прямого повернення ідентифікатору та простого видалення нового вузла для однакових. *** DAQ: Ідентифікатори ВВ Логічного Рівня DAQ-шаблонів розширено обмеженням розміру до 1.5*OBJ_ID_SZ=30 символів та доповнено їх обрізанням при створені. *** Транспорти: Розмір Ідентифікатору вихідних транспортів встановлено у OBJ_ID_SZ*2, оскільки вони можуть комбінуватися із звичайного ідентифікатору вузла та деякого префіксу, у автоматичному режимі. *** Доповнено функцією встановлення полів TCfg у типове значення, для запобігання завантаженню значень попередніх записів до відсутніх полів. ** TConfig,*: Функції користувацького API для конфігурації cfg() та cfgSet() розширено контролем доступу. ** Завантаження із обраної БД покращено попередньою перевіркою ввімкнення у функції TSYS::chkSelDB(). ** TCntrNode,DAQ,DAQ.JavaLikeCalc: Доповнено функцією load__() для опрацювання деяких дій на кінці завантаження. * Інтерфейс Керування: ** *: Уніфіковано щодо контролю модифікації об'єктів вузлів та очищено зайві модифікації, перенесенням модифікації із контексту виконання під опцію "modifCalc". ** .,UI.{QTCfg,WebCfgD}: Таблиці розширено окремою допомогою за стовпчиками та клітинками. *** Транспорти: Таблицю зовнішніх хостів OpenSCADA розширено контекстною допомогою до клітинки адреси транспорту, використовуючи функцію outAddrHelp(). * DAQ-шаблони та всі їх реалізації доповнено функцією створення атрибутів обрання із другого та третього рядка шаблонного поля "Значення", TFunction::IO доповнено прапорцем TFld::Selectable. * Завершено уніфіковану реалізацію DAQ-шаблонів — TPrmTempl::Impl, та такі елементи мігровано і адаптовано до неї: DAQ.{JavaLikeCalc,'''ModBus''',LogicLev,Siemens}, Protocol.{ModBus,UserProtocol}, UI.WebUser. * FIX:DAQ,Archive.DBArch: Реалізовано копіюючий конструктор TElem для виправлення проблем у Archive.DBArch та багатьох груп-таблиць у груповому табличному режимі. * Function,DAQ.{JavaLikeCalc,LogicLev,'''ModBus''',Siemens}: Розширено стеженням за зміною програми функції та на предмет гарячого перезапуску виконуваних процедур, встановленням прапорця "f_start". * TMess,XMLNode: Доповнено функцією setUTF8(), формування UTF-8 із їх кодів, взяте із XMLNode для використання у інших місцях. ==== БД ==== * FIX:*: Функцію скидання конфігураційного контексту cfgToDefault() використано на початку функції dataSeek() та fieldSeek(), оскільки це обов'язкова операція, що-найменш для конфігураційного файлу, та має також здійснюватися для конфігурації у БД стосовно нових полів. * Доповнено контролем закриття транзакцій у ядрі OpenSCADA, у сервісному завдані для таймауту > 10 секунд або у окремому на БД завдані швидкого закриття транзакцій спільних СУБД. Для чого додано функції trTm_ClsOnOpen(), trTm_ClsOnReq() та trPr_ClsTask(). * Об'єкти БД доповнено відновленням їх ввімкнення після втрати підключення (або іншої причини) для передбачених до ввімкнення та не вимкнених користувачем, за допомогою disabledByUser(). * Доповнено конфігурацією "Час життя відкритих таблиць", для закриття неактивних таблиць. * FIX:{SQLite,MySQL,PostgreSQL,FireBird}: ** FIX:{MySQL,PostgreSQL,FireBird}: Вдосконалено та перевірено гаряче відновлення втрачених з'єднань та без втрати даних. *** FIX:FireBird: Відновлено основну роботу у запиті первинних ключів та адаптовано до FireBird версії 3. *** FIX:MySQL: Вирішено із аварійним завершенням у вбудованому перепідключенні (за MYSQL_OPT_RECONNECT), який замінено власним та гарячим перепідключенням. Виправлено помилку "BLOB/TEXT can't have a default value (1)" на сучасних версіях серверу MariaDB, цілковитим видаленням DEFAULT для TEXT. ** SQLite: Доповнено коректним опрацюванням блокування файлів БД SQLite, при доступі до загальних бібліотек із різних процесів. ==== Збір Даних ==== * TController::alarmSet(): Розширено імплементацією концепції тригерування порушень, яка передбачає також пропущення порушень до буферу з метою очищення лише за наявності порушень. ** Глобально уніфіковано та цілковито описано у документації стосовно повідомлень із об'єктів контролерів та DAQ-параметрів, коли параметр-джерело у повідомлені доповнюється ім'ям об'єкту контролеру. ** FIX: Змінено на використання повного ID-шляху параметру, для запобігання колізіям у порушеннях від параметрів із однаковими ідентифікаторами, але різними джерелами. * FIX:*: Властивість period() заздалегідь актуалізовано, при зміні конфігурації "SCHEDULE", для забезпечення коректної періодичності даних архівів. * Розширено раннім ввімкненням бібліотек шаблонів у процесі завантаження, початково для транспортних протоколів заснованих на DAQ-шаблонах. * FIX:{{Anch|ModBus|'''ModBus'''}}: ** FIX: Режим "Асинхронний запис" відновлено та перевірено у записі після відновлення підключення, для використання у попереджені втрат. Асинхронний запис переміщено на після фази запиту із пригніченням-затримкою зміни записаних значень у атрибутах до очищення буферу запису. ** FIX: Виправлено роботу у режимі резервування. ** FIX: Загальну функцію upVal() поділено на дві функції upValStd() та upValLog() для окремого оновлення типів параметрів спочатку "Стандартний" та "Логічний" тип на останок, для випадків використання даних "Стандартного" типу параметрів у "Логічному". ** Розширено роботою із помилковим або порожнім транспортом підключень, щоб забезпечити його зміну із зовнішніх процедур. ** Розширено прапорцем "s" суворого запиту складних даних. * FIX:JavaLikeCalc: Розширено спробою відновлення виконання попередньої процедури у випадку помилок у новій, переважно із DAQ-шаблонів. ** FIX: Виправлено аварійне завершення при гарячій компіляції, переважно при повернені до коректної процедури після компіляції помилкової, у випадку використання процедурою внутрішніх функцій та можливо і зовнішніх також, через відсутність очищення "fPrmst". Всі ці очищення уніфіковано у функціях buildClear(), workClear(). ** Встановлено у зупинку функції при зміні джерела програми, для застосування змін. ** FIX: Попереджено рекурсивних викликів, що спостерігалося на рекурсивному створені віджетів у UI.VCAEngine. * Siemens: Розширено прямим визначенням типу даних адреси. LibnoDave оновлено до 0.8.5.1. * DAQGate: Розширено опцією та функцією розміщення різних віддалених контролерів у віртуальних параметрів. ==== Архіви-Історія ==== * FIX:Повідомлення: ** /serv/mess: Вдосконалено у вставці, стосовно незалежного запису до архіву та суто для оновлення наявних порушень. ** Повідомлення макросів "message", "mess_info", ... до функції Mess->put() переспрямовано на запис до буферу, для попередження прямого запису до архіваторів. ** TArchiveS::messPut() очищено від аргументу "force". * FIX:Значення: ** TVArchive::getVals(): Вдосконалено опрацювання невільних буферів (з фіксованою періодичністю) щодо запиту даних із буферу та різних архіваторів, використовуючи проміжний буферний масив, який програється в кінці. ** FIX: Вдосконалено опрацювання обмеження незалежно для буферу, архіваторів та їх періодичності, для роботи запитів даних на великому інтервалі та високій періодичності. ** FIX: TValBuf.get() перемкнено із генерації виключень на повернення EVAL за відсутності запитаних даних. ** Архіватори значень доповнено загальною опцією "Режим формування ID атрибуту автоматично створюваних архівів" із обранням із режимів: "Обидва ID параметру та атрибуту", "Тільки ID параметру", "Тільки ID атрибуту". Для можливості контролю найменування автоматичних архівів. ** TVArchive::{setVals(),setVal()}: Доступ до функцій запису до архіву обмежено лише користувачам у групі "Архів". * FIX:FSArch: Режим повідомлень у XML доповнено кешем позицій. ** FIX: Архівацію повідомлень значно вдосконалено та виправлено щодо розташування декількох різних повідомлень на один час. ** FIX: Виправлено стосовно видалення info.db та його опрацювання, використовуючи адресу БД як унікальну сутність замість обмеженого ідентифікатору БД, який наразі іменується через індексацію однакових. ** FIX: Створення теки архіву перенесено на початок, до блокування та створення info.db. ** FIX: Виправлено архівацію дубльованих повідомлень у режимі запобігання дублікатам - переписано. * FIX:DBArch: ** FIX: Виправлено включення архівів значень до архіватору для негрупового типу архівації. ** FIX: Остаточно виправлено запит одиночних значень архіву, після нецілковитого виправлення від 2018-02-23 лише для даних архіватору у періодичності 1 секунда. ** Адаптовано до роботи лише у режимі прямого запису архіву, для групового режиму архівів та щодо оновлення цільової інформації при записі. ==== Транспорти ==== * .,*: Розширено підтримкою обрання багатьох протоколів та функцію protocol() перейменовано у protocols(). ** Доповнено сервісом закриття вихідних транспортів за часом життя (неактивності) та функцією outLifeTime(), уніфіковане щодо контролю часу останнього запиту функцією lstReqTm(). * FIX:Serial: Виправлено режим "Модем" вихідного транспорту, коректним опрацюванням результату функції ResMtx::tryLock(). Поле керування потоком перенесено до поля опцій через потребу прямого вимкнення деякою опцією на кшталт -RS485. * FIX:Sockets,SSL: Розширено підтримкою IPv6 як для вхідних, так і вихідних транспортів, використовуючи getaddrinfo(). ** Доповнено опрацюванням (підключенням) всіх IP-адрес, отриманих із символічної, особливо для вихідних транспортів. ** Вихідні транспорти доповнено прямим визначенням декількох адрес хостів. ** Вихідні транспорти вдосконалено у використанні спроб після отримання помилки запиту "Перевищено час читання.". ** FIX:Sockets: Виправлено опрацювання вихідних транспортів із адресою "SOCK:{N}" від ініціативних підключень, щодо очищення адреси встановленням у "SOCK:-1", чим попереджаючи можливість перезапуску із використанням вже закритого описувача сокету, але можливо вже виділеного іншою частиною програми. *** Адресу вхідних транспортів у TCP-режимі може бути розширено додатковими параметрами та наразі наступним полем після режиму є ідентифікуюче повідомлення ініціативного підключення у режимі 2, тож цей режим розширено надсиланням ідентифікуючих повідомлень після встановлення ініціативних підключень. *** "TCP:" префікс адреси зроблено необов'язковим-опціональним. *** Режим адреси вхідного транспорту по замовченню встановлено у 1 (не закривати, лише за параметрами KeepAlive). *** Порт по замовченню встановлено у 10005. ** SSL: Доповнено опрацюванням NO_*_METHOD для TLS1, TLS1_1, TLS1_2, DTLS1 та прямою підтримкою DTLSv1_2. Порт по замовченню встановлено у 10045. ==== Транспортні Протоколи ==== * FIX:HTTP: Доповнено коректною підтримкою KeepAlive, функціями вхідних транспортів keepAliveTm() та keepAliveReqs(). Розширено таблицею БД "HTTP_AuthSessions" зовнішніх сеансів автентифікації. * FIX:ModBus: Вхідна частина розширена використанням DAQ-шаблонів. ** Перелік типів даних таблиці ВВ доповнено типом "Об'єкт". ** Визначення варіанту протоколу за вхідними запитами дещо покращено визначенням відмінності варіантів RTU та TCP, через врахування типу транспорту. * UserProtocol: Розширено підтримкою DAQ-шаблонів. * SelfSystem: Розширено підтримкою спроб вихідних транспортів. ==== Інтерфейс Користувача ==== * FIX: TUIS::mimeGet() змінено щодо поведінки визначення розширення файлу "svg" як "image/svg+xml" для коректного відображення SVG-файлів, та багатьох таких файлів, на WEB. * FIX:VCAEngine,Vision,'''WebVision''': Варіант "LineEdit" примітиву "FormEl" доповнено видом "Пароль". * FIX: СВУ-стилі переведено на схему ввімкнення стилів за їх присутності замість вимкнення із "Немає стилю" та виправлено створення нових елементів і загалом. * VCAEngine,Vision: Всю інформацію зведено у полі статусу для віджетів, бібліотек та проектів; що доповнено статусом виконуваної процедури - успадковано, перевизначено. * FIX:VCAEngine: ** Сторінки проектів доповнено типом "Посилання", для оптимізації споживання пам'яті на високо-динамічних та високо-повторюваних сторінках, на боці сеансу проекту. Відкриття сторінок при виконанні проекту (сеанси) покращено запобіганням зайвого та подвійного відкриття та закриття, що критично для контролю посилань на сторінки. ** Багато заходів щодо редагування візуальних елементів під час виконання проекту: *** Виправлено видалення сторінок проекту під час виконання проекту, щодо запобігання блокуванню об'єктів та забезпечення їх ранньому зв'язуванню для видалення сторінок сеансів разом із сторінками проектів. *** Об'єкти сеансів переведено на власне блокування даних задля запобіганню мертвому блокуванню у складних ситуаціях, оскільки виклики стилів використовують непрямий parent(). ** Оптимізація віддаленої розробки: *** інформаційні сервіси контролю "/prm/cfg/prj", "/page/page" доповнено отриманням кількості дочірніх сторінок у атрибуті "chPgN" за встановленням "getChPgN"; *** доповнено стосовно запобігання передачі іконок віджетів у контрольному сервісі "/serv/wlbBr" завантаження повного дерева віджетів, встановленням атрибутів "disIconsW", "disIconsCW". ** Сеанси проектів СВУ прибрано, на кінець, з під контролю модифікації режиму розробки. ** Додано пряме визначення специфічних до візуалізатору атрибутів, маркуючи їх префіксом "vs_". ** FIX: Команду сеансу проекту "close" сервісу "/serv/pg" примусово опрацьовується, що актуально для посилань на сторінки. ** FIX: Процедуру завантаження СВУ сторінок доповнено очищенням зайвих записів та записів успадкованих, але відсутніх віджетів, у таблиці "*_incl". ** FIX: Виправлено роботу функції користувацького API tr() із документів. * FIX:QTCfg,Vision: Виправлено опрацювання підсвітлення синтаксису текстових полів шляхом первинного завантаження правил синтаксису а потім тексту, для запобігання псуванню тексту у окремих випадках, виявлено у протоколі обміну транспорту та Qt 5.11. ** Доповнено кнопками примусового завантаження та збереження, до меню. ** Покращено формування Таблиць стосовно отримання наявної ширини із maximumViewportSize(). * FIX:Vision,'''WebVision''': Покращено контроль смуг прокрутки вкладених сторінок, для забезпечення їх роботи окремо, не двох разом. ** FIX:ElFigure: Завершено підтримку віддзеркалення, реалізацією: загалом, креслення Дуги, заповнення загалом та зображенням. Заповнення зображенням попереджено від прогалин при доступі поза зображенням. ** FIX:Діаграма: *** FIX:Тренди: Розширено побудову шкали часу, для багатьох діб із цілковитим приховуванням часу, та відображення першого значення ліворуч, використовуючи зміщення часової зони. Доповнено підтримкою великих часових інтервалів за місяцями. *** Вимкнено обмеження точності запитаних значень архіву, для довгих лічильників. *** Покращено віддалену роботу на повільних каналах та із періодичністю буферу значень у 10 секунд. ** Text,Media,Box: Розширено відображенням курсору активності. ** FormEl: Деякі види (Редагування рядку, Редагування тексту, Комбобокс, Перелік, Дерево, Таблиця) розширено окремим фоном та границею за допомогою специфічних користувацьких атрибутів "vs_background", "vs_border". ** Доповнено специфічним користувацьким атрибутом "vs_winTitle" динамічного значення заголовку вікна. * FIX:Vision: ** Оптимізація віддаленої розробки: *** Дерево проектів перемкнено на часткове завантаження гілок та розширення, для покращення роботи на повільних підключеннях. *** Дерево віджетів покращено у роботі на повільних підключеннях шляхом вимкнення завантаження іконок віджетів за порогом часу повного завантаження дерева більш 5 секунд та увімкнення цього для часу менше 0.1 секунди. ** Розширено плануванням періоду оновлення залежно від реальної якості підключення у режимі виконання, на кшталт '''UI.WebVision'''. ** FIX: Загальні виправлення та вдосконалення режимів виконання вікна: *** FIX: Ручне масштабування вікна виконання (стосовно повного екрану або максимізації) покращено та виправлено у опрацюванні ознаки isResizeManual. *** FIX: Виправлено запуск у повно-екранному режимі та не цілковите масштабування при відновленні у не нульову позицію вікна. ** FIX:FormEl: *** FIX:Таблиця: Покращено підлаштування до використання максимальної ширини із розміру віджету та максимуму порту відображення, оскільки лише максимум порту може бути тут ще не ініційованим. Остаточне виправлення підлаштування таблиць, переносом процедури до повідомлень: створити, змінити розмір та показати. Попереджено випадкові падіння. *** FIX:Date: Виправлено аварійне завершення при встановлені конфігурації. ** FIX: Виправлено регулярну заміну основної сторінки (аварійне завершення) та масштабування у режимі виконання. ** FIX: Виправлено виконання стосовно аварійного завершення у закритті зовнішніх вікон при закритті головного вікна. ** FIX: Виправлено діалоги редагування властивостей Сторінок/Бібліотек та Віджетів щодо: *** запобігання закриття за Esc; *** вимкнення скасування змін за часом у LineEdit; *** відв'язування ознаки редагованості від видимості у TextEdit; *** попередження втраті змін у вкладці "Обробка"; *** попередження про зміну успадкованої обчислювальної процедури. ** Контроль за фокусом переписано у специфічний довкола СВУ-віджетів контроль, та не Qt-віджетів, що схоже на UI.WebVision та що запобігає деяким проблемам. ** ElFigure: Редагування фігур переключено у нормальний режим, без будь-якої трансформації (обертання та віддзеркалення). * FIX:{{Anch|WebVision|'''WebVision'''}}: ** FIX:Основне функціювання: *** FIX: JS функцію servSet() запису до серверу переключено у синхронний режим для запобігання втратам. *** Уніфіковано основну перевірку фонових об'єктів стосовно підтримки опціональних фонових об'єктів, для зменшення загальної кількості фонових об'єктів, де обов'язковими наразі є: "ElFigure", "Діаграма", "Документ", "FormEl"; та опціональний лише "Текст". *** Межу вертикального розширення основного вікна встановлено у 10% від загального розміру та у 50% для зменшення, для запобігання миготінню на FireFox від приміток про блокування зовнішніх вікон. Встановлено використання-включення вбудованого режиму масштабування відповідно до window.devicePixelRatio рівного 1 на рівні Web-браузеру. *** Значно покращено виявлення втрати підключення для перевантаження основної сторінки, у випадках повернення до вже закритих сеансів у Web-браузері. *** Доповнено реалізацією специфічного до візуалізатору атрибуту "userSetVis". *** FIX: Відновлено перевантаження цілого дерева віджетів для відновлення функції видалення відсутніх віджетів у візуалізаторі за їх видалення у СВУ-рушії. *** FIX: Попереджено зайві та окремі запити вмісту вкладених сторінок при запуску. *** FIX: Покращено поведінку контролю фокусу та попереджено повідомлення миші поза сторінок. ** Доповнено контролем кешу сторінок за часом життя та максимальною кількістю сторінок як на боці серверу, так і Web-браузеру, відтак цей модуль наразі більш підходить для роботи у оперативному режимі! ** Контроль сеансів: *** Розширено можливістю ручного закриття відкритих сеансів від адміністративного користувача. *** FIX: Звичайні користувачі виключені від можливості підключення до чужих сеансів. *** FIX: Основний код запиту GET значно спрощено щодо запобіганню перепідключенням до СВУ-сеансів без локальних представників. *** Доповнено станом відкритих сеансів на сторінці контролю, включно із підключеним проектом та користувачем. ** FIX:Панель статусу: *** Додано рівень порушень із функцією глобальної квітації, надсиланням "ws_alarmLev". *** Розширено підтримкою СВУ-стилів у їх відображенні та зміні. *** FIX: Виправлено у формуванні розміру панелі статусу, оновлені та запобігання її миготіння при оновленні основної сторінки. ** FIX:FormEl: *** FIX:{Tree,Table}: виправлено розрахунок ширини границі та відступу у кінцевій геометрії. **** FIX:Tree: Виправлено опрацювання порожнього рядку у кінці. Доповнено масштабуванням зображень дерева керування. ** Розширено встановленням візуальних елементів СВУ щодо атрибуту "class" у "Примітив {WPrimitive}" та атрибуту "id" у ідентифікатор віджету на кшталт "wdg_{id}", для спрощення детального підлаштування. * FIX:QTStarter: Функцію updLookFeel() виправлено стосовно повернення типу "void". Додано емуляцію правої клавіші миші та контекстного меню при утриманні лівої клавіші миші протягом часу, встановленого опцією командного рядку --simulRightMKeyTm. Цей час встановлено у 2 секунди для Android. * FIX:QTCfg: ** FIX: Виправлено застосування-прийняття забутих змін редагованих віджетів при перемиканні до іншого вузла. Елементи TextEdit виправлено щодо визначення ознаки редагування, яку відв'язано від видимості. ** Додано натяк до груп вузлів для команди додання вузла. ** Операції переміщення, у конфігураційній таблиці, розширено гарячими клавішами "Ctrl+Up" та "Ctrl+Down". ** Оптимізація віддаленої роботи: *** Попереджено оновлення дерева навігації при обранні будь-якого елементу. *** Уповільнення циклу періодичного оновлення після появи діалогу зайнятості. ** Прискорено закриття вікна конфігуратору із багатьма неактивними OpenSCADA хостами, шляхом раннього сповіщення завдань хостів. * WebUser: Розширено підтримкою DAQ-шаблонів. ==== Спеціальні ==== * FIX:FLibSYS: ** FIX:IO: write() виправлено щодо отримання типового типу даних, отримання помилкових даних зроблено безпечним. ** CRC: Завершено використанням нормальних поліномів, вхідних та вихідних відносностей та XOR для виходу. ** VArchObj: Доступ до функції запису у архів обмежено лише користувачам у групі "Архів". ==== Сервісні оновлення ==== * [http://oscada.org/svn/tags/openscada_0.9/ChangeLog?p=2697 п'яте (5) від 20.07.2020]. * [http://oscada.org/svn/tags/openscada_0.9/ChangeLog?p=2693 четверте (4) від 07.07.2020]. * [http://oscada.org/svn/tags/openscada_0.9/ChangeLog?p=2688 трете (3) від 15.06.2020]. * [http://oscada.org/svn/tags/openscada_0.9/ChangeLog?p=2684 друге (2) від 01.06.2020]; * [http://oscada.org/svn/tags/openscada_0.9/ChangeLog?p=2680 перше (1) від 11.05.2020].
Navigation menu
OpenSCADA
Site
Download
Old Wiki
OpenSCADA Wiki
Home
About OpenSCADA
Functions and demands
Tasks
Using
Fund
Recent changes
Random page
Search
Tools
Special pages
Printable version
MediaWiki
Help
Personal tools
English
Log in