| Автор |
Сообщение |
|
Сообщение создано: 29. 09. 2011 [10:44]
|
|
Maxim
Максим Лысенко
Contributor Developer
Зарегистрирован(а) с: 18.08.2008
Сообщения: 132
|
А если у параметров на мнемосхеме нету такой общей части, т.е. они связываются с параметрами из различных источников данных..?
И что жуткого в том чтобы переобвязать несколько десятков параметров с помощью Ctrl+C и Ctrl+V?
З.Ы. Желательно все же обвязку параметров делать на последней стадии, когда уже таких глобальных изменений не предвидится :-)
|
|
Сообщение создано: 29. 09. 2011 [10:57]
|
|
yozhik
Алексей Николаев
Зарегистрирован(а) с: 29.11.2010
Сообщения: 127
|
"Maxim" wrote:
А если у параметров на мнемосхеме нету такой общей части, т.е. они связываются с параметрами из различных источников данных..?
И что жуткого в том чтобы переобвязать несколько десятков параметров с помощью Ctrl+C и Ctrl+V?
З.Ы. Желательно все же обвязку параметров делать на последней стадии, когда уже таких глобальных изменений не предвидится :-)
Жуткого в переобвязке параметров с помощью Ctrl+C и Ctrl+V ничего нет. Сейчас так и делаю. Но это до тех пор, пока их количество более-менее приемлимое. Про обвязку на последней стадии - задним числом-то все мы умные. Знал бы прикуп - жил бы в Сочи.
Очевидно, что не у всех параметров есть общая часть. Даже скорее всего эти части разные. Поэтому можно, к примеру, задавать эти общие части через переменные, которые в свою очередь инициализировать где-то в одном месте. Думал может что-то подобное уже в каком-то виде реализовано, просто я не в курсе.
Это сняло бы еще одну проблему, когда одна и та же мнемосхема используется несколько раз для одних и тех же параметров, но из разных источников (как, например, частично в проекте AGLKS).
|
|
Сообщение создано: 29. 09. 2011 [12:31]
|
|
Vandrizm
Игорь М
Зарегистрирован(а) с: 31.07.2010
Сообщения: 31
|
Возможно тебе подойдёт такой способ:
Чтение и запись значений атрибутов подсистемы "Сбор данных" функцией
|
|
Сообщение создано: 29. 09. 2011 [17:30]
|
|
yozhik
Алексей Николаев
Зарегистрирован(а) с: 29.11.2010
Сообщения: 127
|
Можно конечно ручками и таким образом. Но, честно говоря, хрен редьки не слаще.
|
|
Сообщение создано: 17. 11. 2011 [09:34]
|
|
yozhik
Алексей Николаев
Зарегистрирован(а) с: 29.11.2010
Сообщения: 127
|
В чем разница между SYS.system() и Special.FLibSYS.sysCall()? Какую лучше использовать?
|
|
Сообщение создано: 17. 11. 2011 [09:45]
|
|
roman
Roman Savochenko
Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 1460
|
"yozhik" wrote:
В чем разница между SYS.system() и Special.FLibSYS.sysCall()? Какую лучше использовать?
Первая - новое, вторая - старое API.
Учиться, учиться и учиться лучше чем работать, работать и работать.
|
|
Сообщение создано: 17. 12. 2011 [23:57]
|
|
andrey-sw
Андрей Сычев
Зарегистрирован(а) с: 10.12.2008
Сообщения: 21
|
Помогите разобраться в данной ситуации
Есть прибор ТРМ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
|
|
Сообщение создано: 18. 12. 2011 [20:10]
|
|
andrey-sw
Андрей Сычев
Зарегистрирован(а) с: 10.12.2008
Сообщения: 21
|
И еще один вопросик. Можно ли из визуализации получить имя атрибута в логическом контроллере по его ID чтобы в нескольких местах не прописывать человекопонятные имена атрибутов. Ну или хотя бы имя атрибута в виджете по его ID, чтобы в тексте программы не повторять одно и тоже.
В конфигураторе этот механизм используется слош и рядом... Кстати в конфигураторе это не совсем удобно, например когда смотришь атрибуты у лог.контроллера и видишь длиннющие названия. На мой взгляд было бы удобнее если бы отображался ID атрибута а при наведении мышки всплывала подсказка с его именем... Это на мой взгляд но если меня поддержат - примите на заметку.
[Сообщение редактировалось 1 раз(а), в последний раз 18.12.2011 в 20:24.]
|
|
Сообщение создано: 20. 12. 2011 [13:59]
|
|
roman
Roman Savochenko
Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 1460
|
"andrey-sw" wrote:
Вроде работает, но почемуто кажется что это не совсем верный подход, и существует опасность записи в контролер неверных значение например в момент старта. Может есть другие решения.
Креститься нужно если кажется. Запись по связям производится только при модификации в скрипте или транзитом!
"andrey-sw" wrote:
И еще немоглибы вы пояснить чуть подробнее роль параметров атрибута [Режим(вх вых)] и [Атрибут(не атриб, только чтение, полный доступ) по отдельности вроде все понятно но до конца не могу в голове уложить кто отвечает за доступ к физ контролеру через связ а кто к самому атрибуту например из UI
В документации нормально описано (дополнил).
"andrey-sw" wrote:
И еще один вопросик. Можно ли из визуализации получить имя атрибута в логическом контроллере по его ID чтобы в нескольких местах не прописывать человекопонятные имена атрибутов. Ну или хотя бы имя атрибута в виджете по его ID, чтобы в тексте программы не повторять одно и тоже.
У атрибута параметра смотрим здесь: http://wiki.oscada.org/Doc/OpisanieProgrammy#h920-10 , у атрибута виджета не имеет смысла.
Учиться, учиться и учиться лучше чем работать, работать и работать.
|