Jump to content

Считывание диагностических данных по второму каналу с помощью OPC сервера KEPServerEX


AndreyLow

Recommended Posts

AndreyLow

Здравствуйте, столкнулся с проблемой считывания диагностических данных по второму каналу с помощью OPC сервера KEPServerEX на токарном станке со стойкой Fanuc 32I.

Функция cnc_diagnoss:A:B, где A - номер параметра, B- номер оси.

Подскажите направление куда копать?

Link to post
Share on other sites


UnPinned posts
Viktor2004

Дайте кто-нибудь исходник на С++ для коннекта с ЧПУ. У меня есть на С# а нужно на С++ или на С еще лучше

Link to post
Share on other sites
Viktor2004

Вот эта программа коннекта у меня почему-то не компилируется

#include <iostream>
#include "fwlib32.h"
using namespace std;
int main()
{
    const char *IP = "192.168.1.26";
    unsigned short port = 8193;
    long timeout = 10;
    unsigned short FlibHndl = 0;
    short ret;
    bool a;
    cout << "1-ON  0-OFF\n" ;
    cin >>  a;
    if (a==1)
    {
        ret = cnc_allclibhndl3( IP, port, timeout, &FlibHndl );
        if (ret == EW_OK)
        {
            cout << ("Uspeshno podkluchen ! ") << endl;
        }
        else
        {
            cout << ret << " " << endl;
        }
    }
    else
    {
         ret = cnc_freelibhndl(FlibHndl);
                    if (ret == EW_OK)
                    {
                        cout << ("Otklucheno uspeshno ! ") << endl;
                    }
                    else
                    {
                        cout << ret << " " << endl;
                    }
    }
    return 0;
}

 

Link to post
Share on other sites
Soprin
The following program let you connect a CNC where its IP address is
190.190.11.11 and its port number of the Ethernet (TCP) is 8193
and read the status information from it.
Timeout is 10 seconds right now.

#include "fwlib32.h"
void example( void )
{
    unsigned short h;
    short ret;
    ODBST buf;
    ret = cnc_allclibhndl3( "190.190.11.11", 8193, 10, &h ) ;
    if ( !ret ) {
            cnc_statinfo( h, &buf ) ;
            cnc_freelibhndl( h ) ;
    } else {
            printf( "ERROR!(%d)\n", ret ) ;
    }
}
  • Нравится 1
Link to post
Share on other sites
Viktor2004
7 минут назад, gudstartup сказал:

можете воспользоваться вот этой программой

Да меня пока не результат, а процесс интересует. Так что без исходников неинтересно. Да и Линукс у меня на компе, а не винда

Кстати, по Вашему вопросу. У Вас функция по первому каналу работает? Там ведь в параметрах функции нужен только номер оси. Канал не требуется.

Edited by Viktor2004
Link to post
Share on other sites
gudstartup
14 минут назад, Viktor2004 сказал:

Так что без исходников неинтересно.

Вот исходники для mtconnect сервера можете посмотреть

mtconnect-adapter-Version_1.1.0.2-0-g519889c.tar.gz

@Viktor2004 Или этот пример попроще

fanuc nc _aqusion_test.rar

28 минут назад, Viktor2004 сказал:

Кстати, по Вашему вопросу. У Вас функция по первому каналу работает?

Я вроде вам такого вопроса не задавал:smile:

Link to post
Share on other sites
Viktor2004
32 минуты назад, gudstartup сказал:

Я вроде вам такого вопроса не задавал

Извиняюсь. Это автор задавал в 1-м посте

Link to post
Share on other sites
gudstartup
4 часа назад, Soprin сказал:

#include "fwlib32.h" void example( void ) { unsigned short h; short ret; ODBST buf; ret = cnc_allclibhndl3( "190.190.11.11", 8193, 10, &h ) ; if ( !ret ) { cnc_statinfo( h, &buf ) ; cnc_freelibhndl( h ) ; } else { printf( "ERROR!(%d)\n", ret ) ; } }

Эта программа никуда не приконнектится потому что нет функции main  описана только функция example

Link to post
Share on other sites
Viktor2004
34 минуты назад, gudstartup сказал:

Или этот пример попроще

На С-шарп у меня есть примеры. Интересовал С++ или голый С

