System PROMOTIC komunikuje się z driverem
AtouchX przy pomocy obiektu
PmaActiveX. Obiekt ten udostępnie wołanie metod obiektu
AtouchX i wychwytuje jego zdarzenia.
Obiekt
AtouchX jest do dyspozycji na
https://amitomation.cz, skąd można go pobrać
bezpłatnie.
Następujcy tekst opisuje ustawienie oraz podstawowe kroki poprawnego działania komunikacji przy pomocy obiektu
AtouchX w systemie PROMOTIC. (Czechy,
https://amitomation.cz).
Instalacja oraz ustawienia obiektu AtouchX
Kompletne informacje do drivera
AtouchX udzieli firma
AMiT.
Driver istnieje tylko w wersji 32-bit ale od wersji
293 w metodzie
"NetPutData" nie jest wymagany konkretny typ danych w przesyłanych wartościach. W ten sposób jest prostrzy w użyciu podczas komunikacji w języku
JavaScript.
Do komunikacji jest konieczne mieć na danym komputerze zainstalowany obiekt
AtouchX. Można go pobrać bezpłatnie u producenta w Webie i postępować zgodnie z instrukcjami instalatora.
Dla tych
PLC, z którymi aplikacja PROMOTIC będzie się komunikować musi projektant AMiT wytworzyć pliki konfiguracyjne. Zazwyczaj o nazwie
sDBfile.ini,
sHWfile.inioraz dla archiwów
sArchFile.ini.
Te zawierają:
sDBfile.ini: listę stacji oraz ich parametry do połączenia
sHWfile.ini: lista zmiennych, ich numer (WID), typ, numer odpowiedniej stacji oraz opis zmiennej
sArchFile.ini: parametry do odczytu danych z archiwów (tylko jeżeli odczyt z archiwów jest wymagany).
Konfiguracja komunikacji w systemie PROMOTIC
Pliki konfiguracyjne dla obiektu
AtouchX należy mieć w folderze
Cfg aplikacji PROMOTIC
W drzewie obiektów aplikacji PROMOTIC należy wstawić:
Konfiguracja wstępna zawiera tylko kilka często stosowanych metod obiektu
AtouchX do odczytu i zapisu do zmiennych w sterowniku PLC oraz dwie metody stwierdzające informacje o ustawieniach lub konfiguracji.
Interfejs komunikacji tworzą metody projektanta obiektu
PmaFolder.
Znajdują się tam metody inicjalizacyjne oraz komunikacyjne. Ich nazwy oraz parametry są zgodne z nazwami metod i parametrów w obiekcie
AtouchX.
W karcie "
ActiveX zdarzenia" obiektu
PmaActiveX znajdują się zdarzenia (parami do nazw wołanych metod), w których można opracować dane odczytane z komunikacji.
Przykłady wołania metod oraz ich opracowanie
Przykład NetDetData, NetDetDataMtx:
Wołanie metody "NetDetData" do odczytu wartości jednej zmiennej lub metody "NetDetDataMtx" do odczytu tablicy wartości
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var nErr = pMe.Pm("/AmitAtouchX").NetGetData(2314, 100);
// WID, params
// lub
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
' lub
Dim nErr
nErr = pMe.Pm("/AmitAtouchX").NetGetDataMtx(1810, 2, 3, 6, 12, 100)
' WID, Row, Col, Rows, Cols, params
Przykład opracowania danych w zdarzeniu
EndNetDetDataMtx obiektu
PmaActiveX
JavaScriptVBScriptWybierz oraz skopiuj do schowka
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
Przykład DBGetInfo:
Wołanie metody "DBGetInfo" do odczytu informacji o zmiennej
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var nErr = pMe.Pm("/AmitAtouchX").DBGetInfo(2314);
// WID
Dim nErr
nErr = pMe.Pm("/AmitAtouchX").DBGetInfo(2314)
' WID
Przykład wywołania metody
"DBGetInfo" oraz opracowania wejściowo/wyjściowej wartości typu
Array obiektu
PmaActiveX
JavaScriptVBScriptWybierz oraz skopiuj do schowka
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)
Warunki handlowe:
Zastosowanie obiektu
PmaActiveX wymaga zakup
licencji "PmDllActiveX". Podczas wytwarzania aplikacji w trybie freeware
PmFree lub z
licencją deweloperską oraz podczas jej testowania w runtime element ten jest zawsze funkcjonalny.