УкраїнськаEnglishmRussian
Вхід/Новий
У темі немає нових постів

[BugWrong] Вопрос XMLзарос


Автор Повідомлення
Повідомлення створено: 07. 04. 2014 [16:24]
monia
Олег Намятов
Автор теми
Зареєстрован(а) с: 21.05.2012
Повідомлення: 173
После обновления, появились непонятные ошибки после выполнения XML запросов

Скрипт создания или изменения узла транспортного протокола
JAVASCRIPT
в зависимости от начальных настроек выполняется создание или изменения узла
 
//Имя
				XML_Req = SYS.XMLNode("set").setAttr("path","/sub_Protocol/mod_ModBus/n_" + NameNode +  "/%2fnd%2fcfg%2fNAME").setText(NN);
				SYS.cntrReq(XML_Req);
//Включать
				XML_Req = SYS.XMLNode("set").setAttr("path","/sub_Protocol/mod_ModBus/n_" + NameNode +  "/%2fnd%2fcfg%2fEN").setText(p0);
				SYS.cntrReq(XML_Req);
//Адрес
				if(!fCrtHisPrm)
					MBAdr = 1;
				else
					MBAdr = 2;
 
				XML_Req = SYS.XMLNode("set").setAttr("path","/sub_Protocol/mod_ModBus/n_" + NameNode +  "/%2fnd%2fcfg%2fADDR").setText(MBAdr);
				SYS.cntrReq(XML_Req);
//Входящий транспорт
				XML_Req = SYS.XMLNode("set").setAttr("path","/sub_Protocol/mod_ModBus/n_" + NameNode +  "/%2fnd%2fcfg%2fInTR").setText("Sockets." + IdKot + "_TT");
				SYS.cntrReq(XML_Req);
//Протокол
				XML_Req = SYS.XMLNode("set").setAttr("path","/sub_Protocol/mod_ModBus/n_" + NameNode +  "/%2fnd%2fcfg%2fPRT").setText("TCP/IP");
				SYS.cntrReq(XML_Req);
//Режим
				XML_Req = SYS.XMLNode("set").setAttr("path","/sub_Protocol/mod_ModBus/n_" + NameNode +  "/%2fnd%2fcfg%2fMODE").setText("Данные");
				SYS.cntrReq(XML_Req);
//Период обсчета данных (с)
				XML_Req = SYS.XMLNode("set").setAttr("path","/sub_Protocol/mod_ModBus/n_" + NameNode +  "/%2fnd%2fcfg%2fDT_PER").setText(p1);
				SYS.cntrReq(XML_Req);
 
+ скрипт  на заполнения таблицы параметров и кода их обработки


По выполнению скрипта должен появляется работоспособный узел транспортного протокола (данным скриптом создал 94 * 2 узла которые нормально функционировали)
После обновления, когда я захотел пересоздать узел транспортного протокола, узел пересоздался и даже запустился без всяких ошибок. Только вот данные на него перестали идти. Вот и не пойму почему?

JAVASCRIPT
Смотрел следующие параметры в течении 10мин (параметры  приходят как минимум раз в мин)
[b]
Статус: Включен. Затрачено времени: 226мкс. Запросов 0. Прочитано 0 регистров, 0 битов. Записано 0 регистров, 0 битов.
[/b]


Попробовал изменить узел руками, все заработал и данные пошли (просто изменил необходимый параметр в самом узле), так же сработало и с SQL запросом (весь проект хранится в SQLite)

JAVASCRIPT
[b]
Статус: Включен. Затрачено времени: 226мкс. Запросов 27. Прочитано 0 регистров, 0 битов. Записано 652 регистров, 0 битов.
[/b]


Сравнил созданные узлы скриптом раньше (до обновления) и текущие, ни чем не отличаются (да и сами скрипт создания узла не менял).

Вопрос, почему так происходит?

Повідомлення створено: 07. 04. 2014 [18:19]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"monia" wrote:

Вопрос, почему так происходит?

Ничего существенного не менял в Protocol.ModBus более трёх месяцев.
У меня проблем нет.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 08. 04. 2014 [07:17]
monia
Олег Намятов
Автор теми
Зареєстрован(а) с: 21.05.2012
Повідомлення: 173
Нашел ошибку у себя в скрипте
на тот момент когда я его писал, "Протокол" был "TCP/IP", а сейчас он "TCP"

Изменил
JAVASCRIPT
//Протокол
				XML_Req = SYS.XMLNode("set").setAttr("path","/sub_Protocol/mod_ModBus/n_" + NameNode +  "/%2fnd%2fcfg%2fPRT").setText("TCP/IP");
				SYS.cntrReq(XML_Req);


на

JAVASCRIPT
//Протокол
				XML_Req = SYS.XMLNode("set").setAttr("path","/sub_Protocol/mod_ModBus/n_" + NameNode +  "/%2fnd%2fcfg%2fPRT").setText("TCP");
				SYS.cntrReq(XML_Req);

и все заработало как нужно



6162