pysimCoder icon indicating copy to clipboard operation
pysimCoder copied to clipboard

PdServ integration

Open igh-ab opened this issue 1 year ago • 6 comments

Hello Roberto,

I am member of the EtherLab team (etherlab.org) and the creator of the EtherCos package (Scicos, EtherLab, EtherCAT) many years ago.

I am quite happy to see your new project.

I have started a new fork

https://github.com/igh-ab/pysimCoder/tree/master

to test several pysimcoder extension

  • Integration of pdserv library, to use of GUI testmanager, DLS data logging system, and pdcom and qt-pdwidgets library
  • Extend the code generation without using a precompiled library, code generation generates one single C file with all needed code included. This will simplify compilation and cross compilation.
  • Extend the codegeneration to be able to use non function based blocks, like fieldbus IO-systems. Try to port the Matlab TLC methods to the code generation. Blocks add code to includes, linked libraries, CFlags, predefinition, function, prerun, run and postrun sections. Example implemenation sineBlk, constBlk, mxmultBlk, NullBlk.
  • Extend codegeneration by derivated classes of RCPblk, to be able to handle families of blocks.
  • Integration of first EtherCat blocks

Please feel free to comment or discuss my ideas.

Best regards

Andreas

igh-ab avatar Jul 31 '23 10:07 igh-ab

Hi Andreas

Thanks for your interest in pysimCoder!

I'm still looking to find people interested in helping by the implementation of the tool! I should find more time in a couple of months to work on the system, after my retirement end of August(!).

At SUPSI we did some projects using both EtherLab and EtherCos in the past, but unfortunately SUPSI is at moment only interested in commercial industrial systems (Matlab, Beckhoff etc.) , and I can work on my open source tools only  in my spare time... After my retirement it should go better for me!

At present there are only few people actively working on the tools, Pavel Pisa (and some students) in Prague and me. pysimCoder has the possibility to become the "Simulink" of the python control toolbox, as explained by Richard Murray at the presentation of his toolbox at the ACC, but there is a lot to do! Any contribution is welcome! Let me know when you have some first testable results!

About a month ago I found people of Siemens Gamesa interesting in contributing with some additional features, in particular though bachelor student ptojects. In the meantime, your ideas are perfect to improve the tool. In particular, adding the possibility to integrate EtherCat is a great idea.

You can contact me for any additional information or idea about pysimCoder.

Thanks again

Best regards

Roberto

On 7/31/23 12:43, Andreas Stewering-Bone wrote:

Hello Roberto,

I am member of the EtherLab team (etherlab.org) and the creator of the EtherCos package (Scicos, EtherLab, EtherCAT) many years ago.

I am quite happy to see your new project.

I have started a new fork

https://github.com/igh-ab/pysimCoder/tree/master

to test several pysimcoder extension

  • Integration of pdserv library, to use of GUI testmanager, DLS data logging system, and pdcom and qt-pdwidgets library
  • Extend the code generation without using a precompiled library, code generation generates one single C file with all needed code included. This will simplify compilation and cross compilation.
  • Extend the codegeneration to be able to use non function based blocks, like fieldbus IO-systems. Try to port the Matlab TLC methods to the code generation. Blocks add code to includes, linked libraries, CFlags, predefinition, function, prerun, run and postrun sections. Example implemenation sineBlk, constBlk, mxmultBlk, NullBlk.
  • Extend codegeneration by derivated classes of RCPblk, to be able to handle families of blocks.
  • Integration of first EtherCat blocks

Please feel free to comment or discuss my ideas.

Best regards

Andreas

— Reply to this email directly, view it on GitHub https://github.com/robertobucher/pysimCoder/issues/64, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7WD7WQDSDL6DBBVHKV323XS6D5NANCNFSM6AAAAAA26CAVIM. You are receiving this because you are subscribed to this thread.Web Bug from https://github.com/notifications/beacon/AB7WD7TVQTEJJPF62HG3YHDXS6D5NA5CNFSM6AAAAAA26CAVIOWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHG2AXQOU.gifMessage ID: @.***>