Link to post
Share on other sites
gudstartup
2 минуты назад, Viktor2004 сказал:

На С-шарп у меня есть примеры. Интересовал С++ или голый С

mtconnect на с++

3 минуты назад, Viktor2004 сказал:

На С-шарп у меня есть примеры. Интересовал С++ или голый С

mtconnect на с++

mtconnect-adapter-Version_1.1.0.2-0-g519889c.tar.gz

Link to post
Share on other sites
Viktor2004
Только что, gudstartup сказал:

mtconnect на с++

Я видел этот проект раньше. Он слишком большой для меня

 

Link to post
Share on other sites
Soprin
3 часа назад, gudstartup сказал:

Эта программа никуда не приконнектится потому что нет функции main  описана только функция example

Так про программу никто не говорил. Ему вроде нужен был код для соединения с чпу.

3 часа назад, Viktor2004 сказал:

На С-шарп у меня есть примеры. Интересовал С++ или голый С

На GitHub есть прога по focas с исходниками на c++, практически все функции реализованы

3 часа назад, gudstartup сказал:

И зачем эта ненужная пракладка, если она также по focas общается?

Link to post
Share on other sites
Viktor2004
16 минут назад, Soprin сказал:

На GitHub есть прога по focas с исходниками на c++, практически все функции реализованы

Если ее текст больше страницы, я не разберусь. Мой уровень Hello word

Link to post
Share on other sites
Soprin
5 минут назад, Viktor2004 сказал:

Если ее текст больше страницы, я не разберусь. Мой уровень Hello word

Это проект и открывается в visual studio. Или скомпилированный открываешь как уже готовое приложение

8 минут назад, Viktor2004 сказал:

Если ее текст больше страницы, я не разберусь. Мой уровень Hello word

А тебе в чем разобраться то нужно? Как на плюсах приложения писать? 

Link to post
Share on other sites
Viktor2004
50 минут назад, Soprin сказал:

А тебе в чем разобраться то нужно? Как на плюсах приложения писать? 

Вначале просто законнектиться

Мне иногда приходится написать какую-то программку, но нет у меня мышления программиста. Не могу я думать языком программирования, вот и приходится вымучивать каждую строчку.

Edited by Viktor2004
Link to post
Share on other sites
Viktor2004
10 часов назад, Soprin сказал:

The following program let you connect a CNC where its IP address is 190.190.11.11 and its port number of the Ethernet (TCP) is 8193 and read the status information from it. Timeout is 10 seconds right now.

Нет. Не компилирует у меня и эту программу коннекта

На виртуальной машине с XP проверил

 

HDCPY000.JPG

Link to post
Share on other sites
gudstartup
9 минут назад, Viktor2004 сказал:

Нет. Не компилирует у меня и эту программу коннекта

Необходимо добавить Fwlib32.lib в ресурсы и все скомпилируется!:smile:

image.png

image.png

Link to post
Share on other sites
Viktor2004
4 минуты назад, gudstartup сказал:

Необходимо добавить Fwlib32.lib в ресурсы и все скомпилируется!

Добавил

 

HDCPY000.JPG

Link to post
Share on other sites
gudstartup

Это Ваш первый пример

18 часов назад, Viktor2004 сказал:

#include <iostream>
#include "fwlib32.h"
using namespace std;
int main()
{
    const char *IP = "192.168.1.26";
    unsigned short port = 8193;
    long timeout = 10;
    unsigned short FlibHndl = 0;
    short ret;
    bool a;
    cout << "1-ON  0-OFF\n" ;
    cin >>  a;
    if (a==1)
    {
        ret = cnc_allclibhndl3( IP, port, timeout, &FlibHndl );
        if (ret == EW_OK)
        {
            cout << ("Uspeshno podkluchen ! ") << endl;
        }
        else
        {
            cout << ret << " " << endl;
        }
    }
    else
    {
         ret = cnc_freelibhndl(FlibHndl);
                    if (ret == EW_OK)
                    {
                        cout << ("Otklucheno uspeshno ! ") << endl;
                    }
                    else
                    {
                        cout << ret << " " << endl;
                    }
    }
    return 0;
}

 

 

