Hello all, first of all I'm new on the forum but had a lot of contact with the Red Lion helpdesk who are really helpfull (Dan, Will) :nodi:
Still I keep on running into different problems for wich I hope somebody can help me with and maybe anyone can use my experience.
In the beginning when I started using Red Lion it was just for small setups with 1 PID controller and an analog input card. It annoyed me I had to use an analog output card to write a value to the input of the PID if I wanted to use a calculated variable as input. Fortunately I later found out it was possible to write the data to the AltPV register by turing the ReqAltPV register on This made everything much easier.
Also I had a lot of speed issues between the Red Lion master GT controller and the 15" HMI screens which where, in the end, caused by me using OPC server instead of Modbus over ethernet which turned out to be really fast.
Together with this problem I had the issue of the whole system slowing down while logging. Ok I was logging over 100 tags every second but still... After switching to modbus this issue was mostly resolved but in the charts and web interface you still see the system hanging every 2 minutes. The web interface really slows down the system when using OPC.
At the moment I got 3 Red Lion systems up and running including CSMSTRGT with 15" touchscreens and a lot of different modules. one of the test skids I'm working on now is going to be send offshore to an oil rig. For this reason it has to be really stable and I have some issues with that. I'm using 7 PID controllers of which I'm using the AltPV register. For this reasing I'm running a main() function which is converting floating point values from different coriolis meters over modbus to integers which are sent to the PID controllers. I want this function to run 2x a second so I have an init() function which is called at startup, from this function I'm calling the main() function which is set to run in the background en read always. This function starts with an infinite for loop for(; and has a delay of 500ms in the end. this function is not running at the interval I want to because sometimes it runs faster and sometimes slower than 2x a second. If I call the main function from the Tick() value once a second without the delay of 500ms built in, the function gets runned about 15 to 20x a second. Ofcourse faster is better but I got the impression that this speed is crashing my system every now and then. Red error screen on the web interface.. Don't want that on an oil rig... Does anybody has any experience with timing functions or the way the run in background and read when referenced stuff works? I've been trying a lot of different methods but none of them are stable.
I hope somebody can help me with this issue and I hope I can be helpfull to everyone else on the forum.
Thanks,
Rik
Still I keep on running into different problems for wich I hope somebody can help me with and maybe anyone can use my experience.
In the beginning when I started using Red Lion it was just for small setups with 1 PID controller and an analog input card. It annoyed me I had to use an analog output card to write a value to the input of the PID if I wanted to use a calculated variable as input. Fortunately I later found out it was possible to write the data to the AltPV register by turing the ReqAltPV register on This made everything much easier.
Also I had a lot of speed issues between the Red Lion master GT controller and the 15" HMI screens which where, in the end, caused by me using OPC server instead of Modbus over ethernet which turned out to be really fast.
Together with this problem I had the issue of the whole system slowing down while logging. Ok I was logging over 100 tags every second but still... After switching to modbus this issue was mostly resolved but in the charts and web interface you still see the system hanging every 2 minutes. The web interface really slows down the system when using OPC.
At the moment I got 3 Red Lion systems up and running including CSMSTRGT with 15" touchscreens and a lot of different modules. one of the test skids I'm working on now is going to be send offshore to an oil rig. For this reason it has to be really stable and I have some issues with that. I'm using 7 PID controllers of which I'm using the AltPV register. For this reasing I'm running a main() function which is converting floating point values from different coriolis meters over modbus to integers which are sent to the PID controllers. I want this function to run 2x a second so I have an init() function which is called at startup, from this function I'm calling the main() function which is set to run in the background en read always. This function starts with an infinite for loop for(; and has a delay of 500ms in the end. this function is not running at the interval I want to because sometimes it runs faster and sometimes slower than 2x a second. If I call the main function from the Tick() value once a second without the delay of 500ms built in, the function gets runned about 15 to 20x a second. Ofcourse faster is better but I got the impression that this speed is crashing my system every now and then. Red error screen on the web interface.. Don't want that on an oil rig... Does anybody has any experience with timing functions or the way the run in background and read when referenced stuff works? I've been trying a lot of different methods but none of them are stable.
I hope somebody can help me with this issue and I hope I can be helpfull to everyone else on the forum.
Thanks,
Rik