 | |
Предыдущие результаты
[quote:f3eefef3f5="zlogic"]Спасибо за ваши мнения...
MVI94-ADM втыкается в то же самое место, где стоит 1794-AENT...
И доступ через него к модулям АБ через ASCII... [/quote:f3eefef3f5]
Нет и нет.
[quote:f3eefef3f5="zlogic"]Вы смотрели документацию на сей продукт? Консультировались со специалистами от PROSOFT?[/quote:f3eefef3f5]
Да и нет. Мы применили MVI94-GSC-E, хотя вначале планировали
MVI94-ADM (работа с теплосчетчиком СА-94 или СА-97).
[quote:f3eefef3f5="zlogic"]Или Вы хотите сказать, что меня просто напросто обманули, грубо говоря, или ввели в заблуждение, мягко выражаясь?[/quote:f3eefef3f5]
Да.
См. http://www.prosoft-technology.com/prosoft/products/for_rockwell_automation/platform/flex_i_0/mvi94_adm
"The MVI94-ADM module is the ideal solution for many applications where serial connectivity must be added to a FLEX platform"
На практике - вам нужен обмен с каким-то устройством по RS-232(-422,-485):
- устанавливаете модуль -ADM и пишете свою программу для обмена по RS-232(-422,-485) с нужным устройством.
- данные из (в) -ADM могут попасть в локальный процессор, например FlexLogix или в удаленный контроллер подключенный к сети. В вашем случае EtherNet/IP через 1794-AENT. Другие сети также возможны.
Чтобы было еще понятнее - MVI94-ADM надо считать модулем ввода-вывода.
|
Уважаемый Сергей,
[quote:b9f4eaaa82]Купили FLEX I/O EtherNETt/IP Adapter Module... и немного модулей ввода/вывода... аналоговые и дискретные... от АленБрэдли...
Софта в комплекте никакого вообще... [/quote:b9f4eaaa82]
Купили ли Вы процессор, или только адаптер?
Для адаптера никакого программного обеспечения не нужно. Для процессора - нужно. Но его в комплекте и не должно быть. Пакеты программирования в комплекте не поставлются, они заказываются отдельно. Это связано с тем, что существует несколько версий пакета, отличающихся по цене и возможностям, а производитель не знает, какой именно пакет Вам нужен.
[quote:b9f4eaaa82]
Мне не нужно крутых систем разработки программ... Хотелось бы воспользоваться просто старым и добрым Builder C++... [/quote:b9f4eaaa82]
На Builder C++ программы для программируемых контроллров не пишутся. Для этого существует совершенно другой софт - RSLogix5000.
[quote:b9f4eaaa82]Какой софт нужен (драйвера для этого адаптера) для этого? [/quote:b9f4eaaa82]
Никаких драйверов и никакого софта для FLEX I/O Ethernet/IP Adapter Module не нужно. Нужен пакет программирования для контроллера - RSLogix5000.
[quote:b9f4eaaa82]Где это можно качнуть? [/quote:b9f4eaaa82]
Качнуть можно update для предварительно купленной Вами и зарегистрированной версии RSLogix5000. Но прежде нужно купить лицензию. Бесплатно RSLogix5000 не распространяется.
[quote:b9f4eaaa82]Или без покупного софта от АленБрэдли никак? [/quote:b9f4eaaa82]
Да, RSLogix5000 надо покупать.
|
Здравствуйте, все.
Купили FLEX I/O EtherNETt/IP Adapter Module... и немного модулей ввода/вывода... аналоговые и дискретные... от АленБрэдли...
Софта в комплекте никакого вообще...
Мне не нужно крутых систем разработки программ... Хотелось бы воспользоваться просто старым и добрым Builder C++...
Какой софт нужен (драйвера для этого адаптера) для этого?
Где это можно качнуть?
Или без покупного софта от АленБрэдли никак?
С уважением, Сергей Зорин.
|
Есть такая проблема. Мы не можем подключить контроллер FlexLogix по Ethernet карте 1788-ENBT/A. В RSlinx proffesional пишет unrecognaze device, хотя карта пингуется. Что делать?
|
Попробовал мониторить состояние связи не через VBA и события тегов, а через встроенную функцию RSView [b:fe6cd228b2]comm_err(tagname).[/b:fe6cd228b2]
При нарушении связи (тупо выдергиванием шнурка Ethernet или остановкой проекта на удаленной станции) значение [b:fe6cd228b2]comm_err(memory_тег)[/b:fe6cd228b2] переходит из 0 в 1.
А когда связь появляется, состояние тега так и остается [i:fe6cd228b2]Error[/i:fe6cd228b2] и [b:fe6cd228b2]comm_err(memory_тег)[/b:fe6cd228b2] тоже как было равно 1, так и остается 1.
То есть тут проблема не в событии _StatusCommErr, а вообще в механизме, которым RSView восстанавливает связь при ее потере.
|
Используется RSView32 7.20. На объекте работают 3 равноправные операторские станции, связь по Ethernet. Проект на всех станциях работает один и тот же, только конфигурация Nod'ов в зависимости от конкретной станции меняется. А Нодов сконфигуривано везде 6:
3 Нода для каждой станции - (RSview OPC Tag Server, remote)
и еще три нода для OPC-сервера собственного производства, который на каждой станции связывается с определенными девайсами, тоже remote. Потом на каждой станции (локальной) убирается галочка с Enable в Нодах для RSview OPC Tag Server и OPC-сервер для девайсов делается не remote, а local. По рсвьюшному OPC передаются некоторые внутренние теги (memory), ну а по второму - теги с девайсов.
Проблема в том, что если на какой-то станции перезапускается RSView, или мой OPC-сервер, то на остальных станциях ее данные не подхватываются, они как бы "замораживаюся", (на экранах показыватся последнее значение, которое было до перезапуска).
Я посмотрел в Tag Monitor'е, в момент, когда теряется связь с одной из удаленных станций, статус ее тегов становится "Error".
Поэтому решил обработать эту ситуацию так. Через скрипт VBA регистрирую событие _StatusCommErr для коллекции тегов (пары внутренних тегов с каждой станции и еще пары тегов с девайсов) и по этому событию делаю нехитрую процедуру: деактивирую и тут же активирую соответствующий Node. И все.
Я проверял: если вручную убрать и поставить галку Enable в Node Editor для Node той станции, которая перезапустилась и не подхватывается - через пару секунд значения начинают нормально передаваться. Даже кнопки такие поделал на одном экране с командами "NodeDisable Node1; NodeEnable Node1" как временную меру на случай потери связи. Теперь захотел сделать это в автомате через скрипт, но не выходит: при потере связи теги в Tag Monitor переходят в состояние "error", но процедура моя не активируется почему-то. Как будто не было события StatusCommErr. Текст процедуры привожу ниже:
[code:1:67bf376e44]
Private Sub tConn_Monitor_StatusCommErr(ByVal CommErrTags As RSView32.Tags)
Dim ComErrTag As Tag
For Each ComErrTag In CommErrTags
If gNodes(ComErrTag.NodeName).Enabled = True Then
gNodes(ComErrTag.NodeName).Enabled = False
gNodes(ComErrTag.NodeName).WriteConfiguration
End If
gNodes(ComErrTag.NodeName).Enabled = True
gNodes(ComErrTag.NodeName).WriteConfiguration
Next
End Sub
[/code:1:67bf376e44]
[i:67bf376e44]tConn_Monitor[/i:67bf376e44] - это коллекция тегов, для которых проверяется состояние связи.
В макрос, который выполняется при запуске проекта, добавил строчку:
[code:1:67bf376e44]VbaExec ConnMonitorInit[/code:1:67bf376e44]
где ConnMonitorInit - процедура, в которой инициализируется коллекция тегов tConn_Monitor:
[code:1:67bf376e44]Sub ConnMonitorInit()
Dim Tgs As Variant
Dim Tg As Variant
Dim tTags As Tags
Set tTags = New Tags
Tgs = Array("NSMV1\PC_01\Ch_01", "NSMV2\PC_01\Ch_01","NSMV3\PC_01\Ch_01", _
"NSMV1\R_1", "NSMV2\R_1", "NSMV3\R_1")
For Each Tg In Tgs
tTags.Add gTagDb.GetTag(Tg)
Next
Set tConn_Monitor = tTags
End Sub
[/code:1:67bf376e44]
Коллекция tConn_Monitor объявлена в разделе Declarations->General так:
[code:1:67bf376e44]Private WithEvents tConn_Monitor As Tags[/code:1:67bf376e44]
Что я делаю неправильно?
|
Нужно, чтобы на CL висел только один компьютер с RSLinx Gateway, а остальные получали данные с него по отдельному сегменту Ethernet.
На то он и Gateway.
|
[quote:e5e6fe9e47]Я где-то читал (но уже не помню), что можно, но только для связи с ПЭВМ. Так-ли это?[/quote:e5e6fe9e47]
Ага. В 1756-um523_-en-p.pdf на стр. 2-12 это сказано:
[quote:e5e6fe9e47]1. Use EtherNet/IP ONLY for HMIs, workstations, and messaging.
In a redundant system, use an EtherNet/IP network ONLY for HMI,
workstation, and message communication. DON’T use an EtherNet/IP
network for:
• control of I/O modules
• peer interlocking (produced and consumed tags)
Important: RSLogix 5000 software lets you set up and download a project
that tries to use an EtherNet/IP network for I/O, produced tags, or consumed
tags. Those communications don’t work however.[/quote:e5e6fe9e47]
|
С помощью RSLinx Gateway у вас мостом между DH+ и Ethernet будет компьютер. Для это нужна только карта 1784-KT/KTX(D)/PKTX(D) и, конечно же, Gateway лицензия к RSLinx :).
|
Если решать задачу аппаратно, то oldDad как-то советовал использовать конверторы из DH+ в Ethernet(http://www.protocolconverter.com/products/DL4500.htm), а если подходит программнное решение - использовать как мост в Ethernet RSLinx Gateway.
А почему не хотите занимать канал 0 ?
|
Предыдущие результаты
Ещё результаты |
|
| |
|