Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Пт мар 29, 2024 02:55

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 21 сообщений ]  На страницу 1, 2  Вперёд
Автор Сообщение
 Заголовок сообщения: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Ср фев 29, 2012 12:16 
Не в сети

Регистрация: Ср фев 29, 2012 12:01
Сообщения: 4
Здравствуйте!

Имеется комп, usb-кабель, Omron CP1L-M (связь только по USB) и пакет CX-One 4.1;
По адресу A270 накапливаются импульсы с энкодера

Вопрос: достаточно ли пакета CX-One 4.1 для написания программы на Visual Basic, получающей значение по этому адресу? есть ли в составе этого пакета какие-либо объекты COM и есть ли документация по их методам и свойствам?

Пробовал DDE Manager, но cчитывать необходимо не реже, чем каждые 100 мс, а минимальный intertval time в DDE Manager равен 1 секунде.
Есть ли другие способы получать значение?

Заранее спасибо


Отредактировал rudwut. Дата редактирования: Ср авг 08, 2012 10:41.

В начало
 Профиль  
 
 Заголовок сообщения: Re: Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Ср фев 29, 2012 13:15 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
CX-Supervisor не подходит?

Цитата:
Update rates can be included when defining the item specifier chapter of the DDE link; for example, a time
interval of 5 seconds for the item specified by “\pump1” is expressed as “\pump1,5”. The full DDE link
becomes: “=CDMDDE1‘C:\CX-Server\factory.cdm’!’\pump1,5’”

ка вариант попробовать указать интервал 0.1 (через точку)

или отказаться от автоматического обновления.
Цитата:
Manual Updates
It is possible to define the links, created between an application and the database, as 'active'.
When active, the entry in the application file referencing that point is updated automatically with point data this is an automatic link, or the link can be 'manual'. If you select the manual link, the user controls when and if point data in an application is updated.
If you specify a manual link between an application and the system database, the information contained within the application is not be updated until the user takes the appropriate action.
Within MS Excel, for example, you can achieve this by highlighting the cell containing the link and selecting Calculate Now
from the Tools | Options menu to update the displayed contents of the cell.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Ср фев 29, 2012 14:19 
Не в сети

Регистрация: Ср фев 29, 2012 12:01
Сообщения: 4
Олег писал(а):
CX-Supervisor не подходит?


CX-Supervisor не подходит, потому что это пакет большой, стоит дополнительных денег, да и не нужен, поскольку нам большую скаду писать не нужно, а нужно всего лишь получать одно значение.

По поводу Manual Updates - где эта настройка меняется?

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

UPD. Указание через запятую числа 0.1 сработало. Спасибо большое!!!
А из какого это мануала, чтоб знать? :)


Отредактировал rudwut. Дата редактирования: Ср фев 29, 2012 14:26.

В начало
 Профиль  
 
 Заголовок сообщения: Re: Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Ср фев 29, 2012 14:24 
Не в сети

Регистрация: Пт сен 22, 2006 13:44
Сообщения: 391
Откуда: Москва
Кто-то мне эти вопросы уже задавал.
Зачем нужен интервал опроса "не реже, чем каждые 100 мс"?
Попытка управлять процессом в режиме реального времени из под винды ( :mrgreen: )? Тогда вам сюда: http://cpu13.ru/viewtopic.php?f=6&t=1456&hilit=100+%D0%BC%D1%81
Или вам нужно собирать массив данных для архива с таким периодом обновления? Тогда создавайте массив в D области и скачивайте раз в 1 секунду.


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Пт май 24, 2013 12:01 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Раньше натыкался, но сейчас решил попробовать.
Не знаю откуда берётся на компе после установки Омрона
CX-Server Communications Control
Встраивается без проблем в Visual Studio и позволяет полностью рулить контроллером.
А если к нему прицепить *.cdm файл, то можно писать читать преобразованные данные.
описание с примерами как использовать есть в справке CX-Server Lite.chm
В комплекте CX-Server OPC есть примеры под студию.

т.е. на сколько я понял, честный, очень простой и халявный способ прицепить контроллеры и некоторые терморегуляторы к своей проге.


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Сб май 25, 2013 01:32 
Не в сети
Аватара пользователя

Регистрация: Ср ноя 08, 2006 13:01
Сообщения: 373
Откуда: г. Красноярск
... а вот это надоть опробовать!


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Чт фев 13, 2014 10:44 
Не в сети

Регистрация: Ср июн 15, 2011 11:20
Сообщения: 91
Откуда: UA
в развитие темы..
Цитата:
CX-Server Communications Control
Встраивается без проблем в Visual Studio