Link to post
Share on other sites
Viktor2004
Только что, gudstartup сказал:

Это Ваш первый пример

Я пытаюсь компилировать тот вариант что мне здесь предложили.

Свой вариант я год назад мучил, так и закинул.

Мне его даже профессиональный программист не смог скомпиллировать.

Link to post
Share on other sites
gudstartup

Я вам написал добавить его в проект 

image.png

2 минуты назад, Viktor2004 сказал:

Свой вариант я год назад мучил, так и закинул.

Ваш первый вариант прекрасно компилируется как вы можете видеть!

Могу скинуть вам проект но он VS2019 Community

Link to post
Share on other sites
Viktor2004
2 минуты назад, gudstartup сказал:

Я вам написал добавить его в проект 

чего добавить в проект? Fwlib32.lib я в ресурсы добавил. Исходник у меня Connect.cpp

Link to post
Share on other sites
gudstartup
1 минуту назад, Viktor2004 сказал:

чего добавить в проект?

Необходимо добавить его FWLIB32.LIB еще и в папку Resource files в solution explorer  а у вас как я вижу  в ней  ничего нет.

image.png

Link to post
Share on other sites
Viktor2004
1 минуту назад, gudstartup сказал:

а у вас как я вижу  в ней  ничего нет.

посмотрите прикрепленную фотографию где я написал "Добавил"

Link to post
Share on other sites
gudstartup

И компилируйте ваш первый пример во втором нет даже функции main():smile:

Только что, Viktor2004 сказал:

посмотрите прикрепленную фотографию где я написал "Добавил"

А вы посмотрите мою где у вас в папке resource files ничего не видно! Там должен появится файл как и в случае с вашим файлом заголовка fwlib32.h и он должен называться fwlib32.lib

image.png

Link to post
Share on other sites
Viktor2004
4 минуты назад, gudstartup сказал:

А вы посмотрите мою где у вас в папке resource files ничего не видно!

После того как я добавил в проект файл FWLIB32.LIB он отобразился у меня в проекте и я выложил второй скрин на форум. В Вашем фото он не появился потому что для этого надо скачать прикрепленный мной второй скрин и увеличить его.

Link to post
Share on other sites
gudstartup
10 минут назад, Viktor2004 сказал:

посмотрите прикрепленную фотографию где я написал "Добавил"

На ваших фото очень плохое разрешение теперь рассмотрел на втором снимке

Теперь вам необходимо добавить функцию main() в ваш проект и вызвать вашу функцию example  в теле main() поэтому я и советую вам компилировать вашу первую программу а не приведенный пример ибо она имеет правильную структуру

Edited by gudstartup
Link to post
Share on other sites
Viktor2004
1 минуту назад, gudstartup сказал:

поэтому я и советую вам компилировать вашу первую программу а не приведенный пример

Ну, у меня Visual Studio зависла.

Вероятно надо ей создать виртуальную машину помощнее

Link to post
Share on other sites
gudstartup
1 минуту назад, Viktor2004 сказал:

Ну, у меня Visual Studio зависла.

Поставьте на host новую MVS на виртуалке у меня тоже сильно тормозит

Вот ваш скомпилированный файл

Focas.exe

Link to post
Share on other sites
Viktor2004
12 минут назад, gudstartup сказал:

Вот ваш скомпилированный файл

спасибо. Работает

Буду искать новое железо для компиллятора

Почему же профессиональные программисты которым я свой исходник отправлял, не могли скомпиллировать? Я им и все библиотеки давал. 

Зять мой в их числе. Позиционирует себя программистом

Edited by Viktor2004
Link to post
Share on other sites
Viktor2004
5 минут назад, gudstartup сказал:

:smile:

Объясните мне пожалуйста для понимания.

Я читал что .lib это статическая библиотека, а .dll динамическая.

В чем их суть? Моя программа имеет функции которые описаны в библиотеке. Статической или динамической?

Вроде ссылки на функции дает заголовочный файл. И для чего в фануковской папке Fwlib целая куча библиотек .dll ? Они все нужны или частично? Чем они отличаются например fwlib30i.dll и fwlib32.dll?

Link to post
Share on other sites
AndreyLow

Отвечаю на вопрос по версии: KepServerEx v6.9

