Skip to content

hrtxzzh/OpenPLC_v2

This branch is up to date with thiagoralves/OpenPLC_v2:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b7baafe · Jun 22, 2018
Feb 14, 2018
May 29, 2018
Feb 7, 2018
May 13, 2016
Jun 16, 2016
May 31, 2016
May 13, 2016
May 13, 2016
Mar 10, 2018
Oct 11, 2017
May 13, 2016
Jun 22, 2018
May 29, 2018
Feb 7, 2018
Mar 16, 2017
May 13, 2016
Sep 14, 2017
Sep 14, 2017

Repository files navigation

OpenPLC v2

This program is intended to emulate a PLC on a Linux machine. This virtual PLC uses the OpenPLC Software Stack to execute IEC 61131-3 programs and reply to MODBUS/TCP requests. Programs can be created using the PLCopen editor and then uploaded to this virtual PLC.

The OpenPLC has different hardware layers to support physical devices. More hardware layers can be added to the project. For instance, there is a hardware layer for the RaspberryPi, which makes the OpenPLC controls its IO pins.

There is a NodeJS application that works as a http server for the user to upload new programs.

You must have NodeJS and WiringPi (in case you are using Raspberry Pi) installed to use this program. Usage:

  1. Install required packages:
    sudo apt-get update
    sudo apt-get install build-essential pkg-config bison flex autoconf automake libtool make nodejs git

  2. ./build.sh

  3. sudo nodejs server.js

A server will be created on port 8080. Just open your browser and navigate to localhost:8080. After the application is running, you can connect to the virtual PLC using any MODBUS/TCP HMI software.

About

OpenPLC with the new IEC ST to C compiler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 79.7%
  • Shell 3.2%
  • Yacc 3.2%
  • C 2.9%
  • Java 2.8%
  • C# 2.6%
  • Other 5.6%