Hello,
We have probecard with EEPROM memory that we are reading from and writing value to.
The vendor supplies DLL allowing to read/write value to the memory.
The software engineer is able to write C# application as well as JavaScript and simple webpage to do the reading/writing.
For the webpage(JavaScript), it’s just a simple form with fields. User enters values and click button to write data to the memory.
Our department develops Ignition application for other purposes but there is a new request to integrate read/write functionality to our Ignition application.
I’m seeking an easier route by trying to use web browser module. I was thinking that whatever it’s running in the web page, should be fine with the web browser component; unfortunately, it’s not.
Looking into the Javascript and I found that the ActiveXObject is being used which I believe that it’s not supported anymore.
After extensive searching in forum, I know that ctype is limited in Jython.
Native Java might be another alternative but I’m not certain.
Anyone has any suggestion what should I do?
Gateway 7.8.4
Java 8_91
Web Browser module 2.8.2 (b2016030813)
[quote]Message from click Read button through Web Browser component
04:14:50 INFO: READ: OnRunJavaScriptDialogMessage{type=OnRunJavaScriptDialog, uid=149, dialogId=1, originURL=‘http://chimpv2s107/’, acceptLang=’’, messageType=0, messageText=‘undefined’, defaultPromptText=’’, isReload=false}, SocketInfo{channelId=0, browserId=0, channelType=Browser}[/quote]
[code]JavaScript
function readPcEEPROM ( )
{
try
{
// Allocate and initialize
var dio = new ActiveXObject(“Kdio.KeithleyDio”);
var ll = new ActiveXObject(“LowLevel.Feature”);
var mb = new ActiveXObject(“Motherboard.Motherboard”);
ll.SetDigitalInterface(“KPCI3160 0 0”, dio);
mb.Interface = ll;
// create output object
var argsOut = new Object();
code = mb.ReadProbecardEEPROM(argsOut);
if ( code )
throw new Error ( code, "Failed Reading Probecard EEPROM" );
pcType.value = argsOut.ProbeCardType;
pcTypeRevision.value = argsOut.ProbeCardRevision;
pcMfg.value = argsOut.ProbeCardManufacturer;
pcSN.value = argsOut.ProbeCardSerialNumber;
pcDeploymentTS.value = argsOut.ProbeCardDeploymentTS;
pcEditorUserID.value = argsOut.EditorUserID;
pcSpareField.value = argsOut.SpareField;
pcComment.value = argsOut.Comment;
}
catch (e)
{
alert(e.description);
}
}[/code]