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
      Это все для всех так сказать для форумного сообщества СССР 3D . Тут много чего кто просто пишет и делает просто так .. Или как на будущее прокачивает скилы, Вообще только мне нужно знать куда входит деталь и в какие сборки ? Просто не понятно, все твердят что это такая удобная вещь в ПДМ..
    • Мастеровой
      Можно увидеть срач изрядный на станке. Я себе такого не допускал . Перетирало кабеля линеек  "Хайдена" на сгибах  и на стружке . Но такую грязь  на станке -с " Fanuc" неприлично выкладывать в сеть ". Это что-то в духе РТ-705 или 16К-20Ф3 , заваленных стружкой по самый верх . А кабель -рукава надеть на датчик" n-coder"-а всем слабо ?
    • Maik812
      Вот именно, что найти дольше если не делать все правильно, просто фаил и чертеж. не чего не даст !
    • Anastasia98
      Добрый вечер! Посчитала по упрощенной методике, результат вышел 6300 кг. Не поверила и отнесла на проверку преподавателю по сопромату, он сказал, что все верно. Однако уточнил, что запас прочности стекла большой. Проблема больше в местах крепления и в размерах области крепления стекла. 
    • MotorManiac
    • vjnjh1984
      А есть ещё какие-нибудь посты для cimatron? Может кто поделиться?  И ещё вопрос: никак не могу включить коррекцию на радиус инструмента при чистовой обработке поверхностей, это может быть связано с постпроцессором? Версия Е10 Спасибо, действительно работает, раньше выходило сообщение, что ссылка нерабочая 
    • Kir95
      Сохраняй чертёж детали, а деталь, как раз и подтянется вместе с чертежом. После вставки детали в сборку - ПКМ по детали - Открыть чертёж. Чертёж Сохранить как, в диалоговом окне сохранения включи ссылочные компоненты и на вкладке Дополнительно меняй названия файлов и путь (двойным щелчком по имени/пути или с помощью Найти/Заменить).     В сборке деталь уже будет под новым именем, если в настройках включена опция обновления имён при замене компонентов   Расписывать дольше, чем сохранять )
    • Vengeance
      #105=#105+1 IF[#105 LT 20]GOTO10 #105=0 M30  Я так делаю, если нужен счетчик с условием проверки)  
    • Plumber
    • Plumber
      Однажды утром Штирлиц зашёл к Мюллеру. Настроение у Мюллера было мрачное. — Господин группенфюрер, что случилось? Русские уже в пригородах Берлина? — Штирлиц, бросьте ваши дурацкие шутки! Мне приснился страшный сон! Мне приснилась Германия 2020 года! — И что же, там всё так плохо? — Не то слово, Штирлиц! Представляете, у нас в Германии канцлер - баба, министр обороны - баба, министр иностранных дел - педераст, на заводах Даймлер-Бенц работают турки, Германия оплачивает долги греков и испанцев. Вместо факельных шествий — гей-парады, мы платим деньги евреям и выполняем команды из Америки сначала негра, а потом старпёра-маразматика! Фашисты в Киеве, а не в Рейхстаге, Россия воюет с Украиной, а Германия !..., представьте, Штирлиц, - ГЕРМАНИЯ ! - уговаривает Россию не воевать!!! "Действительно, xерня какая-то..." — подумал Штирлиц.  
×
×
  • Create New...