--------------w1U0lVpRUmQYnHNFkYw9NqXn Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 8bit

Hi Andreas

Thanks for your interest in pysimCoder!

I'm still looking to find people interested in helping by the implementation of the tool! I should find more time in a couple of months to work on the system, after my retirement end of August(!).

At SUPSI we did some projects using both EtherLab and EtherCos in the past, but unfortunately SUPSI is at moment only interested in commercial industrial systems (Matlab, Beckhoff etc.) , and I can work on my open source tools only  in my spare time... After my retirement it should go better for me!

At present there are only few people actively working on the tools, Pavel Pisa (and some students) in Prague and me.
pysimCoder has the possibility to become the "Simulink" of the python control toolbox, as explained by Richard Murray at the presentation of his toolbox at the ACC, but there is a lot to do! Any contribution is welcome! Let me know when you have some first testable results!

About a month ago I found people of Siemens Gamesa interesting in contributing with some additional features, in particular though bachelor student ptojects. In the meantime, your ideas are perfect to improve the tool. In particular, adding the possibility to integrate EtherCat is a great idea.

You can contact me for any additional information or idea about pysimCoder.

Thanks again

Best regards

Roberto

On 7/31/23 12:43, Andreas Stewering-Bone wrote:

Hello Roberto,

I am member of the EtherLab team (etherlab.org) and the creator of the EtherCos package (Scicos, EtherLab, EtherCAT) many years ago.

I am quite happy to see your new project.

I have started a new fork

https://github.com/igh-ab/pysimCoder/tree/master

to test several pysimcoder extension

  • Integration of pdserv library, to use of GUI testmanager, DLS data logging system, and pdcom and qt-pdwidgets library
  • Extend the code generation without using a precompiled library, code generation generates one single C file with all needed code included. This will simplify compilation and cross compilation.
  • Extend the codegeneration to be able to use non function based blocks, like fieldbus IO-systems. Try to port the Matlab TLC methods to the code generation. Blocks add code to includes, linked libraries, CFlags, predefinition, function, prerun, run and postrun sections. Example implemenation sineBlk, constBlk, mxmultBlk, NullBlk.
  • Extend codegeneration by derivated classes of RCPblk, to be able to handle families of blocks.
  • Integration of first EtherCat blocks

Please feel free to comment or discuss my ideas.

Best regards

Andreas


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Web Bug from
https://github.com/notifications/beacon/AB7WD7TVQTEJJPF62HG3YHDXS6D5NA5CNFSM6AAAAAA26CAVIOWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHG2AXQOU.gifMessage ID: <robertobucher/pysimCoder/issues/64@github.com>


--------------w1U0lVpRUmQYnHNFkYw9NqXn--

robertobucher avatar Jul 31 '23 12:07 robertobucher

I'll give a look at your first modifications with the integration of the C-code of some blocks. Please take care that some block with the same name have different implementation code, dependently from the target (one example is given by the "canopen.c" )

Best regards

Roberto

On 7/31/23 12:43, Andreas Stewering-Bone wrote:

Hello Roberto,

I am member of the EtherLab team (etherlab.org) and the creator of the EtherCos package (Scicos, EtherLab, EtherCAT) many years ago.

I am quite happy to see your new project.

I have started a new fork

https://github.com/igh-ab/pysimCoder/tree/master

to test several pysimcoder extension

  • Integration of pdserv library, to use of GUI testmanager, DLS data logging system, and pdcom and qt-pdwidgets library
  • Extend the code generation without using a precompiled library, code generation generates one single C file with all needed code included. This will simplify compilation and cross compilation.
  • Extend the codegeneration to be able to use non function based blocks, like fieldbus IO-systems. Try to port the Matlab TLC methods to the code generation. Blocks add code to includes, linked libraries, CFlags, predefinition, function, prerun, run and postrun sections. Example implemenation sineBlk, constBlk, mxmultBlk, NullBlk.
  • Extend codegeneration by derivated classes of RCPblk, to be able to handle families of blocks.
  • Integration of first EtherCat blocks

