Copyright © 1998-2017 Luca Gallina

Runmode, programming Siemens PLCs

Free tools, hints, tips and tricks. Interesting and specialized applications are also on sale, all developed by programmers for programmers.

S7 Joystick

Send joystick data to your
S7-300/-400 PLC

This tool reads position and buttons state from a common PC joystick connected to your PC and send the relevant data to a datablock in your PLC via MPI link..

With S7joystick you can use an inexpensive PC joystick to control a device, to ease your commissioning, to test machinery. Basic joysticks have two X-Y axis and four buttons, advanced joysticks may provide hat (or point-of-view) button, additional axis and more buttons.

Current version of S7joystick manages four analog axis (X,Y,Z,R), hat button and up to 8 joystick buttons.

A sign-of-life variable is also provided in order to implement a safe communication check on PLC side.

MPI/DP communication is based on Siemens Prodave S7, you must own Prodave S7 to run this software

Buy now!

How to order

We accept PayPal or wire transfer payments.

Contact us by email or use the “buy now” button.



Language supported: English only.

No downloads available

Sample interface data block

Joystick interface area is mapped to a data block, button state and axis value can be easily accessed.

SignOfLife             INT      value incremented by 1 at every data update

JoysticktButton1       BOOL     joystick buttons

JoysticktButton2       BOOL

JoysticktButton3       BOOL

JoysticktButton4       BOOL

JoysticktButton5       BOOL

JoysticktButton6       BOOL

JoysticktButton7       BOOL

JoysticktButton8       BOOL

JoysticktButton9       BOOL

JoysticktButton10      BOOL

JoysticktButton11      BOOL

JoysticktButton12      BOOL

JoysticktButton13      BOOL

JoysticktButton14      BOOL

JoysticktButton15      BOOL

JoysticktButton16      BOOL

HatButton_NORTH        BOOL     hat button position


HatButton_EAST         BOOL


HatButton_SOUTH        BOOL


HatButton_WEST         BOOL


reserved0              BOOL     reserved (unused) flags

reserved1              BOOL

reserved2              BOOL

reserved3              BOOL

reserved4              BOOL

reserved5              BOOL

reserved6              BOOL

reserved7              BOOL

PositionX              INT      range: -32767 ... +32767 (centered on zero)

PositionY              INT      range: -32767 ... +32767 (centered on zero)

PositionZ              INT      range: 0 ... +32767

PositionR              INT      range: 0 ... +32767

Euro 15.00

Euro 15.00 + 22% IVA/VAT tax = 18.30 Euro  

Price and tax (when applicable)

Shipping and billing

The program, registration code and invoice will be sent via e-mail upon payment.

We normally deliver within 24 hours from payment.