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..
MPI/DP communication is based on Siemens Prodave S7, you must own Prodave S7 to run this software
![]() |
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.
Sample Datablock
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_NORTH_EAST BOOL
HatButton_EAST BOOL
HatButton_SOUTH_EAST BOOL
HatButton_SOUTH BOOL
HatButton_SOUTH_WEST BOOL
HatButton_WEST BOOL
HatButton_NORTH_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

