Git Product home page Git Product logo

beremiz's Introduction

docs

Beremiz

Beremiz is an integrated development environment for machine automation. It is Free Software, conforming to IEC-61131 among other standards.

It relies on open standards to be independent of the targeted device, and let you turn any processor into a PLC. Beremiz includes tools to create HMI, and to connect your PLC programs to existing supervisions, databases, or fieldbuses.

With Beremiz, you conform to standards, avoid vendor lock, and contribute to the better future of Automation.

See official Beremiz website for more information.

Build on Linux

  • Prerequisites
#!sh

* # Ubuntu/Debian :
sudo apt-get install build-essential bison flex autoconf
sudo apt-get install python-wxgtk3.0 pyro mercurial
sudo apt-get install python-numpy python-nevow python-matplotlib python-lxml
  • Prepare
#!sh
mkdir ~/Beremiz
cd ~/Beremiz
  • Get Source Code
#!sh
cd ~/Beremiz

hg clone https://bitbucket.org/skvorl/beremiz
hg clone https://bitbucket.org/mjsousa/matiec
  • Build MatIEC compiler
#!sh
cd ~/Beremiz/matiec
autoreconf -i
./configure
make
  • Build CanFestival (optional) Only needed for CANopen support. Please read CanFestival manual to choose CAN interface other than 'virtual'.
#!sh
cd ~/Beremiz
hg clone http://dev.automforge.net/CanFestival-3

cd ~/Beremiz/CanFestival-3
./configure --can=virtual
make
  • Launch Beremiz IDE
#!sh
cd ~/Beremiz/beremiz
python Beremiz.py

Run standalone Beremiz service

  • Start standalone Beremiz service
#!sh
cd ~/Beremiz
mkdir beremiz_workdir

cd ~/beremiz
python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/Beremiz/beremiz_workdir
  • Launch Beremiz IDE
#!sh
cd ~/Beremiz/beremiz
python Beremiz.py
  • Open/Create PLC project in Beremiz IDE.

Enter target location URI in project's settings (project->Config->BeremizRoot/URI_location) pointed to your running Beremiz service (For example, PYRO://127.0.0.1:61194). Save project and connect to running Beremiz service.

Documentation

  • See Beremiz youtube channel to get quick information how to use Beremiz IDE.

  • Official user manual is built from sources in doc directory. Documentation does not cover all aspects of Beremiz use yet. Contribution are very welcome!

  • User manual from INEUM (Russian). Be aware that it contains some information about functions available only in INEUM's fork of Beremiz.

  • User manual from Smarteh (English). Be aware that it contains some information about functions available only in Smarteh's fork of Beremiz.

  • Outdated short user manual from LOLI Tech (English).

  • See official Beremiz website for more information.

Support and development

Main community support channel is mailing list ([email protected]).

The list is moderated and requires subscription for posting to it.

To subscribe to the mailing list go here.

Searchable archive using search engine of your choice is available here.

beremiz's People

Contributors

nucleron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beremiz's Issues

matiec installtion is not found in linux

I have installed beremiz. I followed all instruction they have provided. When I compile my program it gives an error
"matiec installation is not found
PLC code generation failed"

I have installed matiec and stop by step followed the instruction.

Multiple error messages and IDE doesn't open

Hello,

First, I had the following error message.

python Beremiz.py
Traceback (most recent call last):
  File "Beremiz.py", line 225, in <module>
    beremiz = BeremizIDELauncher()
  File "Beremiz.py", line 45, in __init__
    self.app_dir = paths.AbsDir(__file__)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/paths.py", line 39, in AbsDir
    file = AbsFile(file)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/paths.py", line 34, in AbsFile
    file = text(file, sys.getfilesystemencoding())
TypeError: decoding str is not supported

I bypassed the line which caused the error. Then, I faced the following error:

`Traceback (most recent call last):
  File "Beremiz.py", line 226, in <module>
    beremiz.Start()
  File "Beremiz.py", line 220, in Start
    self.InstallExceptionHandler()
  File "Beremiz.py", line 183, in InstallExceptionHandler
    import version
  File "/home/ezer/Documents/research/beremiz/beremiz/version.py", line 224, in <module>
    app_version = app_version + "-" + rev.rstrip()
TypeError: must be str, not bytes`

I then converted the rev.rstrip() to the string. Then, there are multiple error messages as follows:

