Форум » » Связь контроллера Cp2e и приложений на PC » Ответить

Связь контроллера Cp2e и приложений на PC

Siman: Доброго времени суток! Возник вопрос по управлению приложением на PC через контроллер CP2E. Имеется в наличии сенсорная панель TPMC9, подключенная по cresnet к контроллеру, а так же PC - подключенный через Ethernet. На PC установлена Scada система Powerlogic scada (в ней есть возможность встраивать activex компоненты - такие как activcnx от крестнон). Идея - в управлении кнопками в скада системе на pc при помощи аналогичных кнопок на сенсорной панели. Проблема возникла в связи контроллера и pc. Компонент activcnx ни в какую не хочет видеть контроллер и определяться самолично. В simpl пробовал использоавать и e-control pc interface и activecnx interface. Пробовал всяческие варианты ip table (как по документации так и нет). Результатов нет. Xpanel при этом работает нормально (ей можно управлять через сенсорную панель - то есть связь с pc есть). Операционная система win 7 64. Если кто занимался дружбой между контроллерами crestron и приложениями windows - дайте пожалуйста совет. Заранее спасибо

Ответов - 9

Вячеслав: Крутотень. Ни разу не сталкивался activcnx. Но первая же ссылка на сайте Crestron намекает скорее на создание интерфейса для отправки команд в Crestron, а не для управления нажатием кнопок в окнах программы под Windows. Хотя как интерфейс обмена рассматривать вполне можно. Скриншот киньте настроек этого компонента со стороны Sacada, может станет понятнее средства его коммуникации с Crestron. По сути там кроме IP-ID и адреса контроллера настраивать то и нечего. Управляли звуком и выключением PC с Crestron через приложение HiAsm. Но не более того. Как вариант можно будет сдружить вашу Scada с Crestron через сухие контакты или логические inputs (зависит от того что есть в системе в наличии и простаивает) или шлюз замутить нужного типа и управлять параллельно с Crestron-а.

DmitriiP: Пример ActiveCNX на VB (1999 года) Для разнообразия: Сделал Базовый пример на ActiveCNX под 2008 C# Connect/Disconnect + Digital/Analog/Serial Join Feedback Как видите работает не только с ActiveCNX .NET / e-control PC P.S. ActiveCNX.ocx для x86 систем , он не компилится с параметрами Any или x64 P.S.2 Как вариант гляньте e-script (запускает виндовые скрипты) P.S.3 Или рассмотреть Crestron <-> MODBUS TCP/IP protocol <-> Powerlogic scada, если совсем туго будет с интеграцией .ocx

