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