a few semi-related notes: I'd been looking into potential alternatives to the RCS/CMS/NML code in Linuxcnc for different reasons:
- the restrictions are substantial: fixed message size, a very limited interaction model (no really usable remote procedure call, no publish/subscribe interaction, an arcane approach to serialization, remote command injection etc) - a really distibuted solution should address sharing HAL information across machines just alike, not just NML messages with ad-hoc HAL contents copied around at the C level - it should support late binding, i.e. contents of messages defined at runtime (no need to recompile because some field/HAL bit is added) - it should support easier and mostly autogenerated binding to at least Python - the current NML code is C++-based and hence not kernel-compatible, which is an issue at the userland/RT component boundary (message transcoding required, eg. in src/emc/motion/usrmotif.c) - the current code is substantial, but only a minimal part of the functionality is currently used, and knowhow on it is scarce - the current coding style, and mode of use encourage a piecemeal migration to a single machine model (shared filesystem assumed, poor distribution options etc), which is somewhat driven by the NML framework's limitations - some recent ideas about a future linuxcnc structure would suggest a more close interaction of interpreter ad realtime modules, which has repercussions on the communications framework, and it is unclear to me whether NML will be on the help or issue side this is btw a very similar laundry list like realtime middleware used e.g. in stock market transactions, like Tibco Rendezvous the best list of candidate components I could find was: - zeromq as messaging framework - status distribution by reliable multicast (openpgm, already integrated in zeromq) - google protobuf for message coding/decoding and language binding - nanopb, a RT-module compatible protobuf library (if one were to use a unified message format from wire down to RT/userland comms) A showstopper is licensing - zeromq is GPLv3 and I understand that excludes its use in linuxcnc -- I'm writing this up because it might help someone looking for suitable components. Other than that, it's a thought experiment, not a proposal, and no pending patch if you will. - Michael Am 07.08.2012 um 21:38 schrieb Viesturs Lācis: > 2012/8/7 Kent A. Reed <kentallanr...@gmail.com>: >> >> The bigger picture is still very fuzzy and hence harder to answer. What >> does it mean "to synchronize them, so that they work all together"? >> > > Yes. I still do not know for sure the answer to this question. > Because I have never seen any system like that, so I have no idea, how > exactly do they work and I do not want to reinvent the wheel. Can > anyone share some information or screenshots, what do those existing > solutions have? What are they capable of? > > I guess that in my case requirements could be limited down to this > list (actually second point alone would do): > 1) load a separate g-code file for each separate LinuxCNC station and > separately execute them - this would actually be a remote control with > several machine being controlled from one GUI; > 2) upon pressing some button/changing a tab or whatever, make all the > stations execute one g-code file - this would require modified > interpreter and non-standard g-code to exceed current number of axis > words and some additional commands in the middle of the code that > would put each station on pause and then resume, when all stations > have reached this "pause" command. I guess that non-standard code is > not biggest issue, because those machines either run one code for a > long time (so it is worth spending some time to prepare code) or they > receive the commands "almost on the fly" from another application; > >> Whatever this means, there has to be software written to implement it, >> and the NML communications is only a small part of that implementation. > > Yes, that is why I am now looking for a programmer. > >> If you know CORBA the situation with RCS is analogous. > > Sorry, this is first time I hear about it :)) > > > 2012/8/7 Joachim Franek <joachim.fra...@pibf.de>: >> >> >> Have a look to >> http://www.orocos.org/orocos/applications/krypton > > BTW today I was pointed to this page: > http://www.proview.se/v2/ > > That seems one very attractive application. And it runs on Linux. And > it is opensource. > > -- > Viesturs > > If you can't fix it, you don't own it. > http://www.ifixit.com/Manifesto > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers