Данный CODESYS форум содержит архивную копию русской ветви только для чтения. Для создания сообщений пожалуйста используйте актуальную международную платформу CODESYS Forum. Close

подключение внешней dll в RTE

Общий
SCF
2010-08-09
2016-11-07
  • SCF

    SCF - 2010-08-09

    Уважаемые друзья, выложьте снова описание и пример как подключать внешнюю dll в codesys
    Тема топика http://forum-ru.3s-software.com/viewtopic.php?f=1&t=701очень актуальна, но уже нет ссылок на документ и пример, оставленные Дмитрием Пастушенковым.

     
  • SCF

    SCF - 2010-08-10

    Игорь, благодарю вас!

     
  • vov4ik1313

    vov4ik1313 - 2014-05-12

    Извините, хотелось бы уточнить. Дело в том, что не очень понятен 2 пункт инструкции, то есть 1 пункт сделан...а потом как dll в программу вытащить

     
  • Anonymous - 2014-05-14

    Originally created by: Mikhail Shvetsov

    vov4ik1313 писал(а):
    Извините, хотелось бы уточнить. Дело в том, что не очень понятен 2 пункт инструкции, то есть 1 пункт сделан...а потом как dll в программу вытащить

    В двойке этого не делал, но согласно документации смею предположить, что надо в реестре создать руками параметр, как указно в примере :
    Used DLLs are made visible to the system by registry-entries:
    In
    \HKEY_LOCAL_MACHINE\Software\3S Smart Software Solutions\Codesys SP\RTPLC\External DLLs

    Example for an entry:
    Dll0 d:\Workspace\AsynchDll\AsynchDll.dll

    Система при старте читает все параметры и грузит из dll функции.

    Далее вызов этих функций идет через FB DllCall как видно из примера:
    PROGRAM PLC_PRG
    VAR
    stIn1:STRING:='das ist der erste';
    stOut1:STRING:='';
    stFctName1:STRING:='TestFunction1';
    fctcall1:DllCall;
    bEn: BOOL;
    END_VAR

    fctcall1(bEnable:= bEn, szFunctionName:=stFctName1 , lTimeout:=5000, ulSizeIn:=20 , ulSIzeOut:=SIZEOF(stOut1) , pAdrIn:=ADR(stIn1) , pAdrOut:=ADR(stOut1) );

    где stFctName1 - строка содержит имя функции, а stIn1 параметры

     
  • vov4ik1313

    vov4ik1313 - 2014-05-16

    Спасибо, буду пробовать!

     
  • malabiker

    malabiker - 2016-11-07

    Mikhail Shvetsov писал(а):
    В двойке этого не делал

    Расскажите, пожалйста, как водключать внешние DLL в 3.5, или ткните носом где почитать. Сам ничего конкретного найти не смог

     
  • CDSMaks

    CDSMaks - 2016-11-07

    malabiker писал(а):
    Расскажите, пожалйста, как водключать внешние DLL в 3.5, или ткните носом где почитать. Сам ничего конкретного найти не смог

    Ну, если по-простому, то можно скачать package designer (http://store.codesys.com/package-designer.html), создать новый пакет, добавить в него plug in, который будет ссылаться на нужную dll.
    Но dll должны быть именно для codesys.
    Открытой документации, как их создавать, нет, есть курсы, или можно купить Automation Platform, которая содержит документацию и примеры.