Comments (6)
absolutely, I think your driver is doing the right thing by exposing ADS api as is, then the fact that ADS protocol has strange quirks here and there is something that need to be handled by the application code
from ads-rs.
Thanks for the report, I reproduced this locally.
Using Wireshark I traced what the difference between the PowerShell and this library is, and found that PowerShell actually doesn't set the state to Run
but to Reset
.
Can you try that?
from ads-rs.
Also, there is Reconfig
which must apparently be used to set to config mode, instead of Config
.
from ads-rs.
Interesting, will try later
from ads-rs.
Confirm working, here is the full test
Starting from state Config
C:\temp>adstool.exe 127.0.0.1/192.168.15.4.1.1 state
Device: TwinCAT System 3.1.4024
Current state: Config
Go from Config
to Run
C:\temp>adstool.exe 127.0.0.1/192.168.15.4.1.1 state Reset
Device: TwinCAT System 3.1.4024
Current state: Config
Set new state: Reset
Go from Run
to Run
(restart)
C:\temp>adstool.exe 127.0.0.1/192.168.15.4.1.1 state Reset
Device: TwinCAT System 3.1.4024
Current state: Run
Set new state: Reset
Go from Run
to Config
C:\temp>adstool.exe 127.0.0.1/192.168.15.4.1.1 state Reconfig
Device: TwinCAT System 3.1.4024
Current state: Run
Set new state: Reconfig
Go from Config
to Config
C:\temp>adstool.exe 127.0.0.1/192.168.15.4.1.1 state Reconfig
Device: TwinCAT System 3.1.4024
Current state: Config
Set new state: Reconfig
from ads-rs.
Great! I'll add some text to the help of the state
command, but I don't want to change the behavior as long as I don't have full knowledge of what Beckhoff are doing, and I don't think it's documented. Ok?
from ads-rs.
Related Issues (18)
- ADS crate HOT 1
- Decoding and flattening of struct array - question HOT 2
- Can you give me an example of read-write structs? HOT 6
- Making ads::client::Client implement the Send and Sync traits by not using RefCell and Cell in it HOT 2
- decode_symbol_info panics when parsing ARRAY with negative indices such as ARRAY[-1..5] OF INT; HOT 1
- Trouble connecting to remote PLC HOT 5
- Compilation currently broken HOT 2
- silent panic if twincat restarts mid-read HOT 3
- TwinCat 2 Connection issue HOT 4
- Support reading `zerocopy::FromBytes` datatypes directly? HOT 1
- Getting the symbol type of a specific handle HOT 1
- Support for multi requests HOT 1
- Cannot connect to localhost HOT 34
- Reading multiple handles HOT 3
- Reading / writing strings of length 255 HOT 3
- ads::symbol::get_symbol_info breaks on large TwinCAT projects HOT 13
- "Failed to read data" from PLC HOT 4
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 ads-rs.