Comments (3)
Just enough depth to keep the device saturated with requests. Mostly, depth is required due to slow (high latency) communications channels.
The multiple flag allows Cpppo to aggregate multiple requests into a single transmitted CIP request. If the target device can handle it, it may increase the total number of I/O operations that can be handled, per second, by reducing the over head of decoding multiple separate requests.
So, simply by experimenting you should be able to find the optimal settings for your device.
Finally -- Cpppo is 100% pure Python. Even the low-level parser is Python. So, I have seen some noticable speed-ups by using PyPy, especially if your program runs for long periods of time (ie. performs some requests, waits then performs the operation again (without shutting down and restarting))
from cpppo.
@pjkundert , you said The multiple flag allows Cpppo to aggregate multiple requests into a single transmitted CIP request , but how? Could you show a demo?
from cpppo.
We found the communications is fast, but between the last receive and next send(read multiple tags ), it used 2.596616 - 2.443908 = 0.152708 S , as the pictures shows below:
and we also check the source code and test it, we found it is to slow in following function, could you help us?
from cpppo.
Related Issues (20)
- Connection manager: unconnected send
- Receiving (not pulling or writing) data from AB Compact GuardLogix PLC
- Question: Getting single attribute
- Question: read an array of structures in one request
- Question: write to structure field
- CIP Class 0x66
- AssertionError on harvest HOT 1
- Simulate Omron Adapter
- (Question) Duplicate Responses to CIP Discovery Packet HOT 3
- Sending SINT write request using client results in error
- Python 3.11 import problem HOT 1
- Question: What is the meaning of "Tag communications capability"
- Question: CPPPO Server configuration as Generic Ethernet Module in Studio 5000
- Client import problem HOT 1
- SMC JXC91 write HOT 5
- Question: How to call vendor specific services?
- Question: How to send Instance Service "reset (0x05)" instead of "get_attributes_all (0x01)" using Cpppo? HOT 1
- AssertionError: Failed to receive any response
- Implicit (cyclic) communication for lower latency
- Can we have a simple example of writing a single register to a ControlLogix please
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cpppo.