Systém PROMOTIC přistupuje k ovladači
AtouchX objektem
PmaActiveX. Tento objekt zpřístupňuje volání metod objektu
AtouchX a zachytává jeho události.
Objekt
AtouchX je k dispozici na
https://amitomation.cz, odkud lze provést download
zdarma.
Následující text popisuje nastavení a základní kroky úspěšné komunikace pomocí objektu
AtouchX v systému PROMOTIC. (Česko,
https://amitomation.cz).
Instalace a nastavení objektu AtouchX
Kompletní informace k ovladači
AtouchX poskytne firma
AMiT.
Ovladač je pouze ve 32-bitové verzi ale od verze
293 se nevyžaduje v metodě
"NetPutData" konkrétní datový typ v zasílaných hodnotách. Tím je snadněji použitelný při komunikaci v jazyce
JavaScript.
Ke komunikaci je nutno mít v počítači nainstalován objekt
AtouchX. Ten je volně ke stažení u výrobce na Webu a postupuje podle pokynů.
Pro ty PLC automaty, se kterými bude aplikace PROMOTIC komunikovat musí programátor AMiT vyhotovit konfigurační soubory. Obvykle se nazývají
sDBfile.ini,
sHWfile.inia pro archívy
sArchFile.ini.
Ty obsahují:
sDBfile.ini: seznam stanic a jejich parametry pro připojení
sHWfile.ini: seznam proměnných, jejich číslo (WID), typ, číslo příslušné stanice a popis proměnné
sArchFile.ini: parametry pro čtení dat z archívů (pouze pokud čtení z archívu je vyžadováno).
Konfigurace komunikace v systému PROMOTIC
Konfigurační soubory pro objekt
AtouchX je nutno mít ve složce
Cfg aplikace PROMOTIC
Ve stromu objektů aplikace PROMOTIC se založí:
Předkonfigurace obsahuje pouze několik běžně používaných metod objektu
AtouchX pro čtení i zápis do proměnných v PLC automatu a dvě metody zjišťující informace o nastavení nebo konfiguraci.
Komunikační rozhraní tvoří metody projektanta objektu
PmaFolder.
Jsou tam metody inicializační a komunikační. Jejich názvy a parametry jsou shodné s názvy metod a parametrů v objektu
AtouchX.
V kartě "
ActiveX události" objektu
PmaActiveX jsou události (v páru s názvy volaných metod), ve kterých je možno přijatá data z komunikace zpracovat.
Příklady volání metod a jejich zpracování
Příklad NetDetData, NetDetDataMtx:
Volání metody "NetDetData" pro čtení hodnoty jedné proměnné nebo metody "NetDetDataMtx" pro čtení matice hodnot
JavaScriptVBScriptVyber a zkopíruj do schránky
var nErr = pMe.Pm("/AmitAtouchX").NetGetData(2314, 100);
// WID, params
// nebo
var nErr = pMe.Pm("/AmitAtouchX").NetGetDataMtx(1810, 2, 3, 6, 12, 100);
// WID, Row, Col, Rows, Cols, params
Dim nErr
nErr = pMe.Pm("/AmitAtouchX").NetGetData(2314, 100)
' WID, params
' nebo
Dim nErr
nErr = pMe.Pm("/AmitAtouchX").NetGetDataMtx(1810, 2, 3, 6, 12, 100)
' WID, Row, Col, Rows, Cols, params
Příklad zpracování dat v události
EndNetDetDataMtx objektu
PmaActiveX
JavaScriptVBScriptVyber a zkopíruj do schránky
var val0, val1;
if (Result >= 1024)
{
switch (WID)
{
case 2314:
pMe.Pm("/Data/#vars/d2314").Value = DATA;
break;
case 1810:
val0 = DATA.getItem(0, 0);
val1 = DATA.getItem(0, 1);
break;
}
}
Dim val0, val1
If Result >= 1024 Then
Select Case WID
Case 2314
pMe.Pm("/Data/#vars/d2314").Value = DATA
Case 1810
val0 = DATA(0, 0)
val1 = DATA(0, 1)
End Select
End If
Příklad DBGetInfo:
Volání metody "DBGetInfo" pro čtení informací o proměnné
JavaScriptVBScriptVyber a zkopíruj do schránky
var nErr = pMe.Pm("/AmitAtouchX").DBGetInfo(2314);
// WID
Dim nErr
nErr = pMe.Pm("/AmitAtouchX").DBGetInfo(2314)
' WID
Příklad volání metody
"DBGetInfo" a zpracování vstupně/výstupní hodnoty typu
Array objektu
PmaActiveX
JavaScriptVBScriptVyber a zkopíruj do schránky
var oApp = pMe.Pm("../AtouchApp").Acx;
var mInfo = Pm.CreatePmMap();
mInfo.ParValue = Pm.CreatePmArray(1, 5);
var nState = Pm.CallAxMethod("", oApp, "DBGetInfo", nWID, mInfo);
Pm.Debug("return INFO: " + mInfo.ParValue);
Dim oApp
oApp = pMe.Pm("../AtouchApp").Acx
Dim INFO
INFO = Pm.Array1(5)
Dim nState
nState = oApp.DBGetInfo(nWID, INFO)
Obchodní podmínky:
Použití objektu
PmaActiveX vyžaduje zakoupení
licence "PmDllActiveX". Při vývoji aplikace ve freeware módu
PmFree nebo s
vývojovou licencí a při jejím testování v runtime je tato komponenta vždy funkční.