Функция cnc_diagnoss:A:B по первому каналу работает. А вот как организовать доступ к диагностическим данным второго канала не ясно.

Link to post
Share on other sites
Viktor2004
5 минут назад, AndreyLow сказал:

Отвечаю на вопрос по версии: KepServerEx v6.9

Вы уж извините что я вашу тему зафлудил. Больше не буду

Link to post
Share on other sites
gudstartup
4 минуты назад, Viktor2004 сказал:

В чем их суть? Моя программа имеет функции которые описаны в библиотеке. Статической или динамической?

В вашем случае в статической!

По повод разницы привожу цитату с хабра

Статическая библиотека это фактически архив объектных файлов, который используется в процессе статической линковки. В результате статической линковки из многих объектных файлов получается один исполняемый, запускается статическая линковка в момент создания исполняемого файла.

Динамическая библиотека это фактически исполняемый файл (т.е. DLL и EXE в Windows имеют одинаковый формат). Динамическая линковка запускается в момент создания процесса (когда вы запускаете исполняемый файл на выполнение), линкуются между собой несколько исполняемых файлов каждый раз, когда создается новый процесс. Так же возможна динамическая линковка уже после запуска, т.е. новая библиотека может быть подгружена в адресное пространство ужа работающего процесса.

Сделать из статической библиотеки динамическую в принципе можно - необходимо ее (статически) слинковать в динамическую библиотеку, при этом будет создана динамическая библиотека и статическая стаб-библиотека, которую можно использовать в проекте вместо статической библиотеки, чтобы вызывать функции из динамической библиотеки.

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

Статическая линковка - вы линкуетесь с конкретным файлом, и если копируете программу на другую машину, копируете и эту библиотеку вместе с исполняемым. С одной стороны у вас более надежно - точно заработает. С другой стороны - размер инсталлятора больше, если понадобилась статическая линковка - значит вы используете нестабильную/устаревшую библиотеку (это если мы говорим о системных библиотеках. Свои кастомные библиотеки можно линковать как вам удобно)

Link to post
Share on other sites
Viktor2004
15 часов назад, AndreyLow сказал:

Отвечаю на вопрос по версии: KepServerEx v6.9

Функция cnc_diagnoss:A:B по первому каналу работает. А вот как организовать доступ к диагностическим данным второго канала не ясно.

Так ведь в функцию не передается номер канала. Только номер оси и параметр.

Что происходит когда Вы задаете ось относящуюся к второму каналу?

Link to post
Share on other sites
Viktor2004

Или может надо предварительно установить номер канала с которым работаете

