robertobucher / pysimCoder

Block diagram editor and real time code generator for Python
GNU General Public License v3.0
142 stars 31 forks source link

PdServ integration #64

Open igh-ab opened 1 year ago

igh-ab commented 1 year ago

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

Please feel free to comment or discuss my ideas.

Best regards

Andreas

robertobucher commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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).

igh-ab commented 1 year ago

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):

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

Best regards

Andreas

Harshitahusts commented 1 year ago

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

robertobucher commented 1 year ago

Yes, of course you can!

This will give a great improvement to the tool!