Please feel free to comment or discuss my ideas.

Best regards

Andreas

— Reply to this email directly, view it on GitHub https://github.com/robertobucher/pysimCoder/issues/64, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7WD7WQDSDL6DBBVHKV323XS6D5NANCNFSM6AAAAAA26CAVIM. You are receiving this because you are subscribed to this thread.Web Bug from https://github.com/notifications/beacon/AB7WD7TVQTEJJPF62HG3YHDXS6D5NA5CNFSM6AAAAAA26CAVIOWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHG2AXQOU.gifMessage ID: @.***>

--------------Y8c97SOmUhqGam6utjqhcVKf Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 8bit

I'll give a look at your first modifications with the integration of the C-code of some blocks. Please take care that some block with the same name have different implementation code, dependently from the target (one example is given by the "canopen.c" )

Best regards

Roberto

On 7/31/23 12:43, Andreas Stewering-Bone wrote:

Hello Roberto,

I am member of the EtherLab team (etherlab.org) and the creator of the EtherCos package (Scicos, EtherLab, EtherCAT) many years ago.

I am quite happy to see your new project.

I have started a new fork

https://github.com/igh-ab/pysimCoder/tree/master

to test several pysimcoder extension

  • Integration of pdserv library, to use of GUI testmanager, DLS data logging system, and pdcom and qt-pdwidgets library
  • Extend the code generation without using a precompiled library, code generation generates one single C file with all needed code included. This will simplify compilation and cross compilation.
  • Extend the codegeneration to be able to use non function based blocks, like fieldbus IO-systems. Try to port the Matlab TLC methods to the code generation. Blocks add code to includes, linked libraries, CFlags, predefinition, function, prerun, run and postrun sections. Example implemenation sineBlk, constBlk, mxmultBlk, NullBlk.
  • Extend codegeneration by derivated classes of RCPblk, to be able to handle families of blocks.
  • Integration of first EtherCat blocks

Please feel free to comment or discuss my ideas.

Best regards

Andreas


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Web Bug from
https://github.com/notifications/beacon/AB7WD7TVQTEJJPF62HG3YHDXS6D5NA5CNFSM6AAAAAA26CAVIOWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHG2AXQOU.gifMessage ID: <robertobucher/pysimCoder/issues/64@github.com>


--------------Y8c97SOmUhqGam6utjqhcVKf--

robertobucher avatar Jul 31 '23 12:07 robertobucher

Hi Andreas

I've put "syspath" and "ident" in blocks and subsblock and it seems to work. This is a very good improvement!

Before commit the changes, I'll do some tests to see if nothing else is affected by this modification.

Till now, I let my "old" code in scene.py for code generation and I've not inserted these 3 modified lines in the code:

    fn.write('')
    fn.write('codedata = genCode(fname, ' + self.Ts + ', blks)\n')
    fn.write("genMake(fname, '" + self.template + "', codedata, addObj = '" + self.addO

I've tried your "codedata", but I have some problems with the LTI (G(s) block that gives some errors by the code generation (I'll investigate why).

robertobucher avatar Aug 16 '23 06:08 robertobucher

Hello Roberto, Sorry for the late response, back to work.

Generally it is possible that the codegenerator needs some more codeentrypoints. Especially for subsampling and internal state update.

I am also thinking, howto extend the RCPblk class (S-Function like interface):

  • Init Parameter function by this class
  • Validate function
  • Multi dimsional parameter or structs (we are in python). Actually the parameter interface reflects only the C-API, but there is no need to.
  • GUI Logic function
  • Block GUI file loading ....

In general speaking, only one file per block is responsible for

  • GUI behavior
  • Parameter handling
  • Codegeneration

Best regards

Andreas

igh-ab avatar Aug 18 '23 15:08 igh-ab

I would like to contribute to this issue I have read the Readme.file for so. Can I?

Harshitahusts avatar Sep 04 '23 10:09 Harshitahusts

Yes, of course you can!

This will give a great improvement to the tool!

robertobucher avatar Sep 04 '23 10:09 robertobucher