On 10/09/2017 11:15 AM, Nicklas Karlsson wrote:
On Mon, 09 Oct 2017 10:55:38 -0500
Jon Elson <el...@pico-systems.com> wrote:

On 10/09/2017 12:20 AM, Frederic RIBLE wrote:

Machinekit is running both on PC or BBB.
It is coming with several improvements and disrupting
implementations (see https://youtu.be/OVVGdQnz5Ts)
As an example, the new middleware is enabling a network of
HAL components running on different boards.
One application is remote GUI running on a tablet (not a
remote X session, but a true local GUI exchanging data
with the remote RT controller over LAN or Wifi).

This is one of the major thrusts of Machinekit, to open up
the inner architecture of LinuxCNC to the network.
Using Zero MQ as the communication manager to replace NML,
which was never intended to operate over the network.

I read the documentation and NML must have been intended for communication from 
the start but no one use this way. I have problem running the axis client.

I just set up an instance of linuxcnc running the realtime machine control code on one computer and the UI on another computer, connected by TCP.

I'm on the current tip of master, commit 7c626c52.

The "UI" i used is the bare python interpreter, using the "linuxcnc" module to talk to the motion control core. This is the same python library that Axis uses, but without any of the Axis code. I did this to get away from any issues relating to HAL, which is *not* network transparent.

On the server (the machine running the realtime motion control code) I cd'ed to tests/linuxcncrsh-tcp and ran "linuxcnc -r linuxcncrsh-test.ini".

On the client (the machine running the UI) i started with the tcp.nml file from linuxcncrsh-tcp, but changed the buffer host (the 4th field on the lines that begin with "B") to the IP address of the server machine. I then ran "python" and typed in these commands:

import linuxcnc
linuxcnc.nmlfile='/tmp/tcp.nml'
c = linuxcnc.command()
s = linuxcnc.stat()
c.state(linuxcnc.STATE_ESTOP_RESET)
c.state(linuxcnc.STATE_ON)
s.poll()
s.homed
(0, 0, 0, 0, 0, 0, 0, 0, 0)
c.home(0)
s.poll()
s.homed
(1, 0, 0, 0, 0, 0, 0, 0, 0)

So the NML communication part is definitely working.


--
Sebastian Kuzminsky

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to