Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Промышленные сети и коммуникации
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

передача данных из VB в SCADA

 Ответить Ответить
Автор
Сообщение
werg Смотреть выпадающим
Новичок
Новичок


Присоединился: 06 Сентябрь 2012
Online Status: Offline
Публикации: 2
Свойства публикации Свойства публикации   Ответить, цитируя автора - werg Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: передача данных из VB в SCADA
    Опубликовано: 06 Сентябрь 2012 14:12
Здравствуйте!
Помогите пожалуйста разобраться
В наличии имеется промышленный компьютер MS DOS, данные с которого передаются на PC c win xp 
На компе с виндой программа управления на VB.
Необходимо с этого компа передавать некоторые данные (15-20 аналоговых величин, в формате с плавающей запятой) в Другой компьютер в InTouch 
Я новичок и не  понимаю как можно это реализовать
Наверх
Vald Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 02 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 427
Свойства публикации Свойства публикации   Ответить, цитируя автора - Vald Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Сентябрь 2012 23:00
нАчинаем с того , что определяемся как компы связаны электрически.  Это может быть лок сеть или это может быть последовательный канал связи через RS232. Отсюда начинаем плясать. Если это  RS, то правильнее было бы научить пром компютор отвечать на запросы как прибор. Это задача для двух программеров, если честно. (правда непонятно, у вас на Главном компе  InTouch или своя поделка на  VB?). А дальше читаем как работать с последовательным портом.  Под DOS  поищите книжку издательства МИФИ "Программирование модемов" библиотека системного программиста,  для VB  поискать в сети как работать с портом из винды (очень много статей). Ограничтесь синхронным режимом (без событий, просто ReadFile и  WriteFile, внимательно изучите структуру  DCB ).    
При экспериментах ни один чайник не пострадал

-----------
Плохому системному интегратору всегда OPC сервер мешает.
______________
Пишу на C++ за еду
Наверх
werg Смотреть выпадающим
Новичок
Новичок


Присоединился: 06 Сентябрь 2012
Online Status: Offline
Публикации: 2
Свойства публикации Свойства публикации   Ответить, цитируя автора - werg Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 07 Сентябрь 2012 13:11
Спасибо.
постараюсь прояснить ситуацию:
Есть такой узел с одной стороны:  компьютер с VB, который забирает данные  промышленного РС
таких узлов несколько
Есть компьютер с ww InTouch с другой стороны
Между ними физической связи нет, но очень нужно её реализовать
Дело в том что исходников VB нет, но есть контакт с разработчиком, которому надо объяснить что мы хотим.
А хотим мы забирать данные в интач через  rs485  по протоколу модбас
с нашей стороны есть модбас орс сервер лектус, который уже работает с другими устройствами.
Как объяснить китайскому программеру что мне нужно видеть его vb программу как модбас устройство? Если я сам не понимаю как это должно быть?
Что он должен сделать с VB, чтобы с нашей стороны было минимум мороки
Хотелось бы просто настроить опс сервер и работать с переменными

Наверх
Vald Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 02 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 427
Свойства публикации Свойства публикации   Ответить, цитируя автора - Vald Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 07 Сентябрь 2012 20:41
Ну так и нужно объяснить программисту, что программа должна работать по Modbus RTU как  slave.  Скорость возмите жестко заданной как 19200 , без паритета , один стоп.  Сетевой адрес меняется в пределах 1-247.  Программа отвечает на запрос внешнего компьютора .  Для обмена возьмите одну команду - 3 .  Чтение  HOLD  регистров.  Все выши данные организуйте как объединение массива коротких целых и структуры в которой вы последовательно размещаете ваши переменные. При обращении к программе по 3 команде программа должна отдавать выбранный регистр/ регистры которые будут браться из массива из вашего оьъединения. Собственно и все. При такой организации, правда, тяжесть колупания с порядком байт в плавающем числе лижиться на приемную сторону. Если есть сомнения, что там легко все настраивается, то руками в своей программе расписывайте свои измеренные значения (тут в основном сложность в порядке размещения плавающего числа в двух последовательных регистрах), а не используйте объединение структуры и массива.
При экспериментах ни один чайник не пострадал

-----------
Плохому системному интегратору всегда OPC сервер мешает.
______________
Пишу на C++ за еду
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz