Författare:
Per Stenebo
Skapad:
2019-08-12 19:20:04
Ändrad:
2019-08-18 11:24:03
en

OpenPLC

Notes of my OpenPLC experience.

Links: | website | github |

So far I have only tested local debug programs and programs using Modbus-TCP IO in the editor.

I finished tests a few days later (for this time). There seems to be a few bugs in both the editor and the runtime that makes it a bit hard to test properly. Hopefully I will be able to return to this promising project at a later time.

Runtime

I have installed the OpenPLC Runtime on a Raspberry Pi running Raspbian Stretch (9). The only issue I had was having at least ~400 MB of available space on the SD card. I hadn't expanded the partitions to use all of the SD card on my first attempt. The installation process took about 30 minutes.

Tab Slave devices

IO addressing of booleans seems to use 8 decimals per block starting from zero. The first 8 digital inputs use the range %IX100.0 - %IX100.7 and the next 8 inputs use %IX101.0 - %IX101.7. Digital outputs works in similar way but are addressed in ranges like %QX100.0 - %QX100.7. 

Input and holding registers use the register number, starting from zero. If you define 41 holding registers starting from zero, they get read address %IW100-%IW140 and write address %QW100-%QW140 and can hold values between 0 and 65535.

 

Editor

I have installed the Editor on a desktop running Ubuntu 18.04 (LTS) with no issues.

Task interval time (program cycle time) is set in Project window, click Res0, Tasks -> Interval. A sensible value would be something like 100 ms (T#100ms).

Program window, top section for variables

The layout reminds me of a Codesys environment in a Wago PLC I have worked on. But here you get somewhat "smart" help with suggested values when adding a row based on the current row.

I recommend going thru the starter project from the website, even if you are a seasoned PLC programmer, just to get some of the odd bits and pieces of this software.

Header Class

The value Local seems to be a good choice, both for debug tests and real modbus variables.

Header Location

This is the IO address as defined on the tab Slave devices in the Runtime web page.

Kommentarer till sidan OpenPLC