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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  


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



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



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

 опять напоролись на закрытый ответ (с припиской только для уровня TechConnect). плз, дайте инфу, а то не получается подружить excel c rsviewse. 42049 - How to Use Excel as DDE Server and FactoryTalk View SE as DDE Client ([url]http://rockwellautomation.custhelp.com/app/answers/detail/a_id/42049[/url]) неужели никто из тех, кто имеет уровень TechConnect не читает этот форум? ;) или.. никто не желает мне ответить? Уфф.. ладно.. если уж так, то может хоть кто-то расскажет, как правильно связать РсвьюСе с Екселем через DDE? Делаю все по хелпу - ничего не получается, не приходят значения.

 [quote:385a1e1f18="dv_"] [b:385a1e1f18]LINT[/b:385a1e1f18] преобразуется в два последовательных [b:385a1e1f18]DINT[/b:385a1e1f18]. Многое остальное найдешь, см.: http://samplecode.rockwellautomation.com/idc/groups/public/documents/webassets/sc_home_page.hcst[/quote:385a1e1f18] Благодарю за ссылку.

 [quote:5bf646f1bb="dv_"] Какие правки нужны? [/quote:5bf646f1bb] Речь идет о макросах VBA, создаваемых на объектной модели RSLogix. Вот пример кода макроса: [code:1:5bf646f1bb]Public Sub Build_LAD2() Dim Count As Integer Dim FileName As String Dim LadFile2 As LadderFile Dim LadFile As LadderFile Set ProgFiles = Application.GetActiveProject.ProgramFiles ' Чтение главного файла программы Set LadFile2 = ProgFiles.Item(2) Dim RungCount As Integer FileName = LadFile2.name RungCount = LadFile2.NumberOfRungs() ' Удаление всех рангов в главном файле Dim res As Boolean Do res = LadFile2.RemoveRung(0) If (res = False) Then Exit Do End If Loop ' По всем файлам, начиная с №3 Dim LadCount As Integer Dim DstRung As Integer LadCount = ProgFiles.Count DstRung = 0 For Count = 3 To LadCount Set LadFile = ProgFiles.Item(Count) ' если файл существует If Not LadFile Is Nothing Then ' если файл используется If LadFile.InUse Then Dim FileNum As Integer Dim NumOfRungs As Integer Dim RungString As String NumOfRungs = LadFile.NumberOfRungs ' если файл не пустой If (NumOfRungs > 1) Then FileNum = LadFile.FileNumber If (FileNum <= 100) Then ' Команда вызова LAD файла RungString = "JSR" + " " + CStr(FileNum) res = LadFile2.InsertRungAsAscii(DstRung, RungString) DstRung = DstRung + 1 End If End If End If End If Next End Sub [/code:1:5bf646f1bb] Макрос генерирует в файле LAD2 вызовы (JSR) всех остальных файлов проекта. Отсутствующие файлы и файлы с одним рангом <END> не учитываются. Учитываются файлы с №3 по №100. В файлах с №№ > 100 я размещаю подпрограммы-функции, которые централизованно вызывать не надо. Вот такие макросы и хотелось бы объявить/описать один раз для всех проектов.

 [quote:02517b70fc="oldDad"]Да выложено. Нужно только чуть-чуть поискать: http://vdt-automation.com.ua/modules.php?name=Forums&file=viewtopic&t=33[/quote:02517b70fc] Там только про администратора, у меня с этим проблем не было. Спрашивается где было: C:\Documents and Settings\All Users\[color=red:02517b70fc]Документы[/color:02517b70fc] - исходное C:\Documents and Settings\All Users\[color=green:02517b70fc]Documents[/color:02517b70fc] - нужное (можно и в лругое место). А, также настройки в реестре для [b:02517b70fc]Default User[/b:02517b70fc], все это тоже было, включая содержимое [b:02517b70fc]bat[/b:02517b70fc] файла для ленивых. Можно даже на Windows Server с контроллером домена, Rockwell настоятельно не рекоментует, но работает.

 [quote:e1d32899cf="maxim"]Однако столкнулся с проблемой: текущее время ложится в переменную с типом LINT и не скопировать не сконвертировать в другой тип я не могу, а мне нужно чуть отредактировать значение.[/quote:e1d32899cf] [b:e1d32899cf]LINT[/b:e1d32899cf] преобразуется в два последовательных [b:e1d32899cf]DINT[/b:e1d32899cf]. Многое остальное найдешь, см.: http://samplecode.rockwellautomation.com/idc/groups/public/documents/webassets/sc_home_page.hcst

 Ура товарищи! Василиса Премудрая была права, когда говорила, что утро вечера мудренее. Если кому-то интересно, привожу кусок скрипта на VB [code:1:7bf119947e] ' Объявляем необходимые переменные Dim tagnames As StringList Dim dlmodel As DataLogModel ' Ассоциируем объект типа datalogmodel с нужным нам даталогом Set dlmodel = gDataLog.DataLogModels.Item("datalogmodel_name") ' Заталкиваем в стринглист значения следующего свойства и все список тегов у нас в кармане, теперь на его основе можно клепать автоматические запросы к базе SQL просто перебирая список. Set tagnames = dlmodel.DataLogModelCfg.TagsInModel [/code:1:7bf119947e] Истина всегда где-то рядом, до нее нужно только докопаться) Да, 2 OldDad, +1 за отличную ссылку, повешу над столом, пусть согревает душу холодными вечерами.

 Для доступа к DataLogModels из VB смотрите KB по ключевым словам: [color=darkblue:2ff8601f7a]rsview32 object model diagram[/color:2ff8601f7a] http://rockwellautomation-emea.custhelp.com/ci/fattach/get/10803/1187973333

 Сдя по состоянию Ваших светодиодов, ситуация выглядит так: [u:87ee6e9f06]OK Green[/u:87ee6e9f06]: The module is operating normally. [u:87ee6e9f06]BP ACT Amber On[/u:87ee6e9f06]: The LED is on when the module is able to communicate over the backplane. [u:87ee6e9f06]APP STATUS Amber On[/u:87ee6e9f06]: Configuration Error: This LED is illuminated when the PROFIBUS and module CRC values do not match between input/output blocks. Verify that the values match the values generated with the Calculate Checksums button in ProSoft Configuration Builder. If they do not match, you must manually change the values at the appropriate address locations listed in the Input and Output block definitions in this manual. Вывод: смотрите конфигурацию.

 откопалась еще одна бага - на сей раз в VBA (так что к RSView32 относится косвенно) операция побитового И не работает с числами более 2^30 - выдает overflow [b:402b2ef6b9]пример:[/b:402b2ef6b9] [code:1:402b2ef6b9]a = 32768 And 2147483648[/code:1:402b2ef6b9] и какой бы тип не задавать "а" и как бы не специфицировать числа (?, # и т.д.) - все равно overflow :( пришлось сделать на си dll и из нее дергать функцию для преобразования двух INT dj Float (IEEE 754) подобная бага в нете встретилась и для оперfтора [color=blue:402b2ef6b9]Mod[/color:402b2ef6b9]

 Да,заказной номер есть. А сколько лицензий я не знаю. Как это можно определить? На задней части написано: Order #: Catalog #: Automation Tk Full Yr, 5-install, 8-5 St. Registered to: А внутри папки имееться вкладыш, в котором написано: Serial number: Revision: Product key: License type: CONCURRENT Life Term: Expiring End Date: 01/31/2011



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


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



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



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



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



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




  
RA & VDT GmbH


Облако тэгов
version Rockwell ProSoft Modbus 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.122 секунды