Siman: Спасибо за ответы! Вячеслав, в мануале на ActiveCNX прописано так: "The ActiveCNX control created by this SDK can be thought of as a touchpanel symbol in SIMPL Windows. It can send and receive the three data types: digital, analog, and serial data. These inputs go into the control system and appear to the control system as an “e-control PC Interface” symbol. From that point, the user programs the SIMPL logic as if the system was a real touchpanel. When a signal changes on the inputs of the “e-control PC Interface”, a message is sent to the ActiveCNX control. The control responds by firing an event. There are three main control events that the user can capture and utilize in a PC program (OnDigital, OnAnalog, OnSerial). All three events return a join number and their corresponding value. The user’s program can then interpret this data however it needs to. For example, an incoming digital signal can be used to enable a button on a screen or could be used to trigger a non-graphical event such as sending an email. " - следовательно, все же управлять Scada-системой можно. Со стороны Scada-системы: в рабочую область вставляется скрытый компонент ActivCNX. Из настроек там только IP Gateway (без использования CNX Gateway рекомендуется указывать локальный 127.0.0.1) и галочка "Динамически добавлять адрес устройства в IP Table". Далее, есть возможность использовать методы, события и свойства Activex компонента. Соответственно, можно привязать локальный тег Scada-системы к ActivCNX таким образом, что в него будет записываться номер соответствующего кнопке digital join'а, который будет приходить с сенсорной панели через контроллер (во всяком случае так заявлено в мануале) по событию OnDigital. Проблема скорее в том, как заставить компонент принимать данные от контроллера. Скрин рабочего окна Scada, к сожалению, смогу сделать только в понедельник. DmitriiP, 1) "ActiveCNX.ocx для x86 систем , он не компилится с параметрами Any или x64" - была идея, что проблема в 64-битности системы. К сожалению, проверить работу на 32-битной системе пока не было возможности. 2) "Как вариант гляньте e-script (запускает виндовые скрипты)" - ее глядел, но, к сожалению, напрямую управлять Scada-системой через скрипты не получится. Следовательно, придется в любом случае придумывать способ интерпретировать полученные данные для использования в Scada. 3) "Или рассмотреть Crestron <-> MODBUS TCP/IP protocol <-> Powerlogic scada, если совсем туго будет с интеграцией .ocx" - вариант самый привлекательный для меня, но, к сожалению, есть одно но. Основной проект в Scada-системе (управление оборудованием объекта) делает другая организация и довольно часто перезаливает проект с нуля. Следовательно, используя протокол MODBUS TCP/IP мне придется добавлять новое устройство с протоколом обмена MODBUS в список оборудования внутри Scada с последующим прописыванием тегов для обработки сигналов от Crestron. В сравнение с простой вставкой ActivCNX компонента и минимальной настройкой тегов Scada - это будет крайний способ. Так же хотел поинтересоваться - в документации к e-control 2 (activcnx sdk) упоминается некий Activecnx gateway soft (как часть SDK). И,вроде как, он позиционируется, как средство упрощения связи Crestron и PC по Ethernet. Поиски сего софта на сайте Crestron не дали результатов, собственно как и поиски в интернете. Может кто знает, что сие такое и где достать копию =). П.С. К слову - в российском представительстве Crestron (при прохождении курсов) - озвучивал проблему связи PC (в частности приложений и Scada-систем) и оборудования Crestron (как управляющего приложениями на компьютере). Ответ был таков: "В данный момент каких-либо вариантов не предусмотрено - e-control 2 и ActivCNX заброшены в виду тупиковости линии развития. Как способ - реализация подключения и передачи данных при помощи языка Simpl#."


DmitriiP: Siman пишет: Так же хотел поинтересоваться - в документации к e-control 2 (activcnx sdk) упоминается некий Activecnx gateway soft (как часть SDK) скорее всеко имеют ввиду /software/cnx_gateway/cnx_gateway.3.0.0.1.exe Ещё ActiveCNX.ocx ненльзя использовать в WEB, классы (методы, события) тупо не видны для <OBJECT>, особености сборки.... Но если Siman пишет: Далее, есть возможность использовать методы, события и свойства Activex компонента. Значит не ваш случай. Незнаю какой там "язык/интерфейс" в Powerlogic scada для ActiveX/COM компонетнов. Вам надо базово проверить: ActiveCNX.Connect(string IP,string Port) ActiveCNX.OnConnect() если подключитесь и получите событие, то дальше уже вопрос техники посути 6 событий (OnError,OnConnect,OnDisconnect,OnDigital,OnAnalog,OnSerial) и 5 метоводов (Connect,Disconnect,SendDigital,SendAnalog,SendSerial)... P.S. A SSL на проце не включен? ActiveCNX в отличии от "брата" ActiveCNX .NET как я понял не дружит с SSL, не проверял, но упоминаний про SSL не увидел P.S.2 если на проце нужен пользователь/пароль попробуйте перед ActiveCNX.Connect(string IP,string Port) присвоить ActiveCNX.Username ="user name"; ActiveCNX.Password ="pass";

