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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  
Smart Solutions VDT :: Просмотр темы - Работа из среды разработки с тэгами по DDE
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Работа из среды разработки с тэгами по DDE

 
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации
Предыдущая тема :: Следующая тема  

Часто ли вам приходится писать свои продукты для работы с топиками
Часто, не вижу смысла покупать готовые решения
0%
 0%  [ 0 ]
Часто, не вижу смысла покупать готовые решения
0%
 0%  [ 0 ]
Иногда, если нет готового решения
20%
 20%  [ 2 ]
Иногда, если нет готового решения
20%
 20%  [ 2 ]
Никогда, готовые решения RS меня полностью устраивают
30%
 30%  [ 3 ]
Никогда, готовые решения RS меня полностью устраивают
30%
 30%  [ 3 ]
Всего проголосовало : 10

Автор Сообщение
paranorm
Частый гость
Частый гость


Зарегистрирован: Apr 26, 2006
Сообщения: 32
Рейтинг: +0/-0
Откуда: Н. Тагил

СообщениеДобавлено: Чт 04 Май, 2006 6:08:41    Заголовок сообщения: работа из среды разработки с тэгами по DDE Ответить с цитатой

Пробовали на машине под Windows 2000 с установленным линкс 2.41 и даже 2.43
записать данные в тэг, десятичная часть отбрасывается.
При этом, если записывать через Excel, то все нормально проходит.

Коды записи -

Visual Basic 6.0

Text1 - текстовое окно
Command1 - кнопка
test_dde- топик

Код:
Private Sub Command1_Click()

    Text1.LinkTopic = "RSLINX|test_dde"
    Text1.LinkMode = vbLinkManual
    Text1.LinkItem = "Program:MainProgram.X_Arr_Data[1].Data[2],L1,C1"
    Text1 = Replace(Val(Text1), ".", ",")
    Text1.LinkPoke

End Sub


Запись проходит, если разделитель в значении исключительно "," хотя
разделитель в системе может быть любым.

----------------------------------------------------------------------------

Visual Basic Excel (VBA)

Код:
Public Sub a1()
Dim a As Long, rangeToPoke, er

    a = Application.DDEInitiate("RSLINX", "test_dde") ' DDE подключение
    Set rangeToPoke = Application.Worksheets("Лист1").Range("A2") ' ячейка
со значением на запись
    Application.DDEPoke a,
"Program:MainProgram.X_arr_Data[1].Data[2],L1,C1", rangeToPoke ' Вставка
данных
    er = Application.DDEAppReturnCode ' Обработка ошибки

End Sub

При это запись осуществляется только если писать значение из какой-либо
ячейки, просто значение не записывается.
Запись проходит, если разделитель в значении исключительно "," хотя
разделитель в системе может быть любым. А если запись не проходит, то код ошибки все равно не возвращается
----------------------------------------------------------------------------

Вот и понять не можем в чем причина, а работать с топиками из среды
разработки очень хочется.

Может бы сталкивались с подобным?
Может быть есть альтернативы работать с топиками из VB6 / VB.Net
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Чт 04 Май, 2006 7:33:04    Заголовок сообщения: Ответить с цитатой

Вот здесь есть кое-что, попробуйте воспроизвести:
A8435595
A5528
A40737121
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
paranorm
Частый гость
Частый гость


Зарегистрирован: Apr 26, 2006
Сообщения: 32
Рейтинг: +0/-0
Откуда: Н. Тагил

СообщениеДобавлено: Чт 04 Май, 2006 8:14:33    Заголовок сообщения: Ответить с цитатой

oldDad писал(а):
Вот здесь есть кое-что, попробуйте воспроизвести:
A8435595
A5528
A40737121


Это все примеры простой записи данных.
Запись у меня проходит, но только ЦЕЛЫХ чисел, десятичная часть отбрасывается.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Чт 04 Май, 2006 9:24:43    Заголовок сообщения: Ответить с цитатой

А как установлен у Вас в Windows разделитель между целой частью числа и дробной? Должен быть точка, а не запятая.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dvoeglazov
Эксперт
Эксперт


Зарегистрирован: Mar 06, 2006
Сообщения: 278
Рейтинг: +1/-0
Откуда: г.Киров-Чепецк

СообщениеДобавлено: Сб 06 Май, 2006 7:38:49    Заголовок сообщения: Ответить с цитатой

Скажу честно с такой проблемой не сталкивался - всегда все работало.
Посоветую не связываться с DDE, OPC - гораздо лучше.

Решение проблемы для вашего случая: передавайте целое число, а потом мащтабируйте, все равно в контроллере с модуля приходит целое число =).
Это называется работа с инженерными единицами, когда все шкалы приводятся к одному диапазону, очень удобно фильтры, гистерезисы, переводы в 4-20mA, квадратичные шкалы делать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
paranorm
Частый гость
Частый гость


Зарегистрирован: Apr 26, 2006
Сообщения: 32
Рейтинг: +0/-0
Откуда: Н. Тагил

СообщениеДобавлено: Чт 11 Май, 2006 10:18:08    Заголовок сообщения: Ответить с цитатой

Dvoeglazov писал(а):
Скажу честно с такой проблемой не сталкивался - всегда все работало.
Посоветую не связываться с DDE, OPC - гораздо лучше.
---


Как можно работать через OPC? Есть какие-ть компоненты, где взять?
Замечено что такая проблема только под windows 2003, с нижними версиями все нормально.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Чт 11 Май, 2006 15:35:52    Заголовок сообщения: Ответить с цитатой

Никаких таких компонентов не надо. OPC-сервер встроен как в RSLinx Classic, так и в RSView32. RSViewSE поставляется с более новым RSLinx Enterprice. Используйте эти продукты, и всё, никаких дополнительных компонентов не нужно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации Часовой пояс: GMT + 1
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

Powered by phpBB © 2001, 2005 phpBB Group
Яндекс цитирования

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.125 секунды
/n