Please advise for hardware?

Hello community,

I’m Anton Angelov from Bulgaria and I have played with openems for last days. I have made some drivers for Huawei devices and planing to add more. Also I want if everything goes well with test projects to get part of the openems association.

I have lot of experience with monitoring systems provided from equipment manufacturers, also with connection with grid operators etc. All this from design through building to commissioning. We have worked with Gantner and Meteocontrol but we need our own custom solution.

Now we I have new challenge to find solution for new trend with batteries. We have lot of already built PV system with different manufacturers. And now we have to “retrofit” different Bess solutions to work in cooperation.

And as I see most of this is in the core of OpenEMS. So we want to lay on this and make new modules so the can work for our needs.

The problem is that we are new to Java, osgi etc. and we cannot get how to calculate what hardware we need. Because we want to lay on some controller that can be used in small and big sites, so we will make one integration to one hardware.

As we see most of the products in the industrial iot is based on arm cortex a53. And we have found one device with four core a53 , 2Gb ram and 16Gb emmc. But we can’t calculate how much can it handle. We have different situations like we have 31 Kaco inverters and we add some Chinese Bess. And in end we have around 50 devices with 50 register to read for monitoring and 2-3 to control. That makes 2500 address that the system must handle. Also some control function for export limitation with pid controll. Some prediction functions etc.

Please can somebody to give us some advice from practice what hardware we will need for 2500 to 5000 addresses and control functions?

1 Like

The problem of read 2500 address is not determined by hardware but by communication protocol. In such situation, it’s better to use IEC-60870-5-104(104) will be much better. This protocol can send data more effective. If you use MODBUS, a read cycle may be will cause half minute. But for 104, it will send SOE(Sequence of Event),COA(Common Address of ASDU),COS(Change of State) signal immediately without time delay.

@liu3p is right with the general limitations of Modbus “polling” vs event-based protocols.

OpenEMS Edge tries to handle this with Priorities for Modbus Tasks. LOW priority tasks are read with lower frequency compared to HIGH priority tasks - which is still sufficient in most cases, like for energy values or general states.

For OpenEMS deployments with many peripherial devices and registers (like we have with FENECON Industrial XL) I would recommend a Cortex-A72.

Devices should be connected via Modbus/TCP and not Modbus/RTU to allow parallel reads.

1 Like

Hello,

Thank you for your replies. Yes IEC 104 is better solution but not available in most hardware. Also we have to impement such bridge inside OpenEMS.

About hardware, we will now try to use octa-core 4xA72 + 4xA53 cpu with 8gb ram. And with this we hope that we can handel big and small installations. Also we have found that price difference is not so big and why not to use better hardware for some euros more.

Most devices will be Modbus/TCP but still we will have and RTU ones, and ones behind Modbus tcp/rtu gateways so we can make parallel reads.

So now we are working to optimize our drivers etc. and hope to make real test on site start of next year.

1 Like