Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  


Предыдущие результаты



Предыдущие результаты



Предыдущие результаты

 [quote:98a7bb6197="gnan"] ненене))) мучаццо не хоца)) хоца функцию рабочую)) желательно в виде StructuredText)) можна инструкцию по шагам или файлик для RSLogix в виде примера?)))[/quote:98a7bb6197] Доброго времени суток: по шагам: 1.Add -On -> new Add - On... 2.Name -> MyInstr, Type ->structured text 3.вкладка Parametrs определяем переменные которые нужно передать в функцию и те которые она должна возвращать (input/output), ставим галочки 4. при необходимости можно создать локальные переменные на вкладке Local Tags 5.жмем кнопку Logic и тут пишем тело функции , например out: = a+b+c; используем функцию ну например MyInstr(Myfunct,2,2,2,dest); , здесь 2,2,2 - переменные которые передаются в функцию , dest - переменная в которую функция возвращает значение. :) Удачи!

 [quote:a8b6966843="gnan"]В окошке есть поле Type, в котором на выбор 3 типа: Ladder Diagram, Function Block Diagram, Structured Text. Но ни о каких языках типа С++ там речи не ведеццо :cry: )) или как то по-другому это делается??? если есть пример кода, дайти плиз)))[/quote:a8b6966843] Я имел ввиду эти 3 языка (LD, FBD, ST) на них прекрасно можно написать любую функцию и зачем для этого С++. Или хочется помучатцо? :shock:

 [quote:7d9645d930="JekaM"] В RSLogix начиная с v16 есть Add-On'ы. [/quote:7d9645d930] версия 16.03.00 [quote:7d9645d930="JekaM"] В них на любом интересующем Вас языке можно написать и функции в том числе и передавать и возвращать все что угодно - теги, массивы, структуры UDT. [/quote:7d9645d930] в структуре Controller Organizer в папке: 1. Data Types есть Add-On-Defined 2. Motion Groups есть Add-On Instruction когда на одном из этих пунков жмахаешь правой мышкой --> New, появляется окошко New Add-On Instruction. В окошке есть поле Type, в котором на выбор 3 типа: Ladder Diagram, Function Block Diagram, Structured Text. Но ни о каких языках типа С++ там речи не ведеццо :cry: )) или как то по-другому это делается??? если есть пример кода, дайти плиз)))

 [quote:72de6982eb="drost"]Publication 1747-RM001E-EN-P January 2006 Максимальная размерность CV также как и PV от 0 до 16383. Страница 9-4 Если на входе имеешь от 0 до 32565 то необходимо применить скалинг. Аналогично и на выходе. Пример инструкции SCL применительно к PID посмотреть можно в вышеуказанной публикации на странице 4-15[/quote:72de6982eb] У меня в примере значение на входе 0 - 100 в документации написано что так можно.

 Да всё там работает. Просто нужно понимать заложенные в основу функционирования принципы. Продолжаю оставаться в недоумении относительно сути проблемы. Пытаюсь понять ещё раз: - по неведомой причине scout хочет динамически изменять description тэга скриптом VBA. - у него это не получается. scout выражает своё мнение по поводу того, что RSView32 не обеспечивает возможности динамического изменения описания. - DIMIOKS ему показывает сперва схематично, а потом на примере, что это всё-таки работает. - из дискуссии лично я понимаю, что scout не совсем отчётливо понимает логику функционирования ядра RSVIew32 и, в силу этого, считает, что программисты Rockwell Software не обеспечили того, что декларировали в документации. - ему пытаются доказать, что это не так. - scout настойчиво предлагает коллегам прислать свой код и попробовать его работоспособность. Желающих попробовать пока не находится. Ему ещё раз объясняют логику работы ядра RSView32. - scout'у предлагают объяснить главную цель, которую он собирается достигнуть, и ради которой он пишет свой VBA-скрипт. Тогда можно было бы порекомендовать адекватный способ её достижения. - scout ничего не рассказывает о цели, но продолжает недоумевать, что то, как он понимает работу RSVIew32, оказывается не так. Всё-таки, в чём проблема? VBA работает, всё, что заявлено, меняет. Чтобы эти изменения возымели действие, нужно перевызвать экран. Что ещё?

 [quote:d1b450d708="scout"]Уважаемые знатоки RSView32, прошу Вас снова вернуться к ФАКТАМ, поскольку полагаю, что все Вы закончили школу, где нас всех учили читать умные книжки :) [/quote:d1b450d708] Ох, грозился я не отвечать в этой ветке, однако придется, и пусть меня обвиняют в некорректном цитировании: [quote:d1b450d708="scout"]… а в журнал тревог (который можно просмотреть с помощью др. спец.инструмента RSView32 Alarm Summary), пишутся совершенно другие данные ТОГОЖЕ САМОГО ТЕГА, в нашем случае Description = “TEST”. ЭТО ведь АБСУРТ какой-то![/quote:d1b450d708] Смотрим выше, что было: [quote:d1b450d708="DIMIOKS"] Информацию о Description AlarmSummary берет в момент первого события Alarm конкретного тега, либо при запуске, когда в памяти висят неквитированные сигналы. В дальнейшей работе AlarmSummary оперирует именно этим значением, вплоть до [b:d1b450d708]перезагрузки объекта[/b:d1b450d708]. Разработчикам, как видно, в страшном сне не могло приснится, что Description необходимо менять в динамике! [/quote:d1b450d708] Так, кто не умеет читать? Продолжаем: [quote:d1b450d708="scout"]…Итак, ГДЕ “Спрятался” ДИНАМИЧЕСКИЙ ОБМЕН В RSView32??? У объекта RSView32.Tag динамически меняются свойства тега, НО некоторые из них, к примеру такие, как MinimumValue, MaximumValue, Description “живут своей жизнью”, т.е. полностью не адекватны в родных визуальных компонентах RSView32.[/quote:d1b450d708] Учите матчасть. Где обещан динамический обмен к открытым экранам? [quote:d1b450d708="scout"]Мои простенькие примеры наглядно это демонстрируют … [/quote:d1b450d708] Да, демонстрируют – незнание механизмов работы RSView32. Могу привести еще пример из этой области – измени какой-либо открытый экран (лучше на другом) компьютере, а затем запиши этот файл на целевой компьютер. Ай, какой плохой RSView32 – продолжает показывать старый экран (почему не отследил факт подмены файла) До сих пор не могу понять, зачем это надо? И, я в школе учился – вспомнилась история: Торчит гвоздь, молотка нет, но есть бутылка. Одноклассник попробовал забить гвоздь бутылкой – получилось, далее он начал искать торчащие гвозди и забивать… После третьего или четвертого бутылка разбилась.

 Уважаемые знатоки RSView32, прошу Вас снова вернуться к ФАКТАМ, поскольку полагаю, что все Вы закончили школу, где нас всех учили читать умные книжки :) Итак, откроем букварь №1: “Получение результатов с помощью RSView32 Scripting”, где черным по белому сказано, что Tag – это объект, который имеет свойства & методы, например: Value, MinimumValue, MaximumValue, Description и т.п. Для тех, кто не владеет технологиями, букварь №2: “Использование COM/DCOM в Delphi” (http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1108), где объяснено популярно, что: … В Windows 3.1 и более ранних версиях основным средством обмена данных между программами была технология DDE - Dynamic Data Exchange (ДИНАМИЧЕСКИЙ обмен данными). На этой технологии основывалась технология OLE - Object Linking and Embedding (связывание и внедрение объектов). … Начиная с 1993-его года в Windows NT 3.51 появилась технология OLE 2 - дальнейшее развитие OLE. OLE 2 дополнительно содержит в себе технологии ActiveX, Automation (первоначально называвшаяся OLE Automation) и другие расширения, далеко выходящие за рамки связывания и внедрения объектов, поэтому фирма Microsoft с выходом OLE 2 объявила, что слово "OLE" больше не является аббревиатурой, это просто термин, не имеющий расшифровки. Технология DDE была недостаточной для поддержки OLE 2, поэтому специально под неё была создана новая технология взаимодействия между программами - COM (Component Object Model, модель компонентных объектов). COM оказалась очень удачной технологией, поэтому, начиная с Windows 95, DDE была объявлена устаревшей, а основной технологией обмена данными в системе стала технология COM. Итак, ГДЕ “Спрятался” ДИНАМИЧЕСКИЙ ОБМЕН В RSView32??? У объекта RSView32.Tag динамически меняются свойства тега, НО некоторые из них, к примеру такие, как MinimumValue, MaximumValue, Description “живут своей жизнью”, т.е. полностью не адекватны в родных визуальных компонентах RSView32. Мои простенькие примеры наглядно это демонстрируют … Так, где здесь здравый смысл? ... когда RSView32 Tag Monitor (как заявлено самим производителем, спец.инструмент для оперативного наблюдением за тегом), показывает нам одно значение Description = "??? NEW TEST ???", а в журнал тревог (который можно просмотреть с помощью др. спец.инструмента RSView32 Alarm Summary), пишутся совершенно другие данные ТОГОЖЕ САМОГО ТЕГА, в нашем случае Description = “TEST”. ЭТО ведь АБСУРТ какой-то!

 [quote:a51c3b685f="SpellBinder"][quote:a51c3b685f="vsv1953"]Мне кажется здесь две проблемы. 1. Мы имеем дело с программистом который хочет переделать все что угодно, лишбы переделать ибо оно работает не так как нужно по его мнению.[/quote:a51c3b685f] Грубо... Очень грубо. [quote:a51c3b685f="vsv1953"] Лишний раз убедился нельзя в эту сферу пускать программистов нашей страны.[/quote:a51c3b685f] Собственно Вы сами то "Чьих то будете" (с)??? [quote:a51c3b685f="vsv1953"]Делал проекты до 3500 переменных на RSView32 и не разу не пользовался VBA, кроме простейшего отправить рапорт на печать. [/quote:a51c3b685f] 3500 ?? - Это показатель чего? Сложности проекта? К примеру Наши и поболее будут. [quote:a51c3b685f="vsv1953"]2. С такими встречался на других форумах(по другим компаниям), написать что у вас плохо все сделано, этакая антиреклама. [/quote:a51c3b685f] Человек обратился с проблемой не имея ввиду что RSView32 ниже плинтуса... Как специалист, решил пойти дальше... И что в этом плохого??[/quote:a51c3b685f] 1. К сожалению очень часть встечаюсь с этой проблемой. Наши програмисты всегда хотят все улучшить. Ничего вроде плохого, но делу мешает. Есть СКАДА в которых нужно конфигурировать используя существующий инструмент, а есть коленные СКАДА где надо буквально писать программу. 2. Я буду из наших и занимаюсь автоматикой 33 года и АСУТП с 83г. При современных системах квалифицированный киповец сделает всегда лучше чем программист. По той простой причине, что будет просто делать а не стремиться улучшать. НЕТ систем без недостатков 8O 3. 3500 это показатель того что все делалось без ухищрений. Все сложности как обычно в контроллере.

 [quote:5dd034f95a="Trident"] Есть 2 АРМа, InTouch 8.0 (на 1-м лицензия Development, на 2 –Runtime), MSSQL. [/quote:5dd034f95a] Добрый день. Вопрос: Ваш InTouch работает с каким железом? AllenBradley?

 [quote:c42bccfd41="scout"] … на сегодняшний момент мне не удалось в AlarmSummary получить адекватное Description тега, поэтому данная проблема для МЕНЯ до сих пор НЕ РЕШЕНА. Это обстоятельство вынудило меня написать свой ActiveX компонент, который, на мой взгляд, работает более корректно, нежели AlarmSummary. [/quote:c42bccfd41] Добрый день. Поставленная Вами задача меня заинтересовала. Очень бы хотел взглянуть на Вашу разработку. ИМХО: В RSView32 есть пролемные места из-за которых приходится прибегать к другим средствам, например VBA причем не встроенный в скаду, Delphi...



Предыдущие результаты


Ещё результаты



Предыдущие результаты



Предыдущие результаты



Предыдущие результаты



Предыдущие результаты




  
RA & VDT GmbH


Облако тэгов
Automation ControlLogix MVI56-MCM Allen-Bradley Logix Windows FactoryTalk PanelView VersaView ControlTower GuardLogix Compact Software Studio Designer 100-E 100-D SMC-50 Energy Saver 1756-RMS-SC Spectrum Encompass Level Ethernet Redundancy Stratix

Яндекс цитирования

Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.146 секунды