Systém PROMOTIC přistupuje k ovladači
AtouchX objektem
PmaActiveX. Tento objekt zpřístupňuje volání metod
AtouchX a zachytává jeho události.
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.
Ke komunikaci je třeba mít v počítači nainstalován samotný
AtouchX. Ten je volně ke stažení u výrobce a postupuje se podle pokynů instalačního programu.
Pro ty
PLC, 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 je čtení z archívu vyžadováno.)
Konfigurace komunikace v systému PROMOTIC
Konfigurační soubory pro
AtouchX je nutno mít ve složce
Cfg PROMOTIC aplikace
Ve stromu objektů aplikace PROMOTIC se založí:
Předkonfigurace obsahuje pouze několik běžně používaných metod
AtouchX pro čtení i zápis do proměnných v PLC 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
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 data přišlá 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
PmaActiveXJavaScriptVBScriptVyber a zkopíruj do schránky
var val0, val1;
if (Result >= 1024)
{
switch (WID)
{
case 2314:
pMe.Pm("/Data/#vars/d2314") = 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") = 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
PmaActiveXJavaScriptVBScriptVyber a zkopíruj do schránky
var oApp = pMe.Pm("../AtouchApp").Acx;
var mInfo = Pm.CreatePmMap();
mInfo.ParValue = Pm.CreatePmArray().Create(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 = Array(5)
Dim nState
nState = oApp.DBGetInfo(nWID, INFO)
Obchodní podmínky: Použití objektu PmaActiveX vyžaduje zakoupení licence "PmActiveX". S freeeware verzí PmFree nebo při vývoji aplikace (s vývojovou licencí pro testovací účely) je tato komponenta funkční vždy.