Posts: 7723
Threads: 42
Joined: Jun 2015
Reputation:
446
There's no easy way of editing this file. You need to run a Redis server locally to be able to do this. But even if you can edit the file it might not work because of different Redis versions.
Run YABE and scan the installation network to be 100% sure that device 77000 is not present anymore. As I've said the scanning process cannot consume a lot of RAM if it's trying to read a non-existing device. It will simply stop with a timeout error after some time.
Posts: 256
Threads: 37
Joined: Feb 2016
Reputation:
1
Ok.
The device still exist, but with bacnet client, there is infinite loop and no object displayed.
So no way to delete the mapped object.
-----------
FRANCE SMARTHOME & SMARTBUILDING INTEGRATION
SE ECO EXPERT
Posts: 7723
Threads: 42
Joined: Jun 2015
Reputation:
446
Scan it with YABE. How many objects does it have?
Posts: 256
Threads: 37
Joined: Feb 2016
Reputation:
1
(11.03.2024, 07:03)admin Wrote: Scan it with YABE. How many objects does it have?
more than 2000
-----------
FRANCE SMARTHOME & SMARTBUILDING INTEGRATION
SE ECO EXPERT
Posts: 32
Threads: 6
Joined: Dec 2023
Reputation:
0
Hi ! Regarding Bacnet client App on SE (LSS100200).
Does somebody know, is it normal behaviour?
On two devices I installed Bacnet client, disabled Bacnet server and made ~15 mappings of Bacnet points.
After that, CPU load become high for permanent. No any other changes, no new scripts or data points. Is it normal load?
Before this, CPU load was near 0.1
Posts: 4572
Threads: 23
Joined: Aug 2017
Reputation:
206
How often are these objects updated?
------------------------------
Ctrl+F5
Posts: 32
Threads: 6
Joined: Dec 2023
Reputation:
0
(27.08.2024, 07:26)Daniel Wrote: How often are these objects updated?
For 10 minutes of logging, only temperature changed twice, thats all.
"Write to bus" option is not used an all mappings.
Posts: 4572
Threads: 23
Joined: Aug 2017
Reputation:
206
Install process app and see what is creating the load.
------------------------------
Ctrl+F5
Posts: 32
Threads: 6
Joined: Dec 2023
Reputation:
0
(27.08.2024, 08:06)Daniel Wrote: Install process app and see what is creating the load.
Could you help with Process App offline installation file? I don't have internet connection on devices.
Posts: 4572
Threads: 23
Joined: Aug 2017
Reputation:
206
------------------------------
Ctrl+F5
Posts: 32
Threads: 6
Joined: Dec 2023
Reputation:
0
(27.08.2024, 08:16)Daniel Wrote: Use this, its better
https://forum.logicmachine.net/showthrea...3#pid35963
Sorry, you probably gave incorrect link?
Posts: 4572
Threads: 23
Joined: Aug 2017
Reputation:
206
------------------------------
Ctrl+F5
Posts: 32
Threads: 6
Joined: Dec 2023
Reputation:
0
(27.08.2024, 08:27)Daniel Wrote: https://forum.logicmachine.net/showthrea...5#pid25655
Thanks. It shows load 80% on this:
Code: lua lib/genohm-scada/core/scripting-resident.lua 1
I have only 4 resident scripts here, and by togging off and on consequently, I found this is Modbus Slave script (script is original, taken from this forum).
Seems, this because of we started using Modbus instead of Bacnet for communication with SCADA server.
But we have hundreds of other Modbus devices connected to the same SCADA server and no problems there.
Posts: 4572
Threads: 23
Joined: Aug 2017
Reputation:
206
Can't really say much from the info provided.
------------------------------
Ctrl+F5
Posts: 32
Threads: 6
Joined: Dec 2023
Reputation:
0
(27.08.2024, 08:56)Daniel Wrote: Can't really say much from the info provided.
This is the script which generates load.
What else I can check?
Code: local mb = require('user.mbslave')
local copas = require('copas')
local socket = require('socket')
local address = '*'
local port = 502
local server = assert(socket.bind(address, port))
mb.setmapping({
['*'] = {
coils = {
[0] = 'U.5.004_LightOnOff',
[1] = 'U.5.003_LightOnOff',
[2] = 'U.5.002_LightOnOff',
[3] = 'U.5.004_LightSts',
[4] = 'U.5.003_LightSts',
[5] = 'U.5.002_LightSts',
[6] = 'U.5.004_LightOnOffWC',
[7] = 'U.5.003_LightOnOffWC',
[8] = 'U.5.002_LightOnOffWC',
[9] = 'U.5.004_LightStsWC',
[10] = 'U.5.003_LightStsWC',
[11] = 'U.5.002_LightStsWC',
[12] = 'U.5.004_FancoilOnOff',
[13] = 'U.5.003_FancoilOnOff',
[14] = 'U.5.002_FancoilOnOff',
[15] = 'U.5.004_FancoilStatus',
[16] = 'U.5.003_FancoilStatus',
[17] = 'U.5.002_FancoilStatus',
[18] = 'U.5.004_FancoilAlarm',
[19] = 'U.5.003_FancoilAlarm',
[20] = 'U.5.002_FancoilAlarm',
[21] = 'U.5.004_Call',
[22] = 'U.5.003_Call',
[23] = 'U.5.002_Call',
[24] = '5.SHAVIP.2_D1_KNXStatus',
[25] = '5.SHAVIP.2_D2_KNXStatus',
[26] = '5.SHAVIP.2_MEGateway_Status',
[27] = '7.SHAUOV.6_Status',
[28] = '5.SHAVIP.2_LightOnOff',
[29] = '5.SHAVIP.2_LightOnOffWCStaff',
[30] = '5.SHAVIP.2_DisableButtons',
[31] = 'U.5.004_Status',
[32] = 'U.5.004_Status',
[33] = 'U.5.004_Status'
},
registers = {
[0] = 'U.5.004_LightDim',
[1] = 'U.5.003_LightDim',
[2] = 'U.5.002_LightDim',
[3] = 'U.5.004_LightDimWC',
[4] = 'U.5.003_LightDimWC',
[5] = 'U.5.002_LightDimWC',
[6] = 'U.5.004_Temp',
[7] = 'U.5.003_Temp',
[8] = 'U.5.002_Temp',
[9] = 'U.5.004_Setpoint',
[10] = 'U.5.003_Setpoint',
[11] = 'U.5.002_Setpoint',
[12] = 'U.5.004_FancoilErrorCode',
[13] = 'U.5.003_FancoilErrorCode',
[14] = 'U.5.002_FancoilErrorCode',
[15] = '5.SHAVIP.2-D1_1_GenFaultCount',
[16] = '5.SHAVIP.2-D1_1_FaultLampCount',
[17] = '5.SHAVIP.2-D1_1_FaultECGCount',
[18] = '5.SHAVIP.2-D1_2_GenFaultCount',
[19] = '5.SHAVIP.2-D1_2_FaultLampCount',
[20] = '5.SHAVIP.2-D1_2_FaultECGCount',
[21] = '5.SHAVIP.2-D2_1_GenFaultCount',
[22] = '5.SHAVIP.2-D2_1_FaultLampCount',
[23] = '5.SHAVIP.2-D2_1_FaultECGCount',
[24] = '5.SHAVIP.2-D2_2_GenFaultCount',
[25] = '5.SHAVIP.2-D2_2_FaultLampCount',
[26] = '5.SHAVIP.2-D2_2_FaultECGCount'
}
}
})
mb.setswap('w')
mb.setfloat16precision(2)
local function handler(sock)
copas.setErrorHandler(log)
sock = copas.wrap(sock)
sock:settimeout(60)
while true do
local res, err = mb.tcphandler(sock)
if not res then
break
end
end
sock:close()
end
copas.addserver(server, handler, 60)
copas.loop()
Posts: 4572
Threads: 23
Joined: Aug 2017
Reputation:
206
Any alerts?
------------------------------
Ctrl+F5
Posts: 32
Threads: 6
Joined: Dec 2023
Reputation:
0
(27.08.2024, 09:34)Daniel Wrote: Any alerts?
Nothing. Only several "System start" on earlier dates.
Some more observations. We tried to toggle-off the modus polling on SCADA server side. As result - script load decreases to almost zero.
Then, we tried to change some of the options on SCADA server side to see if something changes. And decreasing number if simultaneous connections from 5 to 1 - gave load decreased from 80% to 60%. That is better, but not ideal.
Posts: 7723
Threads: 42
Joined: Jun 2015
Reputation:
446
See if you can lower the polling interval. The load is caused by the Scada system constantly polling the Modbus values.
Or you can add a short delay before each request:
Code: local function handler(sock)
copas.setErrorHandler(log)
sock = copas.wrap(sock)
sock:settimeout(60)
while true do
copas.sleep(0.5) -- extra delay
local res, err = mb.tcphandler(sock)
if not res then
break
end
end
sock:close()
end
Posts: 32
Threads: 6
Joined: Dec 2023
Reputation:
0
(27.08.2024, 10:07)admin Wrote: See if you can lower the polling interval. The load is caused by the Scada system constantly polling the Modbus values.
Or you can add a short delay before each request:
Nice! Delay 0.1 made load 10%. Seems, it is the solution. Thanks!
|