thiagoralves
Hi all,

I've updated the PLCOpen Editor code to reflect the most recent changes from the official repository (  https://bitbucket.org/automforge/beremiz )

The changes and fixes from this release are:
  • Fix wrong code generation if EN/ENO are used in FBD/LD/SFC (details here)
  • Fix wrong ST code generation in case of several coils connected to each other (details here)
  • Fix non-usable toolbar on wxPython with GTK3+
  • Fix problem with decreasing size of StatusToolBar when tools are removed from toolbar.
  • Added full screen mode (menu and title are hidden). Press Shift-F12 to activate
  • Automatically increment IEC-location address if copy of the variable is created
  • Fixed size of Project Dialog used by PLCOpenEditor

You can download this new version here: http://www.openplcproject.com/plcopen-editor

If you find any issues with this new version, please report here or create an issue on the official repository.


Thanks!

Thiago Alves


PS: OpenPLC Windows installer (the bundle that comes with OpenPLC Runtime and PLCOpen Editor) was also updated with this new version of the PLCOpen Editor
Quote 0 0
omkar kachare
Is updated PLCOpenEditor software compatible with hardware?
Hardware link:  http://www.openplcproject.com/concept-hardware
Quote 0 0
thiagoralves
That hardware is very old and is not compatible with any version of PLCOpen Editor. The only editor that works with that hardware is this one based on ldmicro:  https://drive.google.com/file/d/0BwyThwktWLAlQjRkMXVrVVRsLUk/edit?usp=sharing
Quote 0 0
omkar kachare
thank you for fast reply. Is their any hardware available for updated PLCOpen editor ? And if not then what changes required in older hardware for campatible with PLCOpen editor rather than ldmicro.
Quote 0 0
thiagoralves
thank you for fast reply. Is their any hardware available for updated PLCOpen editor ? And if not then what changes required in older hardware for campatible with PLCOpen editor rather than ldmicro.

OpenPLC website lists a bunch of devices that can run with PLCOpen Editor:  http://www.openplcproject.com/runtime

Also we are developing our own hardware that is intended to be an updated version of the concept hardware you saw. It will be compatible with PLCOpen Editor and the most recent version of OpenPLC runtime. The discussion for this hardware is being held here:  https://openplc.discussion.community/post/openplcneo-9292586?pid=1305186628
Quote 0 0
thiagoralves

The OpenPLC runtime and PLCOpen Editor are two distinct things. The runtime is the piece of software responsible for running the PLC programs created in the editor. Usually the runtime is installed on a Raspbery Pi to control its GPIO pins. The runtime can also be run on Windows, but it cannot control any GPIO pin in there given that a Windows PC has no GPIO, of course.

That being said, it seems that the problems you're facing are all related to the editor, and not the runtime. The only "error" you see on the runtime is actually not an error. It is complaining about not finding mbconfig.cfg file. This file won't be present until you add a slave modbus device. This is not a problem and is expected for every blank installation. If you add a slave device (like an arduino board, or an esp8266) the setup will create a mbconfig.cfg file about the boards you added and then this message will disappear.

Now, about the editor, you don't have to install the editor on your Raspberry Pi. The ideal place to install the editor is on your desktop computer. Running it directly from the Pi is possible, but the performance is not great. Still, if you want to run the editor on your Pi, please make sure that all the required packages were installed. The website states that you need to apt-get python-wxgtk3.0, pyro, python-numpy, python-nevow, python-matplotlib, python-lxml, and python-zeroconf. Your first picture shows that apt-get failed to install python-matplotlib due to some corrupted download or installation on apt-get, which means that probably other packages might not have been installed either. That's what shows your second picture, saying that zeroconf module is missing.

About the error you get on windows, could you please describe the exact steps you take to reproduce the problem? I believe it could be related to language settings on your system (portuguese). The editor is going through some translation efforts to bring the interface available in many languages. This however, have generated some bugs on the interface at different languages.

Quote 0 0
RAlbert
Hi Thiago, thanks for your fast answer, 

I tried to edit my previous post because it was written in an unorganized way, and tried to send a better version of it, but the system won't allow to resend the newer message.

After I send this message, probably ther will be some sort of reset and I'll try to post my better version of the post.

As said, thank you!
Quote 0 0
RAlbert

Hello Everyone, and congrats to Thiago R. Alves for the effort put in developing this outstanding piece of software!


The software has reached a level of maturity which I think makes every professional or newbie interested in it. The Web Interface looks very nice, and working with it is quite intuitive, after you get the hang of it following the clear instructions given.


So I decided to give it a try, and here is the result of my attempt.


This post concerns feedback relating the new version of the OpenPLC Editor, which I installed on Win10 – I tried both versions x86 and x64 of the OpenPLC Installer. I followed all the recommendations of the developer in the respective instructional pages so as to get the best results. Although I tested those versions, I couldn’t manage to execute the Hello World program because the editor wasn’t able to compile the source code to a working version. Perhaps I missed to set the parameters accordingly, which caused failure to obtain the proper .st file to upload to the runtime. Maybe some important detail is missing. So, the * Editor * wasn’t capable of generating the file for the runtime to execute, probably due to config errors. Interestingly, although you execute the “Generate Program” command it states the .st file was created successfully, and there the file is, but the runtime complains every time one attempts to run it of configurations missing .


