Joshua1909 / PLC-SkillTester

Hack a PLC!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

plcskilltester

This is the working project for the PLC Skill Tester.

As seen at CrikeyCon 2017.

The PLC Skill Tester at CrikeyCon

Background:

The idea was to create an interactive box/booth where people take turns in hacking some basic logic flaws in a PLC. The size and layout of the original box is similar to a “marble machine” you might see on YouTube, and the machine moves a ball around in a continuous cycle. The box is driven by a single Velocio ACE PLC with 6 outputs, which run 3 stepper drivers/motors. The Velocio is programmed to have the “state” register remotely writable via Modbus, so by messing with the “state” register, people can get the motors to move at times that will cause the ball to “escape” the system. There are 3 tracks where the ball can “escape”, and it falls down the green/yellow tracks and ejects a chocolate coin.

Prerequisites:

python - required for pymobus and interaction with PLC

pymodbus - for reading/writing PLC registers over Modbus

Velocio ACE PLC - hardware for running system

vBuilder and vFactory for programming the PLC and HMI respectively.

Credits:

Roadmap:

  • There are a number of improvements and future features to introduce. I'll put pen to paper at some point.

About

Hack a PLC!

License:MIT License


Languages

Language:Python 100.0%