Siman: DmitriiP, SSL не используется. Логин/пароль тоже отсутствуют. На данный момент, чтобы установить подключение, постарался как можно меньше препятствий на пути сделать для связи. В Powerlogic Scada язык используется Cicode (разработан на основе С++ как я понял) и CiVBA (аналогично на основе Visual Basic). Синтаксис в целом похож на основополагающие языки. Собственно, чтобы использовать события и методы ActiveCNX компонента его нужно сначала привязать к проекту как ActiveX компонент (соответственно в настройках компонента задать в полях IP Gateway), затем дать доступ к компоненту (чтобы Cicode знал, как обратиться к конкретному ActiveX и использовать его методы и события). Собственно, написана уже простенькая заготовка: Connect -> в тег считать данные из Connected -> в другой тег считать данные из Digital -> Disconnect. Собственно, в теги ничего не пишется. В понедельник попробую 32-битную систему использовать (все же есть подозрения, что проблема в 64-битных версиях программ). П.С. Скачивал SDK с сайта Crestron.com - http://crestron.com/products/model/SDK-X . Собственно установка в корень диска С создает папку Crestron c 4 файлами (activcnx.ocx, две библиотеки .dll (вроде) и краткий мануал.) Нечто подобное /software/cnx_gateway/cnx_gateway.3.0.0.1.exe даже и не встречал там. Возможно, смотрю не туда??

Вячеслав: Честно говоря я далек от упомянутых языков программирования, но банальная рекомендация по настройке IP с 127.0.0.1 со стороны Crestron (в ActivCNX Interface или e-control PC interface) и со стороны приложения в котором этот ActivCNX компонент используется вызывает недоумение, каким же образом эти 2 хоста в сети узнают друг про друга, если им локалхост адрес настраивать. Одна сторона должна быть сервером. Для панелей эта сторона всегда контроллер. Логично предположить, что на стороне приложения где то должен указываться адрес в явном виде адрес контроллера Crestron.

DmitriiP: Siman пишет: нечто подобное /software/cnx_gateway/cnx_gateway.3.0.0.1.exe даже и не встречал там. Возможно, смотрю не туда?? это на ftp.crestron.com доступ должен быть с вашими логин/пароль от crestron.com (или в лс) Вячеслав пишет: я далек от упомянутых языков программирования, но банальная рекомендация по настройке IP с 127.0.0.1 со стороны Crestron (в ActivCNX Interface или e-control PC interface) это аля IP Table 127.0.0.2 на стороне крестрона, посути оно для /software/cnx_gateway/cnx_gateway.3.0.0.1.exe , если на винде стоит "cnx Шлюз", то ActiveCNX -> 127.0.0.1 (localhost) шлюз -> шлюз -> проц не заморачивайтесь :) cnx_gateway.3.0.0.1.exe 2002 года, ActivCNX 2008 (видно чёт фиксили под IE 5-6, посути 1999-2000) - 14 лет рекомендациям... сам IP контроллера устанавливается в ActiveCNX.Connect(string IP,string Port) P.S. Но при "всех глюках и проё...х c Core3 flash/mx53/и тд..." крестрона, за работу(даже пусть корявую) ActiveCNX с актуальными процами, спустя 14 лет, мой поклон...

Siman: DmitriiP, спасибо большое за софт. Технологии действительно уже, по сути, древние. Но, как бы это странно не звучало, господа из Polymedia нашему предприятию поставили в 2016 году контроллер CP2E и панель TPMC9, которые, как я понимаю, примерно тех же годов. И все под эгидой "суперсовременного". К слову отказ от ActiveCNX компонентов случился, как я думаю, из-за банальной интеграции в более мощные сенсорные панели поддержки приложений Windows и нынче, для управления компьютером, достаточно наладить связь через VNC. А в проекте в VTpro-e добавить на панель рабочую область VNC.

DmitriiP: Если задача стоит продублировать кнопки панели, а не полноценно свзять scada <-> crestron Возникла ещё идея: Если в Powerlogic scada есть возможность вставить ActiveX/COM компонент WEB броузера, то попробуйте Powerlogic scada -> Всавить Окно WEB броузера -> Внутрь засунуть HTML (XPANEL)



полная версия страницы