Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting t0,t1,t2,t3, k,w parameters #29

Open
AntonisMous opened this issue Sep 23, 2024 · 6 comments
Open

Setting t0,t1,t2,t3, k,w parameters #29

AntonisMous opened this issue Sep 23, 2024 · 6 comments
Labels
enhancement New feature or request

Comments

@AntonisMous
Copy link

Hello,

I would like to ask how is it possible to set the timing parameters t0,t1,t2,t3, k,w according to IEC 60870-5-104 using the c104.

@m-unkel
Copy link
Collaborator

m-unkel commented Sep 23, 2024

Hello AntonisMous,
Currently, these parameters are hard-coded.

For the server, the default values from lib60870-C are used.
For the client, it also relies on the defaults from lib60870-C, with the following exceptions for timing values:

  • t0 = 2
  • t1 = 1
  • t2 = 2

We could make these parameters configurable in the future.

Could you please share more details about the scenario you're working on that requires modification of these values?

@m-unkel m-unkel added the question Further information is requested label Sep 23, 2024
@AntonisMous
Copy link
Author

Hello,

Thank you for your immediate answer.
I am working on a server where these variables should be configured

  • t0 = 5s
  • t1 = 7s
  • t2 = 10s
  • t3 = 20s
  • k = 12 apdus
  • w = 8 apdus

@m-unkel
Copy link
Collaborator

m-unkel commented Sep 23, 2024

The default values in lib60870-C (as used by the c104.Server) are actually quite close to what you're looking for:

  • t0 = 10s (instead of 5s)
  • t1 = 15s (instead of 7s)
  • t2 = 10s
  • t3 = 20s
  • k = 12 APDUs
  • w = 8 APDUs

Since we're dealing with timing in seconds and most messages are exchanged within milliseconds, I'm curious if you've encountered specific issues due to the lack of configuration for these parameters. Are you facing any noticeable connection problems or other problems because of this?

@AntonisMous
Copy link
Author

Thank you once again for you helpful and immediate answers.

At the moment, I am not facing noticeable connection problems.

However, I would like to know if there is a possibility to modify this parameters, in case where the limitation of not being able to modify timing parameters become a barrier for my project.

Is a new version planned which will include the modification of timing parameters?

@m-unkel m-unkel added enhancement New feature or request and removed question Further information is requested labels Sep 23, 2024
@m-unkel
Copy link
Collaborator

m-unkel commented Sep 23, 2024

Not at the moment, but I will add your request as a feature for the upcoming version 2.1.0.

In the meantime, we are planning to release a hotfix (version 2.0.1) this week to address the #28 bug.

As for version 2.1.0, there isn't a set release date yet since your feature request is the first we've received since the release of version 2.0.0. However, I can assure you that we can implement the timing parameter modification within the next two month. So, unless you encounter urgent issues, your project should be safe moving forward.

@m-unkel
Copy link
Collaborator

m-unkel commented Oct 5, 2024

The requested feature is implemented. The Connection as well as the Server class have a new protocol_parameters property (docs). If you wish to, you can verify the new feature via installing from source branch:

pip install git+https://github.com/Fraunhofer-FIT-DIEN/iec104-python.git@main

The changes will be included in the upcoming release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants