 | |
Предыдущие результаты
Попробуйте клиента OPC Test Client, который ставится вместе с RSLinx, если он зацепится к RSView32, то значит и ваш клиент должен цепляться. OPCTestClient как раз и поможет тем, как обратиться к серверу, как правильно брать теги.
С уважением,
Vitaliy D. Burtsev
|
Ни локально, ни удалённо не удаётся подключиться к RSView32 как ОРС-серверу со стороны ОРС-клиента - другой SCADA.
При попытке вставить переменную в ОРС-сервер RSI.RSView32OPCTagServer, выдаётся сообщение об ошибке запуска ОРС-сервера в связи с отказом в доступе.
В Startup OPC/DDE Server запущен.
Команда RTDataServerOn подана.
В чём может быть причина?
Если нужны какие-то ещё настройки, то какие?
|
Привет всем!
Конечно, можно забить сенквесеры на Timer.ACC, маскировать несколько младших битов (для компенсации нестабильности время вызова и выполнения задачи относительно системного времени) и таким образом управлять 3 битами. Но не только у Вас наблюдается стремление сделать простейшие операции какими-то мощными инструкциями, особенно с труднопроизносимыми названиями. Сам себя иногда ловил на этом.
Светофор можно сделать и непосредственно обращаясь к тегам системного времени в 64-битном варианте, и непосредственно управляя временем вызова задачи, счетчиками и анализом времени выполнения и вызова задачи. Можно придумать также задачу по событию и еще 100 методов решения.
Но чтобы не использовать кучу тегов, достаточно циклический таймер и инструкциями сравнения Timer.ACC с какими-то значениями включать и выключать биты.
Можно непосредственно анализировать определенные биты в Timer.ACC и на основе простого анализа использовать это вместо инструкций сравнения, но тогда придется по клаве стучать подольше, а ведь клава-то не железная, да и руки не казенные...
Когда мне надо было тупо щелкать затвором в определенное время, но с настройкой временных диаппазонов, я использовал в LD такой вид:
CMP((Timer.ACC)MOD((Ustavki[30]+1)) <= Ustavki[30]*Ustavki[31]) OTE(Output.Data.9);
где:
Timer - таймер
Ustavki[30] - время цикла, мс
Ustavki[31] - коэффициент времени открытого состояния
Конечно, время выполнения этой конструкции на несколько мксек больше стандартного подхода, но зато все умещается в одной цепочке и удобнее читать код проги.
|
Уважаемый Velikij,
в RSLogix5000 v16 есть команды цифровых и аналоговых алармов. В частности, команда генерирования аналоговых алармов называется ALMA. В этой команде есть тэги HHlimit, Hlimit, LLlimit и Llimit. Изменяя значения этих тэгов, Вы можете динамически изменять уставки алармов.
Более подробно смотрите документ 1756-rm003_-en-p.pdf:
[quote:410d4cdcdd] The ALMA instruction detects alarms based on the level or rate of change of a value.
The ALMA instruction provides additional functionality when used with
RSLinx Enterprise and FactoryTalk View SE software. You can display alarms
in the Alarm Summary, Alarm Banner, Alarm Status Explorer, and Alarm Log
Viewer displays in FactoryTalk View SE software.[/quote:410d4cdcdd]
В RSView32, например, Вы можете указать в качестве граничного значения Alarm не фиксированное значение, а имя тэга, в котором оно будет содержаться. А тэг меняйте, как хотите (в контроллере или в RSView32).
Вот что написано в документе vw32-um001_-en-e:
[quote:410d4cdcdd]
Variable thresholds
Threshold values can be constant or variable. ... A variable threshold can change, because its value is taken from another tag value, not a constant number. You define a variable threshold by naming a tag in the appropriate field in the editor. That tag’s value is the threshold for the alarm; as the tag changes, the threshold changes.
Variable thresholds require more system resources than constant thresholds. This is due to the continuous scanning of threshold values
and to the processing necessary to detect alarm faults.[/quote:410d4cdcdd]
|
Уважаемый коллега!
Постараюсь ответить на Ваши вопросы по пунктам:
1. Определить количество серверов можно на основании этого документа Rockwell:
[url]http://rockwellautomation.custhelp.com/cgi-bin/rockwellautomation.cfg/php/enduser/fattach_get.php?p_sid=HN2Y*4lj&p_li=&p_accessibility=0&p_redirect=&p_file_id=16128&p_tbl=9&p_id=32549&p_created=1218814074&p_olh=0[/url]
(Knowledgebase, Answer ID 32549)
В случае, если Вы желаете получить картинку с FT View Server-а через web, то эта функция уже присутствует в возможностях продукта, но для работы необходима служба Microsoft® Windows® Terminal Services.
В случае, если Вы звхотите объединить и визуализацию икакие-то отчеты по продуктам, то есть такой продукт - FactoryTalk Portal. Посмотреть его возможности можно здесь:
[url]http://literature.rockwellautomation.com/idc/groups/literature/documents/pp/ftalk-pp008_-en-p.pdf[/url]
2. Для разработки всех систем визуализации FactoryTalk (клиент-серверные приложения, просто SCADA на один компьютер, панели визуализации) необходим продукт FactoryTalk View Studio.
3. Если Вам нужна SCADA на один компьютер, есть такой продукт - FactoryTalk View Station.
Весь перечень продуктов Rockwell по визуализации есть здесь:
[url]http://literature.rockwellautomation.com/idc/groups/literature/documents/sg/view-sg001_-en-p.pdf[/url]
4. RSOPC GateWay (он же FactoryTalk Gateway) - это продукт Rockwell, который позволяет считывать теги с серверов FactoryTalk View (и вообще доступ к ресурсам FactoryTalk) через интерефейс OPC.
[url]http://samplecode.rockwellautomation.com/idc/groups/literature/documents/pp/ftalk-pp003_-en-p.pdf[/url]
5. Дополнительный софт не нужен. Детальная инструкция по настройке резервирования находится здесь:
[url]http://rockwellautomation.custhelp.com/cgi-bin/rockwellautomation.cfg/php/enduser/fattach_get.php?p_sid=u9aK45lj&p_li=&p_accessibility=0&p_redirect=&p_file_id=16186&p_tbl=9&p_id=40891&p_created=1219185703&p_olh=0[/url]
(Knowledgebase, Answer ID 40891)
6. Фактически, если задача пустковая, Вы можете средствами самого FactoryTalk View Server логировать данные через ODBC в любую базу данных. Далее на VBA писать формирование отчетов.
Вообще, для таких задач я бы рекомендовал использовать такой продукт Rockwell - FactoryTalk Historian Classic и FactoryTalk Transaction Manager. В комплект поставки входит MSSQL. Данное решение позволяет накапливать данные и отображать их через Web интерфейс в виде отчетов и графиков. Почитать об этих продуктах можно даже на русском языке тут:
[url]http://www.vdt-intershop.ru/docs/Software/Technical%20Data/9398-HISTD-ru.pdf[/url]
[url]http://www.vdt-intershop.ru/docs/Software/Technical%20Data/9398-RSSQLTD-ru.pdf[/url]
|
Добрый день уважаемые!
На текущий момент мне необходимо составить спецификацию на ПО по RA.
Необходимы некоторые разъяснения
1. Предполагается два взаиморезервируемых сервера FactoryTalk View Site Edition Server (предполагается 13 клиентов), необходимо транслировать некоторые экраны через Web. Насколько мне известно для этого необдим Web портал, суть вопроса в том что - необходимо ли выделять для Web поратала отдельный сервер. Какие возможные варианты архитектуры
2. Возможно ли редактирование проекта с помощью FactoryTalk View Site Edition Server либо необходим FactoryTalk View Studio (или что то другое)?
3. Хотелось бы увидеть классическую сборку ПО для нераспределенного приложения
4. Опишите своими словами что представляет собой OPC Gateway
5. Необходим ли дополнительный софт для резервирования серверов или это осуществляется с помощью FactoryTalk View Site Edition Server, опишите как это вообще делается?
6. Какое ПО необходимо для сбора исторических данных при распределенном приложении, их хранения на сервере, и вывода данных в виде отчетных документов.
Заранее всем большое спасибо!
|
Да, почитать можно много чего.
[url=http://literature.rockwellautomation.com/intradoc-cgi/nph-idc_cgi.exe?IdcService=GET_SEARCH_RESULTS&QueryText=%28dWebExtension+%3CMATCHES%3E+%27pdf%27+%3Cand%3E+%28%3Cnot%3E+xViewableFile+%3CMATCHES%3E+%27No%27+%3Cor%3E+xViewableFile+%3CMATCHES%3E+%27%27%29+%3Cand%3E+%3Cnot%3E+xReleaseToFlag+%3CMATCHES%3E+%27Restricted+Item%27+%3Cand%3E+dSecurityGroup+%3CMATCHES%3E+%27Literature%27+%3Cand%3E+%3Cnot%3E+xBrand+%3CMATCHES%3E+%27Other+-+Other%27%29+%3CAND%3E+%28xLanguage+%3CSUBSTRING%3E+%60EN+-+English%60+%3COR%3E+xLanguage+%3CSUBSTRING%3E+%60MU+-+Multi+Lingual%60%29+%3CAND%3E+%28%3CACCRUE%3E+%28ULTRA%29+%3COR%3E+dDocTitle+%3CSUBSTRING%3E+%60ULTRA%60+%3COR%3E+xPublicationNumber+%3CSUBSTRING%3E+%60ULTRA%60+%3COR%3E+xLegacyPubNumber+%3CSUBSTRING%3E+%60ULTRA%60+%3COR%3E+xCatalog_Numbers+%3CSUBSTRING%3E+%60ULTRA%60%29+%3CAND%3E+%28%3CACCRUE%3E+%283000%29+%3COR%3E+dDocTitle+%3CSUBSTRING%3E+%603000%60+%3COR%3E+xPublicationNumber+%3CSUBSTRING%3E+%603000%60+%3COR%3E+xLegacyPubNumber+%3CSUBSTRING%3E+%603000%60+%3COR%3E+xCatalog_Numbers+%3CSUBSTRING%3E+%603000%60%29&DefaultQuery=&urlTemplate=%2Fidc%2Fgroups%2Fpublic%2Fdocuments%2Fwebassets%2Fsearch_results.hcst&ftx=1&SortField=SCORE&SortOrder=Desc&SortSpec=SCORE+Desc+dDocTitle+Asc&passedLangVal=EN+-+English&prepopVal=Ultra+3000&passedType=Full&passedParameter=Ultra+3000&submitQueryForm=%CD%E0%E9%F2%E8%21]Тыць[/url]
|
Здравствуйте! Кто может посдказать механизм соединения контроллера beckhoff(BC9100) и панели beckhoff CP6608(на панели стоит Visu) по ethernet.Т.е. каким образом его нужно прописать в System Manager и отобразить сделанную визуализацию в PLC Control на этой панеле
|
Привет всем!
Попутно касательно снижения количества тегов (для меня это тоже актуально)
можно привести следующий код:
[code:1:161f54573f]//Перевод знакового 4-байтного целого в строку как набор битов
function IntToStrBool(a:integer):string;
var
MyStr: string;
i, b, c, d: integer;
begin
try
MyStr := '00000000000000000000000000000000';
i := 0; b := 0; c := 0; d := 0;
for i := 31 downto 0 do
begin
b := a shr i; //Сдвигаем битовый массив a вправо на i-разрядов
c := b xor d; //Операция "исключающее ИЛИ"
case c of
0: begin
MyStr[32-i] := '0';
end;
1: begin
MyStr[32-i] := '1';
inc(d); //Увеличиваем на d +1
end;
end;
d := d shl 1; //Сдвигаем битовый d массив влево
end;
result := MyStr;
except
//Обработка исключений
end;
end;
//Перевод набор битов в строке в знаковое 4-байтное целое
function StrBoolToInt(MyStr: string):integer;
var
i, a: integer;
begin
try
i := 0; a := 0;
for i := 1 to 32 do
begin
a := a shl 1; //Сдвигаем битовый a массив влево на 1 разряд
if MyStr[i] ='1' then inc(a); //Увеличиваем a на +1
end;
result := a;
except
//Обработка исключений
end;
end;[/code:1:161f54573f]
А вот кто приведет аналог на VBA, то было-бы вообще классно :)
|
Их программное обеспечение называется Automation Studio:
http://www.br-automation.com/cps/rde/xchg/br-productcatalogue/hs.xsl/products_5309_ENG_HTML.htm
|
Предыдущие результаты
Ещё результаты |
|
| |
|