Traceback (most recent call last):
  File "Beremiz.py", line 203, in AppStart
    self.BackgroundInitialization()
  File "Beremiz.py", line 136, in BackgroundInitialization
    self.ImportModules()
  File "Beremiz.py", line 179, in ImportModules
    mod = __import__(modname)
  File "/home/ezer/Documents/research/beremiz/beremiz/BeremizIDE.py", line 44, in <module>
    from editors.EditorPanel import EditorPanel
  File "/home/ezer/Documents/research/beremiz/beremiz/editors/EditorPanel.py", line 29, in <module>
    from controls import VariablePanel
  File "/home/ezer/Documents/research/beremiz/beremiz/controls/__init__.py", line 29, in <module>
    from controls.CustomEditableListBox import CustomEditableListBox
  File "/home/ezer/Documents/research/beremiz/beremiz/controls/CustomEditableListBox.py", line 31, in <module>
    class CustomEditableListBox(wx.gizmos.EditableListBox):
AttributeError: module 'wx.gizmos' has no attribute 'EditableListBox'
Traceback (most recent call last):
  File "Beremiz.py", line 203, in AppStart
    self.BackgroundInitialization()
  File "Beremiz.py", line 136, in BackgroundInitialization
    self.ImportModules()
  File "Beremiz.py", line 179, in ImportModules
    mod = __import__(modname)
  File "/home/ezer/Documents/research/beremiz/beremiz/BeremizIDE.py", line 44, in <module>
    from editors.EditorPanel import EditorPanel
  File "/home/ezer/Documents/research/beremiz/beremiz/editors/EditorPanel.py", line 29, in <module>
    from controls import VariablePanel
  File "/home/ezer/Documents/research/beremiz/beremiz/controls/__init__.py", line 29, in <module>
    from controls.CustomEditableListBox import CustomEditableListBox
  File "/home/ezer/Documents/research/beremiz/beremiz/controls/CustomEditableListBox.py", line 31, in <module>
    class CustomEditableListBox(wx.gizmos.EditableListBox):
AttributeError: module 'wx.gizmos' has no attribute 'EditableListBox'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ezer/.local/lib/python3.6/site-packages/wx/core.py", line 3285, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
  File "Beremiz.py", line 211, in AppStart
    self.handle_exception(*sys.exc_info(), exit=True)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/ExceptionHandler.py", line 140, in handle_exception
    save_bug_report(e_type, e_value, e_traceback, bug_report_path, date)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/ExceptionHandler.py", line 115, in save_bug_report
    info['locals'] = format_namespace(exception_locals)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/ExceptionHandler.py", line 90, in format_namespace
    return '\n'.join(['%s%s: %s' % (indent, k, repr(v)[:10000]) for k, v in d.iteritems()])
AttributeError: 'dict' object has no attribute 'iteritems'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/home/ezer/Documents/research/beremiz/beremiz/util/ExceptionHandler.py", line 140, in handle_exception
    save_bug_report(e_type, e_value, e_traceback, bug_report_path, date)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/ExceptionHandler.py", line 115, in save_bug_report
    info['locals'] = format_namespace(exception_locals)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/ExceptionHandler.py", line 90, in format_namespace
    return '\n'.join(['%s%s: %s' % (indent, k, repr(v)[:10000]) for k, v in d.iteritems()])
AttributeError: 'dict' object has no attribute 'iteritems'

Original exception was:
Traceback (most recent call last):
  File "Beremiz.py", line 203, in AppStart
    self.BackgroundInitialization()
  File "Beremiz.py", line 136, in BackgroundInitialization
    self.ImportModules()
  File "Beremiz.py", line 179, in ImportModules
    mod = __import__(modname)
  File "/home/ezer/Documents/research/beremiz/beremiz/BeremizIDE.py", line 44, in <module>
    from editors.EditorPanel import EditorPanel
  File "/home/ezer/Documents/research/beremiz/beremiz/editors/EditorPanel.py", line 29, in <module>
    from controls import VariablePanel
  File "/home/ezer/Documents/research/beremiz/beremiz/controls/__init__.py", line 29, in <module>
    from controls.CustomEditableListBox import CustomEditableListBox
  File "/home/ezer/Documents/research/beremiz/beremiz/controls/CustomEditableListBox.py", line 31, in <module>
    class CustomEditableListBox(wx.gizmos.EditableListBox):
AttributeError: module 'wx.gizmos' has no attribute 'EditableListBox'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ezer/.local/lib/python3.6/site-packages/wx/core.py", line 3285, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
  File "Beremiz.py", line 211, in AppStart
    self.handle_exception(*sys.exc_info(), exit=True)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/ExceptionHandler.py", line 140, in handle_exception
    save_bug_report(e_type, e_value, e_traceback, bug_report_path, date)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/ExceptionHandler.py", line 115, in save_bug_report
    info['locals'] = format_namespace(exception_locals)
  File "/home/ezer/Documents/research/beremiz/beremiz/util/ExceptionHandler.py", line 90, in format_namespace
    return '\n'.join(['%s%s: %s' % (indent, k, repr(v)[:10000]) for k, v in d.iteritems()])
AttributeError: 'dict' object has no attribute 'iteritems'

Am I missing something?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.