встроил Communications Control в Builder - с контроллером связывается, но данные с точки в непонятном виде.
например в контролере 1,2,3 в проге 1; в контр.4: в проге 1,40129846432482E-45, в контр.5: в проге 3,40157622888366E-307 и т.д.
может натолкнете где несовпадение типов?
также невозможно с контр. взять весь массив (не знаю как)
Второй вариант связи - использовать DDE сервер, но там недостаток-надо чтоб был установлен CX-Server на компе.
Я пока пытаюсь с первым вариантом решить, если стабильно заработает-очень расширяются возможности Omrona.
РысПыс.(PS)
Цитата:
описание с примерами как использовать есть в справке CX-Server Lite.chm

если можно выложите, пожалуйста, чтобы не устанавливать весь.


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Чт фев 13, 2014 11:44 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Олег писал(а):
А если к нему прицепить *.cdm файл, то можно писать читать преобразованные данные.

если читаем по адресу в памяти
Label4.Text = Comms1("DM5006")
то получаем это содержимое, можно ли преобразовать... не копал.

если к контролу прикручиваем .cdm файл в свойство ProjectName (или так Comms1.ProjectName = "D:\vs\NumInput\cp.cdm")
и в этом файле создаём точки с указанием формата, то уже можно читать готовые, преобразованные данные.
Label4.Text = Comms1("Counter")


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Чт фев 13, 2014 13:09 
Не в сети

Регистрация: Ср июн 15, 2011 11:20
Сообщения: 91
Откуда: UA
Олег, спасибо.
А еще не могли бы выложить Ваш CX Server Communications Control.ocx от CX-Server Lite. Мой от Cx-Server немного отличается и не все функции в нем есть.


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Чт фев 13, 2014 14:15 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
у меня его отдельно нет.

и врят ли он будет работать без установки CX Server.


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Чт фев 13, 2014 17:33 
Не в сети

Регистрация: Ср июн 15, 2011 11:20
Сообщения: 91
Откуда: UA
Спасибо, в принципе и мой живет и связывается с контр. Только тип данных где-то некорректно преобразуется. Возможно это особенность Buildera


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Чт фев 13, 2014 18:19 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Билдер тут не причём.
Запросить адрес, получишь значение этого адреса.
Запросить имя точки из привязанного файл.cdm, получишь преобразованные данные, из того формата, который для точки в файл.cdm указал.


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Вт фев 18, 2014 16:49 
Не в сети

Регистрация: Ср июн 15, 2011 11:20
Сообщения: 91
Откуда: UA
Таки завязал с идеей работать через компонент Communications Control.
Максимум я могу принимать "не массивную" точку и совсем непонято как ее туда отправить. В компоненте который Builder установил даже не все функции из мануала.
Возможно это потому что компонент заточен под VB.
Сейчас сделал через DDE Manager-с приемом проблем нет.
А вот с передачей вопрос, может ли вообще DDE-Manager передать в контроллер то что я ему дам?


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Вт фев 18, 2014 17:37 
Не в сети

Регистрация: Ср июн 15, 2011 11:20
Сообщения: 91
Откуда: UA
Сам отвечу-может. передается туда и обратно.
Единственный минус то что надо запускать постоянно CX-Server.


В начало
 Профиль  
 
 Заголовок сообщения: Re: [РЕШЕНО] Получение значения с ПЛК Omron на комп
СообщениеДобавлено: Вт фев 18, 2014 17:44 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Я CX-Server Communications Control пробовал в свободное время, случайно наткнулся и решил попробовать, поэтому точно посоветовать ничего не могу.

Попробуйте в *.cdm файле указать количество элементов для точки, это и есть размер массива.
Цитата:
и совсем непонято как ее туда отправить

ну если получить значение это
Label4.Text = Comms1("Counter")
то вроде как само напрашивается как его в контроллер отправить :D

Цитата:
Value


Reads the value of an address from a PLC, or writes a value to an address in a PLC. This function allows logical names.

Example 1 – Reading a value from the PLC using a logical name:

intVal = Comms1.Value("BoilerTemp")
or
intVal = Comms1("BoilerTemp")

In these examples, the PLC address associated with ‘BoilerTemp’ will be read from the PLC and stored in ‘intVal’. "Value" is the default property for a CX-Server communications control and does not have to be specified.

Example 2 – Writing a value to the PLC using a logical name:

Comms1.Value("BoilerTemp") = 50
or
Comms1("BoilerTemp") = 50



это из справки на лайт
Для поиска по справке используйте слово Comms1, т.е. получите ответы с примерами.


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 21 сообщений ]  На страницу 1, 2  Вперёд

Часовой пояс: UTC + 3 часа (Russia: MSK)


Кто сейчас на конференции

Сейчас этот форум просматривают: в настоящее время на конференции нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Переход:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3