In order to help clarify what I would like to see in not only version 10 of LinuxCnc but also in the current version 9 future work. I will start working on this as soon as my new circuits board for my metal detectors are populated with all the SMD components. The circuit blank circuit boards arrived yesterday. This requires placing 235 SMD componets on each of the boards and likely take about seven days.

My goal for LinuxCnc is to provide a way for any user to interface any UI to LinuxCnc with a secure TCP network connection. LinuxCnc has had such an interface from its inception via the NML network servers however these are absolutely insecure and anyone with a bit of knowledge of remote NML commands can take control of LinuxCnc if those network ports are left open. Thus LinuxCnc needs modern secure network interfaces to replace the ones that were designed in from the very start government development and just ignored. Not many use this interface because it does not provide complete information due to developers add-ons such as Python that seem to just live in their own world within LinuxCnc and do not provide  any info into the NML network links. NML is likely the hardest thing to deal with and very difficult to replace but in general works just fine.

About 12 years ago I developed code to allow remote control of a lot of time sensitive  industrial and electronic equipment that was  over 500 miles from the actual normal user interface. The equipment being remotely controlled was located in a isolated area and without communication links and thus those also had to be designed and implemented. The overall bandwidth of the communication link was divided into remote receive data, multiple command channels,  status and error channels. The system was designed for very high reliability and met all design goals and is still in operation with some equipment updates having been made.

The goal of me mentioning this is that I know that having a distributed data system with equipment to be controlled in one location and the user interface in an other more convenient location doe not have to suffer from reliability issues when properly executed. What it does provide is flexibility. In case of LinuxCnc which runs on Linux user interfaces and there support requirements can be offloaded from the Linux system and run on Windows based system instead or even on another Linux Based computer. Which as I mentioned before reduces the need to load up the machine control computer with support code that is not directly related to its main function which if of course to control a machine and output status info back to the user and process commands from the UI that may be located some distance away and not in a noisy environment. There are of coarse other ways to snoop into a Machine controller and some have implemented one or more o those methods strictly because LinuxCnc does not have a proper way of handing remote UI's.

I thing that even version 9 master has a good deal of the required code to fix that problem by just adding some code to do some data routing and adding some secure TCP channels. I have drawn a basic block diagram of what would be required and attached it.


_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to