README.md
changeset 2253 b0418bb13527
parent 2012 6e3f757280dc
child 2276 ba0fc3e73ce2
equal deleted inserted replaced
2252:de3f7c183e62 2253:b0418bb13527
     6 
     6 
     7 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.
     7 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.
     8 
     8 
     9 With Beremiz, you conform to standards, avoid vendor lock, and contribute to the better future of Automation. 
     9 With Beremiz, you conform to standards, avoid vendor lock, and contribute to the better future of Automation. 
    10 
    10 
       
    11 Beremiz consists of two components:
       
    12 
       
    13 * Integrated Development Environment (IDE), [Beremiz.py](https://bitbucket.org/automforge/beremiz/src/tip/Beremiz.py?at=default). It's running on user's computer and is used to write/compile/debug PLC programs and control PLC runtime.
       
    14 * Reference runtime implementation in python, [Beremiz_service.py](https://bitbucket.org/automforge/beremiz/src/tip/Beremiz_service.py?at=default). It's running on target platform, communicates with I/O and executes PLC program.
       
    15 
    11 See official [Beremiz website](http://www.beremiz.org/) for more information.
    16 See official [Beremiz website](http://www.beremiz.org/) for more information.
    12 
    17 
    13 ### Build on Linux ###
    18 ## Build on Linux ##
    14 
    19 
    15 * Prerequisites
    20 * Prerequisites
    16 ```
       
    17 #!sh
       
    18 
    21 
    19 * # Ubuntu/Debian :
    22 		# Ubuntu/Debian :
    20 sudo apt-get install build-essential bison flex autoconf
    23 		sudo apt-get install build-essential bison flex autoconf
    21 sudo apt-get install python-wxgtk3.0 pyro mercurial
    24 		sudo apt-get install python-wxgtk3.0 pyro mercurial
    22 sudo apt-get install python-nevow python-matplotlib python-lxml python-zeroconf python-cycler
    25 		sudo apt-get install python-nevow python-matplotlib python-lxml python-zeroconf python-cycler
    23 ```
    26 
    24 * Prepare
    27 * Prepare
    25 ```
    28 
    26 #!sh
    29 		mkdir ~/Beremiz
    27 mkdir ~/Beremiz
    30 		cd ~/Beremiz
    28 cd ~/Beremiz
       
    29 ```
       
    30 
    31 
    31 * Get Source Code
    32 * Get Source Code
    32 ```
       
    33 #!sh
       
    34 cd ~/Beremiz
       
    35 
    33 
    36 hg clone https://bitbucket.org/skvorl/beremiz
    34 		cd ~/Beremiz
    37 hg clone https://bitbucket.org/mjsousa/matiec
    35 		hg clone https://bitbucket.org/skvorl/beremiz
    38 ```
    36 		hg clone https://bitbucket.org/mjsousa/matiec
    39 
    37 
    40 * Build MatIEC compiler
    38 * Build MatIEC compiler
    41 ```
       
    42 #!sh
       
    43 cd ~/Beremiz/matiec
       
    44 autoreconf -i
       
    45 ./configure
       
    46 make
       
    47 ```
       
    48 
    39 
    49 * Build CanFestival (optional)
    40 		cd ~/Beremiz/matiec
    50 Only needed for CANopen support. Please read CanFestival manual to choose CAN interface other than 'virtual'.
    41 		autoreconf -i
       
    42 		./configure
       
    43 		make
    51 
    44 
    52 ```
    45 * Build CanFestival (optional)  
    53 #!sh
    46   Only needed for CANopen support. Please read CanFestival manual to choose CAN interface other than 'virtual'.
    54 cd ~/Beremiz
       
    55 hg clone http://dev.automforge.net/CanFestival-3
       
    56 
    47 
    57 cd ~/Beremiz/CanFestival-3
    48         cd ~/Beremiz
    58 ./configure --can=virtual
    49         hg clone http://dev.automforge.net/CanFestival-3
    59 make
    50         cd ~/Beremiz/CanFestival-3
    60 ```
    51         ./configure --can=virtual
       
    52         make
       
    53 
       
    54 * Build Modbus library (optional)
       
    55   Only needed for Modbus support.
       
    56 
       
    57 		cd ~/Beremiz
       
    58 		hg clone https://bitbucket.org/mjsousa/modbus Modbus
       
    59 		cd ~/Beremiz/Modbus
       
    60 		make
    61 
    61 
    62 * Launch Beremiz IDE
    62 * Launch Beremiz IDE
    63 
    63 
    64 ```
    64 		cd ~/Beremiz/beremiz
    65 #!sh
    65 		python Beremiz.py
    66 cd ~/Beremiz/beremiz
       
    67 python Beremiz.py
       
    68 ```
       
    69 
    66 
    70 ### Run standalone Beremiz service ###
    67 ## Run standalone Beremiz runtime ##
       
    68 
       
    69 Runtime implementation can be different on different platforms.
       
    70 For example, PLC used Cortex-M most likely would have C-based runtime. Beremiz project contains reference implementation in python, that can be easily run on GNU/Linux, Windows and Mac OS X.
       
    71 This section will describe how to run it.
       
    72 
       
    73 If project's URL is 'LOCAL://', then IDE launches temprorary instance of Beremiz python runtime (Beremiz_service.py) localy as user tries to connect to PLC. This allows to debug programs localy without PLC.
       
    74 
       
    75 If you want to run Beremiz_service.py as standalone service, then follow these instructions:
    71 
    76 
    72 * Start standalone Beremiz service
    77 * Start standalone Beremiz service
    73 ```
       
    74 #!sh
       
    75 cd ~/Beremiz
       
    76 mkdir beremiz_workdir
       
    77 
    78 
    78 cd ~/beremiz
    79 		cd ~/Beremiz
    79 python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/Beremiz/beremiz_workdir
    80 		mkdir beremiz_workdir
    80 ```
    81 		cd ~/beremiz
       
    82 		python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/Beremiz/beremiz_workdir
    81 
    83 
    82 * Launch Beremiz IDE
    84 * Launch Beremiz IDE
    83 ```
       
    84 #!sh
       
    85 cd ~/Beremiz/beremiz
       
    86 python Beremiz.py
       
    87 ```
       
    88 * Open/Create PLC project in Beremiz IDE.
       
    89 * 
       
    90 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).
       
    91 Save project and connect to running Beremiz service.
       
    92 
    85 
    93 ### Documentation ###
    86 		cd ~/Beremiz/beremiz
       
    87 		python Beremiz.py
       
    88 
       
    89 * Open/Create PLC project in Beremiz IDE.  
       
    90   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).
       
    91   Save project and connect to running Beremiz service.
       
    92 
       
    93 ## Examples ##
       
    94 
       
    95 Almost for all functionality exists example in ['tests'](https://bitbucket.org/automforge/beremiz/src/tip/tests/?at=default) directory.
       
    96 Most of examples are shown on [Beremiz youtube channel](https://www.youtube.com/channel/UCcE4KYI0p1f6CmSwtzyg-ZA).
       
    97 
       
    98 ## Documentation ##
    94 
    99 
    95  * See [Beremiz youtube channel](https://www.youtube.com/channel/UCcE4KYI0p1f6CmSwtzyg-ZA) to get quick information how to use Beremiz IDE.
   100  * See [Beremiz youtube channel](https://www.youtube.com/channel/UCcE4KYI0p1f6CmSwtzyg-ZA) to get quick information how to use Beremiz IDE.
    96  
   101  
    97  * [Official user manual](http://beremiz.readthedocs.io/) is built from sources in doc directory.
   102  * [Official user manual](http://beremiz.readthedocs.io/) is built from sources in doc directory.
    98    Documentation does not cover all aspects of Beremiz use yet.
   103    Documentation does not cover all aspects of Beremiz use yet.
   106 
   111 
   107  * Outdated short [user manual](https://www.scribd.com/document/76101511/Manual-Beremiz#scribd) from LOLI Tech (English).
   112  * Outdated short [user manual](https://www.scribd.com/document/76101511/Manual-Beremiz#scribd) from LOLI Tech (English).
   108 
   113 
   109  * See official [Beremiz website](http://www.beremiz.org/) for more information.
   114  * See official [Beremiz website](http://www.beremiz.org/) for more information.
   110 
   115 
   111 ### Support and development ###
   116 ## Support and development ##
   112 
   117 
   113 Main community support channel is [mailing list](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/) (beremiz-devel@lists.sourceforge.net).
   118 Main community support channel is [mailing list](https://sourceforge.net/p/beremiz/mailman/beremiz-devel/) (beremiz-devel@lists.sourceforge.net).
   114 
   119 
   115 The list is moderated and requires subscription for posting to it.
   120 The list is moderated and requires subscription for posting to it.
   116 
   121