Apparently, the Runtime Environment is executing well. The problem seems to be that something went wrong with my installs causing the * Editor * to work in a faulty way. I repeated several times the install procedure, trying to check whether there was an error in the download (corrupted files or something) but the error logs repeated in a consistent manner. I retrieved the error logs, and am sending the files attached to this post. From pic1 one can infer that there seems to be a parameter set in an incorrect manner somewhere to generate the file which requires the * debug variable panel * to be present in order for the Runtime to execute accordingly. The Editor generated messages on pic1. When clicked, the boolean variables that appear in the Instance while the Editor is executing print these messages out.


Also, another indication there might be some config mistake with the generation of the .st files is the log generated by the runtime when it starts executing. There is a consistent warning that appears indicating that there was an * Error opening mbconfig.cfg file *. (Please see txt1 file)


There are two bug reports which might be valuable to trace problems with my Win10 x64 and x86 installs. Those are txt2 and txt3, respectively.


If someone could help identify the reasons why there are problems editing and generating these .st files I would be very thankful.


Cheers and happy programming


R. Albert

Quote 0 0
thiagoralves
RAlbert wrote:

So, the * Editor * wasn’t capable of generating the file for the runtime to execute, probably due to config errors. Interestingly, although you execute the “Generate Program” command it states the .st file was created successfully, and there the file is, but the runtime complains every time one attempts to run it of configurations missing .

As explained on my last message, the only "error" you see on the runtime is actually not an error. It is complaining about not finding mbconfig.cfg file. This file won't be present until you add a slave modbus device. This is not a problem and is expected for every blank installation. If you add a slave device (like an arduino board, or an esp8266) the setup will create a mbconfig.cfg file about the boards you added and then this message will disappear. However, this is not a required step if you don't want to work with slave devices. You can just ignore this message and continue.

If the editor can generate the .st file successfully, then the next step is to upload the .st file to the runtime. If during the upload process there isn't any error, then everything went fine and the runtime should just work.

RAlbert wrote:

From pic1 one can infer that there seems to be a parameter set in an incorrect manner somewhere to generate the file which requires the * debug variable panel * to be present in order for the Runtime to execute accordingly. The Editor generated messages on pic1. When clicked, the boolean variables that appear in the Instance while the Editor is executing print these messages out.


The runtime does not require anything from the debug variable panel. In fact, this panel is not functional on plain PLCOpen Editor and should not be used. You don't need the debug panel to generate your program or to do anything with OpenPLC. This panel was created for the Beremiz project and only works there. I'll try to remove it on the next versions of the plain PLCOpen Editor to avoid confusion.
Quote 0 0
RAlbert
Excelent and clear explanations. I now understand the concept you developed for running your software. You don't rely on a simulator or similar tools for the execution of the runtime engine. When in operation as a Soft PLC, you established the need of slave devices to operate I/Os for your PLC to interact with its environment. 

I now need to explore the functionalities further to feel how it is to work with this novel concept of operation. And check its interaction with ScadaBR as an HMI. 

It's been awesome to get to know OpenPLC, thanks!
Quote 0 0
RAlbert
"Your first picture shows that apt-get failed to install python-matplotlib due to some corrupted download or installation on apt-get, which means that probably other packages might not have been installed either. That's what shows your second picture, saying that zeroconf module is missing."

Concerning my install of OpenPLC on Raspberry Pi, I'll try to uninstall and reinstall those missing libraries, if possible. I see Raspberry Pi as a possible hardware development platform, but first the board has to prove it is worth the try. In case I make any progress in that direction I´ll post comments in the forum. 
Quote 0 0
RAlbert
Thank you for the timely answer to my question. Regards!
Quote 0 0
thiagoralves
RAlbert wrote:

Concerning my install of OpenPLC on Raspberry Pi, I'll try to uninstall and reinstall those missing libraries, if possible. I see Raspberry Pi as a possible hardware development platform, but first the board has to prove it is worth the try. In case I make any progress in that direction I´ll post comments in the forum. 

The best way to go with the Raspberry Pi is to get a blank SD card and start with a new image of Raspbian. Then after Raspbian is installed you follow the instructions to install OpenPLC runtime. In any case, the packages that you showed on the picture are required for the editor. You don’t need them for the runtime
Quote 0 0
GusBus
Hi Thiago,

I am having issues implementing a SFC using PLCOpenEditor. I can create a basic SFC that toggles variables however I cannot seem to create an action and any attempt to link it to an existing function block has been unsuccessful, am I doing something or has this not been implemented yet in the editor? I see that their guide on SFC Do's and Don't was only released in July this year.

Kind Regards,
Angus
Quote 0 0
thiagoralves
Do you have an example program you're working on? The best example of an SFC program I've seen so far is this one from the Beremiz project. This project was created to demonstrate Beremiz HMI capabilities. I removed the HMI stuff and left only the SFC part, which is well documented. It might help clear out some of your questions.
Quote 1 0