@Jan-Reitinger Hi Ja, thank you very much, I'll give it a try one of these days. When I have some results I'll post the outcome here.
Posts made by Scoobsalamander
-
RE: REXYGEN 3.0.0 is available
-
RE: REXYGEN 3.0.0 is available
Hi Tomáš, these are just some 'Chinese' IO modules which do work just fine with Codesys running on a Raspberry Pi 4. However it would be nice that I would be able to use them with Rexygen as I feel more comfortable programming in Rexygen Studio and I like the way an HMI can be created inside Inkscape.
If you could provide me a basic example then I can give it a try.Attached are two xml files.
EV3200D = 32 digital Inputs
EtherCATBusIO = 16 DI / 16 DO / 2AO / 2AI / 2 PWMout / 1 encoder input / 2 counter input / 1 Modbus RTU -
RE: REXYGEN 3.0.0 is available
In the release notes "REXYGEN 3.0.0-beta" there is mentioned that EtherCAT Communication Driver's
Jitter and latency are reduced with the added support for XPD on Linux.Does this mean we can use EtherCAT now? I am asking because I have a huge interest in using my RasPi with Rexygen in combination with two IO-EtherCAT modules.
-
RE: Initialization of string in REXLANG
@reitinge I did try this before but then I can't even compile due to an error.
But apparently it was because I did the initialization of this string inside the main routine.
Bizarre that it is throwing a warning for the string 'stringTemp' and not for the long variable 'index'.
Both are only used inside the main routine.This is the complete code which is now running without a warning :
//assigning inputs to variables, these variables are READ-ONLY double input(0) inputGLAS; double input(1) inputGFT; double input(2) inputPMD; double input(3) inputRA; double input(4) inputTEXT; double input(5) inputP_K; //assigning variables to outputs, these variables are WRITE-ONLY string output(0) stringOUT; //value to send to y0 output char stringTemp[80]; //the init procedure is executed once when the REXLANG function block initializes long init(void) { return 0; } //the main procedure is executed repeatedly (once in each sampling period) long main(void) { long index = 0; //char stringTemp[80]; stringTemp=""; strcat(stringTemp,"Vergeet+niet+volgend+vuilnis+buiten+te+zetten+:+"); if (inputGLAS!=0) { strcat(stringTemp,"Glas"); index=index+1; } if (inputGFT!=0) { if (index!=0) { strcat(stringTemp,",+"); } strcat(stringTemp,"GFT"); index=index+1; } if (inputPMD!=0) { if (index!=0) { strcat(stringTemp,",+"); } strcat(stringTemp,"PMD"); index=index+1; } if (inputRA!=0) { if (index!=0) { strcat(stringTemp,",+"); } strcat(stringTemp,"Restafval"); index=index+1; } if (inputTEXT!=0) { if (index!=0) { strcat(stringTemp,",+"); } strcat(stringTemp,"Textiel"); index=index+1; } if (inputP_K!=0) { if (index!=0) { strcat(stringTemp,",+"); } strcat(stringTemp,"Papier+en+Karton"); } stringOUT=stringTemp; return 0; } //the exit procedure is executed once when the task is correctly terminated // (system shutdown, downloading new control algorithm, etc.) long exit(void) { /* PUT YOUR CODE HERE */ return 0; }
-
Initialization of string in REXLANG
I got this warning in the Compiler Window but everything is working fine :
"Warning compiling file 'WasteSrcfile.c' (line 30): variable 'stringTemp' is used without initialization"
The initialization was one like this :
char stringTemp[80];
Something like this, to initialize an empty string will not work :
char stringTemp[80] = "";
-
RE: SHIFTOCT - persistent parameters
@cechurat No problem, workarounds are possible and and it's good to have some extra challenges.
But if the checkbox for 'persistent parameters' is there then I assume it is an existing feature.
-
SHIFTOCT - persistent parameters
I am using the SHIFTOCT function block to store every 24hr the counter of my energy meter to get some history of the last 7 days.
But even with the persistent parameters box checked I lose all data after rebooting and/or downloading a new configuration. -
RE: AVG - Moving average - number of samples?
@cechurat ... this would mean that if I add a task in the future the timing might not be correct anymore.
Would it not be better that this can be configured with timing (e.g. seconds, minutes, days,.....) instead of a certain amount of samples? -
RE: AVG - Moving average - number of samples?
@cechurat
So, thus this mean that with the below settings I need 1800 samples for a 15min running average, correct? (50msx10 --> every 0,5s a sample) -
RE: Json string parsing problem
@cechurat
No problem, Node-Red is always good for a (temporary) work around. -
AVG - Moving average - number of samples?
I want to know the 15min running average of a signal which is updated every second.
Do I enter '900' for the parameter 'n' in the AVG FB or is this related to the tick parameter set in FB EXEC? -
Json string parsing problem
I have problems with parsing a string with the FB PJSOCT , somehow it is not detecting the values like "0-0:96.1.4" :
{ "0-0:96.1.4": { "medium": 0, "channel": 0, "measurement": 96, "measureType": 1, "tariffRate": 4, "rawValue": "50215", "values": [ { "value": 50215, "unit": "" } ] }, "0-0:96.1.1": { "medium": 0, "channel": 0, "measurement": 96, "measureType": 1, "tariffRate": 1, "rawValue": "3153414731313030313530393931", "values": [ { "value": "3153414731313030313530393931", "unit": "" } ] }, "0-0:1.0.0": { "medium": 0, "channel": 0, "measurement": 1, "measureType": 0, "tariffRate": 0, "rawValue": "210217192713W", "values": [ { "value": "210217192713W", "unit": "" } ] }, "1-0:1.8.1": { "medium": 1, "channel": 0, "measurement": 1, "measureType": 8, "tariffRate": 1, "rawValue": "000987.072*kWh", "values": [ { "value": 987.072, "unit": "kWh" } ] }, "1-0:1.8.2": { "medium": 1, "channel": 0, "measurement": 1, "measureType": 8, "tariffRate": 2, "rawValue": "001143.964*kWh", "values": [ { "value": 1143.964, "unit": "kWh" } ] }, "1-0:2.8.1": { "medium": 1, "channel": 0, "measurement": 2, "measureType": 8, "tariffRate": 1, "rawValue": "000335.376*kWh", "values": [ { "value": 335.376, "unit": "kWh" } ] }, "1-0:2.8.2": { "medium": 1, "channel": 0, "measurement": 2, "measureType": 8, "tariffRate": 2, "rawValue": "000139.145*kWh", "values": [ { "value": 139.145, "unit": "kWh" } ] }, "0-0:96.14.0": { "medium": 0, "channel": 0, "measurement": 96, "measureType": 14, "tariffRate": 0, "rawValue": "0001", "values": [ { "value": "0001", "unit": "" } ] }, "1-0:1.7.0": { "medium": 1, "channel": 0, "measurement": 1, "measureType": 7, "tariffRate": 0, "rawValue": "00.665*kW", "values": [ { "value": 0.665, "unit": "kW" } ] }, "1-0:2.7.0": { "medium": 1, "channel": 0, "measurement": 2, "measureType": 7, "tariffRate": 0, "rawValue": "00.000*kW", "values": [ { "value": 0, "unit": "kW" } ] }, "1-0:21.7.0": { "medium": 1, "channel": 0, "measurement": 21, "measureType": 7, "tariffRate": 0, "rawValue": "00.665*kW", "values": [ { "value": 0.665, "unit": "kW" } ] }, "1-0:22.7.0": { "medium": 1, "channel": 0, "measurement": 22, "measureType": 7, "tariffRate": 0, "rawValue": "00.000*kW", "values": [ { "value": 0, "unit": "kW" } ] }, "1-0:32.7.0": { "medium": 1, "channel": 0, "measurement": 32, "measureType": 7, "tariffRate": 0, "rawValue": "231.6*V", "values": [ { "value": 231.6, "unit": "V" } ] }, "1-0:31.7.0": { "medium": 1, "channel": 0, "measurement": 31, "measureType": 7, "tariffRate": 0, "rawValue": "003.50*A", "values": [ { "value": 3.5, "unit": "A" } ] }, "0-0:96.3.10": { "medium": 0, "channel": 0, "measurement": 96, "measureType": 3, "tariffRate": 10, "rawValue": "1", "values": [ { "value": 1, "unit": "" } ] }, "0-0:17.0.0": { "medium": 0, "channel": 0, "measurement": 17, "measureType": 0, "tariffRate": 0, "rawValue": "999.9*kW", "values": [ { "value": 999.9, "unit": "kW" } ] }, "1-0:31.4.0": { "medium": 1, "channel": 0, "measurement": 31, "measureType": 4, "tariffRate": 0, "rawValue": "999*A", "values": [ { "value": 999, "unit": "A" } ] }, "0-0:96.13.0": { "medium": 0, "channel": 0, "measurement": 96, "measureType": 13, "tariffRate": 0, "rawValue": "", "values": [ { "value": "", "unit": "" } ] } }
-
RE: Licence problem : 'Required platform doesn't exist'.
@rpisl said in Licence problem : 'Required platform doesn't exist'.:
Hi,
you installed 64bit version of Linux and the licensing mechanism can't handle your RPi model correctly yet. It would be very helpful for us if you could send us output from commands "uname -a" and "cat /proc/cpuinfo". Thank you. -
RE: picture as background
@ondrej_severa Thanks, solution 1 is working fine. With solution 2 I have problems with the permission to write to this location.
-
picture as background
Where do I store a picture which is used as background?
If I use an url on the internet of on my local webserver on my NAS-drive it is working fine but I would like to download the picture to the raspberry pi which is running Rexcore. Where and how do I store this image?
This is what I use in my custom css file...
body { background-image: url("background.jpg"); }
-
RE: Licence problem : 'Required platform doesn't exist'.
@cechurat
This morning I reinstalled a new Rexcore but this time without using Berryboot.
And now I got my original site ID again and thus I was able to get everything up and running again.
The previous installation was done with Berryboot to be able to use iSCSI and I planned to keep using it because it makes it easy to swap to a different OS or making backups.FYI : this is the site ID from the failing installation :
-
Licence problem : 'Required platform doesn't exist'.
I moved my installation back from an iSCSI on my NAS drive to a normal SD card in my Raspberry Pi.
Then I tried to reactivate my licenses but without success. Even requesting a DEMO license wasn't working.
I always got the message 'Required platform doesn't exist'What could be the reason for this? Missed something during the new installation?
-
RE: I2C EZO component
There are a few I2C examples in Rexygen studio.
-
RE: HTML dropdown menu color animation
Thank you for this solution, unfortunately I don't have the time to try this out at the moment.
It will have to wait until the second part of next week. I'm already happy that there is a possibility to make it work.Kris
-
RE: TCP socket : parsing NMEA string
Thanks for the info .... I'll give it a try one of these days. I'll post the solution... at least if I am able to solve it.....