Forum Home › Forums › Development and Integration › When Scada Comm send data to Scada Server.
- This topic has 7 replies, 2 voices, and was last updated 6 years, 7 months ago by
eurusyang.
-
AuthorPosts
-
January 24, 2019 at 5:25 am #4939
eurusyang
ParticipantWhen Scada Comm send data to Scada Server,just like follow codes:
byte[] buf = new byte[cmdLen]; buf[0] = (byte)(cmdLen % 256); buf[1] = (byte)(cmdLen / 256); buf[2] = 0x03;
when the cmdlen’s number more than 65536,the scada server can not receive the cmdlen.because you use two bytes to represent the length of cmdlen .overflow 2 bytes.
When debug ScadaServer,The computer is very stuck.Why?
and the ScadaComm runs long time,the memeory of ScadaComm become much bigger.Why?In ScadaServer/Comm.cs,
private void ProcCommCommand(ClientInfo client, byte cmd, int cmdLen) { bool sendResp = true; // отправить ответ на команду int respDataLen = 0; // длина данных ответа на команду byte[] extraData = null; // дополнительные данные ответа switch (cmd)
I think you can use Design Patterns to insteaed the switch method,the ProcCommCommand function is too long to beautiful.
-
This topic was modified 6 years, 7 months ago by
Mikhail.
January 24, 2019 at 1:14 pm #4942Mikhail
Moderatorwhen the cmdlen’s number more than 65536,the scada server can not receive the cmdlen
Yes, this is a limitation.
When debug ScadaServer,The computer is very stuck.Why?
Depends on a computer hardware.
ScadaComm runs long time,the memeory of ScadaComm become much bigger.Why?
Can you provide memory usage chart?
I think you can use Design Patterns to insteaed the switch method,the ProcCommCommand function is too long to beautiful.
I agree. I hope this will be refactored in the future.
January 25, 2019 at 6:38 am #4944eurusyang
ParticipantDear Mikhail,
as we all know,65535 bytes are not a lot,I need send tens of thousands of bytes to ScadaServer.I hope you can change the limit.
My computer has 16G memory…When debug ScadaServer,also very card.
ScadaComm runs 3 hours,ScadaComm Services is already used900M memory in task Manager.
You are very nice and can respond to my news in time.January 25, 2019 at 5:08 pm #4947Mikhail
Moderatoris already used900M memory
Seems not usual. Do you use the default configuration?
January 25, 2019 at 5:09 pm #4948Mikhail
ModeratorI need send tens of thousands of bytes to ScadaServer
Could you describe your system?
January 26, 2019 at 4:32 am #4951eurusyang
ParticipantI use rapid scada in oil transmission system,there are so many data need send to scada server.I hope you can change the size.I do some change in your code to send data to server.
January 27, 2019 at 1:09 pm #4953Mikhail
ModeratorI hope you can change the size.
For a big system, you may need our assistance to research how Rapid SCADA works under the required load and what the bottle necks are. Changing either data formats or internal protocol may be a subject of a contract between our companies. This is a business model of our project and many other open source projects.
January 28, 2019 at 2:26 am #4955eurusyang
ParticipantThankes,I have changed the size.
-
This topic was modified 6 years, 7 months ago by
-
AuthorPosts
- You must be logged in to reply to this topic.