専門家、コミュニケーション
は誰でもアレン・ブラドリーにより1768-EWEBモジュールのセットアップに成功しています?。私の問題の範囲は、EWEBモジュール内のディレクトリの下に保存されたxmlファイルを更新するWebページと、それがモジュールによって読み取られ、PLCに送り返されます。
このマニュアルは、これを実現する唯一の方法が「WebページフォームとPOSTハンドラ」を使用していることに非常に特有です。
マニュアルに提供されたコードのサンプルは、以下である:
<html>
<head>
<title>
Data View Javascript Demo Page
</title>
<script type="text/javascript">
var xmlDoc;
var xmlhttp;
var DATAVIEW_URI = "/user/system/dataviews/Sample.xml";
var DATAVIEW_NAMESPACE = "http://www.rockwellautomation.com/technologies/data_access/data_views/1.0/";
var DATATYPES_NAMESPACE = "http://www.rockwellautomation.com/technologies/data_access/data_types/1.0/";
var ARR_ACTIVEX = ["MSXML4.DOMDocument", "MSXML3.DOMDocument", "MSXML2.DOMDocument", "MSXML.DOMDocument",
"Microsoft.XmlDom"];
var STR_ACTIVEX = "";
var isIE = navigator.userAgent.toLowerCase().indexOf("msie") > -1;
if (isIE) {
var bFound = false;
for (var i=0; i < ARR_ACTIVEX.length && !bFound; i++) {
try {
var objXML = new ActiveXObject(ARR_ACTIVEX[i]);
STR_ACTIVEX = ARR_ACTIVEX[i];
bFound = true
} catch (objException) {}
}
if (!bFound) {
/* No DOM found, so throw a message and go back */
alert("Creating/editing a data view requires Internet Explorer 5.5 or greater with XML support. Please
upgrade your browser or load the appropriate patches to support XML.");
history.go(-1);
}
} else {
/* Not IE, so throw a message and go back */
alert("Creating/editing a data view requires Internet Explorer 5.5 or greater with XML support. Please
upgrade your browser or load the appropriate patches to support XML.");
history.go(-1);
}
xmlDoc = new ActiveXObject(STR_ACTIVEX)
xmlDoc.async = false;
xmlDoc.setProperty("SelectionLanguage", "XPath");
if (STR_ACTIVEX.indexOf(".DOMDocument") != -1) {
xmlhttp = new ActiveXObject(STR_ACTIVEX.substring(0, STR_ACTIVEX.indexOf(".DOMDocument")) +
".XMLHTTP");
} else {
alert("Creating/editing a data view requires Internet Explorer 5.5 or greater with XML support. Please
upgrade your browser or load the appropriate patches to support XML.");
history.go(-1);
}
function refresh_value() {
xmlDoc.load(DATAVIEW_URI);
xmlDoc.setProperty("SelectionNamespaces", "xmlns:dv='" + DATAVIEW_NAMESPACE + "'");
document.getElementById("tagvalue").value =
xmlDoc.selectSingleNode("/dv:view/dv:tag[@name='TEST']/dv:value").childNodes[0].nodeValue;
}
function update_value() {
xmlDoc.selectSingleNode("/dv:view/dv:tag[@name='TEST']/dv:value").childNodes[0].nodeValue =
document.getElementById("tagvalue").value;
xmlhttp.Open("POST", DATAVIEW_URI, false);
xmlhttp.Send(xmlDoc);
refresh_value();
}
</script>
</head>
<body onLoad="refresh_value();">
TEST value is <input type="text" name="tagvalue" id="tagvalue" /><br/>
<input type="button" onClick="refresh_value();" value="Refresh"/><input type="button"
onClick="update_value();" value="Update"/>
</body>
</html>
I(すなわち10上の)上記のコードをテストする場合、それは動作しません。フィールドフォームは空白です。マニュアルによると、それは125を表示する必要があります(ウィザードでxmlを作成する手順はすでに完了しています)。
誰もこのWebモジュールで作業する機会がありましたか?このデバイスは2004年から2006年のもので、サーバー側の言語として.aspのみを処理します。
ありがとうございます。
私はそれをテキストファイルtest.htmlにコピーし、IE10でデバッグすると、refresh_value()関数が見つからないというエラーがスローされます。私はスクリプトの妥当性を疑うだろう。また、私はこの質問にhtmlでタグ付けすることをお勧めします – strongbutgood