EnglishУкраїнськаmRussian
Login/New
Topic with many replies

Помогите разобраться -


Author Message
Written on: 29. 09. 2011 [10:44]
Maxim
Maxim Lisenko
Contributor
registered since: 18.08.2008
Posts: 141
А если у параметров на мнемосхеме нету такой общей части, т.е. они связываются с параметрами из различных источников данных..?
И что жуткого в том чтобы переобвязать несколько десятков параметров с помощью Ctrl+C и Ctrl+V?
З.Ы. Желательно все же обвязку параметров делать на последней стадии, когда уже таких глобальных изменений не предвидится :-)
Written on: 29. 09. 2011 [10:57]
yozhik
Алексей Николаев
registered since: 29.11.2010
Posts: 127
"Maxim" wrote:

А если у параметров на мнемосхеме нету такой общей части, т.е. они связываются с параметрами из различных источников данных..?
И что жуткого в том чтобы переобвязать несколько десятков параметров с помощью Ctrl+C и Ctrl+V?
З.Ы. Желательно все же обвязку параметров делать на последней стадии, когда уже таких глобальных изменений не предвидится :-)

Жуткого в переобвязке параметров с помощью Ctrl+C и Ctrl+V ничего нет. Сейчас так и делаю. Но это до тех пор, пока их количество более-менее приемлимое. Про обвязку на последней стадии - задним числом-то все мы умные. Знал бы прикуп - жил бы в Сочи.

Очевидно, что не у всех параметров есть общая часть. Даже скорее всего эти части разные. Поэтому можно, к примеру, задавать эти общие части через переменные, которые в свою очередь инициализировать где-то в одном месте. Думал может что-то подобное уже в каком-то виде реализовано, просто я не в курсе.

Это сняло бы еще одну проблему, когда одна и та же мнемосхема используется несколько раз для одних и тех же параметров, но из разных источников (как, например, частично в проекте AGLKS).
Written on: 29. 09. 2011 [12:31]
Vandrizm
Игорь М
registered since: 31.07.2010
Posts: 55
Возможно тебе подойдёт такой способ:
Чтение и запись значений атрибутов подсистемы "Сбор данных" функцией
Written on: 29. 09. 2011 [17:30]
yozhik
Алексей Николаев
registered since: 29.11.2010
Posts: 127
"Vandrizm" wrote:

Возможно тебе подойдёт такой способ:
Чтение и запись значений атрибутов подсистемы "Сбор данных" функцией

Можно конечно ручками и таким образом. Но, честно говоря, хрен редьки не слаще.
Written on: 17. 11. 2011 [09:34]
yozhik
Алексей Николаев
registered since: 29.11.2010
Posts: 127
В чем разница между SYS.system() и Special.FLibSYS.sysCall()? Какую лучше использовать?
Written on: 17. 11. 2011 [09:45]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"yozhik" wrote:

В чем разница между SYS.system() и Special.FLibSYS.sysCall()? Какую лучше использовать?

Первая - новое, вторая - старое API.

Learn, learn and learn better than work, work and work.
Written on: 17. 12. 2011 [23:57]
andrey-sw
Андрей Сычев
registered since: 10.12.2008
Posts: 32
Помогите разобраться в данной ситуации
Есть прибор ТРМ212, опрашиваю по Modbus через преобразователь
В приборе есть некий вешественный параметр но отдается он как целое число и положение точки.
Соответственно создаём в шаблоне LogicLev три атрибута

Sp / целое / выход / не атрибут / связь / TRM212|sp
prec / целое / вход / только чтение / связь / TRM212|sp
X / вещест. / выход / полный доступ / константа /

Соответственно программа
using Special.FLibSYS;
X=Sp/pow(10,prec);

Но нужно что бы оператор мог менять параметр X с последующим обратным преобразованием и записью в контроллер
Я сделал следующее, добавил еще оди атрибут
oldX / вещест. / выход / не атрибут / константа /

Соответственно программа
using Special.FLibSYS;
if( oldX!=EVAL_REAL && oldX!=X ) { Sp=X*pow(10,prec);}
oldX=X=Sp/pow(10,prec);

Вроде работает, но почемуто кажется что это не совсем верный подход, и существует опасность записи в контролер неверных значение например в момент старта. Может есть другие решения.

И еще немоглибы вы пояснить чуть подробнее роль параметров атрибута [Режим(вх вых)] и [Атрибут(не атриб, только чтение, полный доступ) по отдельности вроде все понятно но до конца не могу в голове уложить кто отвечает за доступ к физ контролеру через связ а кто к самому атрибуту например из UI
Written on: 18. 12. 2011 [20:10]
andrey-sw
Андрей Сычев
registered since: 10.12.2008
Posts: 32
И еще один вопросик. Можно ли из визуализации получить имя атрибута в логическом контроллере по его ID чтобы в нескольких местах не прописывать человекопонятные имена атрибутов. Ну или хотя бы имя атрибута в виджете по его ID, чтобы в тексте программы не повторять одно и тоже.
В конфигураторе этот механизм используется слош и рядом... Кстати в конфигураторе это не совсем удобно, например когда смотришь атрибуты у лог.контроллера и видишь длиннющие названия. На мой взгляд было бы удобнее если бы отображался ID атрибута а при наведении мышки всплывала подсказка с его именем... Это на мой взгляд но если меня поддержат - примите на заметку.

[This article was edited 1 times, at last 18.12.2011 at 20:24.]
Written on: 20. 12. 2011 [13:59]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"andrey-sw" wrote:

Вроде работает, но почемуто кажется что это не совсем верный подход, и существует опасность записи в контролер неверных значение например в момент старта. Может есть другие решения.

Креститься нужно если кажется. Запись по связям производится только при модификации в скрипте или транзитом!

"andrey-sw" wrote:

И еще немоглибы вы пояснить чуть подробнее роль параметров атрибута [Режим(вх вых)] и [Атрибут(не атриб, только чтение, полный доступ) по отдельности вроде все понятно но до конца не могу в голове уложить кто отвечает за доступ к физ контролеру через связ а кто к самому атрибуту например из UI

В документации нормально описано (дополнил).

"andrey-sw" wrote:

И еще один вопросик. Можно ли из визуализации получить имя атрибута в логическом контроллере по его ID чтобы в нескольких местах не прописывать человекопонятные имена атрибутов. Ну или хотя бы имя атрибута в виджете по его ID, чтобы в тексте программы не повторять одно и тоже.

У атрибута параметра смотрим здесь: http://wiki.oscada.org/Doc/OpisanieProgrammy#h920-10 , у атрибута виджета не имеет смысла.

Learn, learn and learn better than work, work and work.
Written on: 24. 05. 2012 [14:34]
legend
Oleg N
registered since: 13.04.2012
Posts: 63
Добрый день.
Необходимо в архив аварийных сообщений записывать сообщение об отсутствии или потери связи при случайном извлечении USB адаптера RS-485.

Пытался получить статус транспортного протокола по аналогии с функцией "Запрос интерфейса управления (xmlCntrReq)":
JAVASCRIPT
using Special.FLibSYS;
req = xmlNode("get").setAttr("path","/sub_Transport/Serial/out_testModBus/%2fprm%2fst%2fen");
rez = xmlCntrReq(req);
messPut("test",6,"Значение: "+req.text());

В ответ получаю: "Значение: get:/sub_Transport/Serial/out_testModBus/%2fprm%2fst%2fen:> Ошибка элемента управления '/prm/st/en'!"

Подскажите пожалуйста, как получить статус (выполняется или остановлен) testModBus модуля Транспорты (последовательный интерфейс - выходной транспорт - testModBus)




2796