функцией cnc_sdtsetchnl

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Maik812
      Какой смешной.. Вот рассмешил меня!!  Я тебе тайну страшную открою что любой бизнес покупает только если это приносит прибыль а не убыток.. Просто прибыль она бывает разная время это тоже деньги.. при чем время самый дорогой продукт, так как невосполним.. Машину в такси покупают чтоб она себя отбила, и компьютер покупают чтоб отбил и плоттер и в типографию станок чтоб принес прибыль и отбил. И не поверишь самолеты по 200 мл баксов чтоб принес прибыль :)   Вот именно !!! расскажи этим продаваном PDM !!!! И Я ВЫБИРАЮ TOTAL COMMANDER Да конечно бесплатен , это как за коврик просить плату при входе в квартиру за 10 миллионов что ты отдал за нее..       Да предсмставь себе при определенных действиях и написанного шаблона :) Да естественно и ТС ищет фото показать ? в сакросе геометрика смотри.. А Вот имя сможет PDM поменять так же просто ? А фильтр удобный там есть или тупой поиск?   Да в сравнение с PDM за куеву тучу бабок или за лицензию на SW ТС бесплатно делает все это и это написано именно как то что TC умеет делать с настройками и плагинами. Как и любой САПР и PDM все при соответствующих купленных и встроенных делают подобное. Вопрос тут в том что кто то считает тут что я "сову на глобус натягиваю" при этом я еще раз Я НЕ ПРОГРАММИРУЮ, Я НЕ УМЕЮ ПИСАТЬ ПРОГРАММЫ И МАКРОСЫ Все ЭТО все с 1-6 пункт  Total commander делает без программирование с моей стороны (я изменяю существующие плагины и их имя для удобства) а использования макросов написаны форумчанами и др программистами которые делали их для всех бесплатно.   Представь себе можно без дерева или через распознавание  , тут главное оформленные данные для работы как с объектами спецификации с узлами.
    • Kelny
      В сравнении с ТС? При наличии соответсвующих полей найдёт. А кто это может делать автоматом? То есть можно сделать чертёж по ГОСТ, а потом галочку например на ISO поменять и можно отправлять в другую страну? Дерево при желании можно перевести: https://kelnyproject.ucoz.ru/load/renamed_features_in_featuremanager/7-1-0-21 Ну если есть доступ смотри на здоровье. ТС это умеет? Трансляция в другие форматы всегда проблема и в большинстве случаев с некоторой потерей данных. А с точки зрения загрузки файла в файловое хранилище, то всё равно какие файлы туда грузить. При наличии соответствующих плагинов и программ для просмотра смотрите на здоровье. ТС тоже не сам читает всевозможные файлы, а с помощью дополнительных вставок и надстроек. При наличии соответствующей заглушки любой каприз. А предыдущая версия это не про Solidworks - тут движение только вперёд и назад хода нет.   Вы внимательно читали информацию на сайте? Инструмент бесплатен, если вы купили там Solidworks. Аналогичное предложение было от SWR, со своими утилитами, когда они ещё были основными официалами. О какой прибыли потребителя речь? Покупатель на то и покупатель что бы иметь всегда убыток/приобретение. Где вы видели магазин продающий товар, но при этом прибыль получает покупатель? Так это говорит о свободе выбора, а так это все лишь инструменты, которые при использовании по назначению приносят пользу - каждый по своему. В капитализме нет справедливости, каждый хочет кушать, а что бы кушать нужно продавать свой товар/софт/знания/работу.  
    • Maik812
      Это все твои ответы. .. жаль Вот как стал в конторе работать чтоб КБ всяким втюхивать софт якобы улучшающий "жизнь" КБ то все.. из конструктора в продованы... Так ты реально то продай чтоб действительно была прибыль у покупателя от этого... Но нет смысла в PDM если 1-5 челов работают в КБ .. Ну чего спорить.. Ну вот делаю для себя и тем кому PDM не нужен.. Ну тебе не нравится Total commander а меня бесит тупой проводник. Проводничек для домохозяек делался..
    • VT62
      в общем на данный момент действительно не видно методики чтобы уйти от подбора режима методом тыка. предел прочности как единственный параметр - ну эт фигня какая то. у хорошего дюраля этот предел может быть в 2 раза выше чем у нержи. И?  да сама траектория это хорошо - но можно было вообще убрать материалы из настроек при таком раскладе как сейчас. 
    • Kirill_Savitski
      Это нужно для дипломного проекта
    • _Precision_
      Скажите пожалуйста, какое количество этих лицевых панелей планируется изготовить?  
    • scaus
      Помогите ЛЮДИ ДОБРЫЕ! Очень нужен мануал на русском на листогиб  Durma AD-R 25100 с системой ЧПУ - DT10 (Durma Touch 10). Если есть у кого, скиньте на почту плиз: scaus1@mail.ru     Зараннее признателен!!! 
    • streamdown
      Чего ты прицепился))   в твоём случае Ага, помню. Ты за столько лет даже на донат зажлобился своей любимой программе.
    • g687
      Надо мне построить сарай. Необычная форма площадки обусловлена историческими причинами. Строить собираюсь из трубы 60x40. Ферму под крышу еще не рисовал. Поставил вертикальные стойки, на них хорошо лег верхний ярус. Крышу предварительно думаю сделать многоугольной. В процессе конструирования пока не могу придумать как приварить наклонную красную трубу, которая идет от верха крыши до верхнего пояса. Допустим я ее положу на верхний пояс - а дальше изготовить косынки от вертикальной стойки до красной трубы и приварить на косынку? Плюс сделать косынки от верхнего пояса до красной трубы ? Посоветуйте пожалуйста - как на практике такое соединение делают ?
    • Messij
      Всем привет!  Кто подскажет как постпроцессоре геометрию в cycle95 вынести в конец программы 
×
×
  • Create New...