-
Notifications
You must be signed in to change notification settings - Fork 949
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
Not restore alfer line fault (dev 1.3.2) #188
Conversation
Fixes a TypeError occuring while escaping token bytes in the message and adds the start and end tokens to the packet.
Fix binary framer and add start and end tokens
* Now correctly decoding sub function messages (diagnostic) * Message parser now finished and documented * Fixed broken logger unit test
…__iter__ attribute). Changed 'if' to 'elif'
ModbusSparseDataBlock handled dictionaries incorrectly (they have an __i...
Yes, i'm using the version 1.3.2 released yesterday. I don't know exactly how to reproduce it, it's probably related to the noises on the serial line, it happens after 5-10 minutes of continuous readings and only with devices that frequently reply with wrong data (for example |
@oleg-krv and @ccatterina Are you guys still having this issue ? Could you guys please give a try on the latest on |
hi @dhoomakethu , i just tried the
|
@ccatterina are you observing this against a real device ? Could you share the details ? |
yes, i'm trying to read 30 photovoltaic string subcombiners, the error appear after about 30-60 sec of continuous read, the line is noisy and the devices responses sometimes are invalid. Here's the last part of the log with debug enabled:
|
@ccatterina Thanks, Please give this branch a try. |
Unfortunately I have found the same issue in |
@ccatterina thanks, could you please share the logs? Also if you this PR , is it fixing the issue? |
Here's the log with
Now i try with this PR. |
i attach also the log running my reader in a single process instead of multiple threads:
|
Also with @oleg-krv version the same exception is raised.
|
@ccatterina I am a bit confused now, Are you using the ModbusSerialClient provided by the pymodbus library or are you creating your own ? The logs shows you are not using the ModbusSerialClient from sync.py. The logs would then be more descriptive like this
With this branch most of the devices we have which were bailing out with similar errors are working just fine. I could not get the modbus spec for the device you have mentioned. In any case if it is a modbus serial device you are trying , try updating this stand-alone-script with relevant details and share the logs here. |
Oh Sorry, i'm using ModbusTcpClient with Rtu framer, i thought i had already specificied It. |
@ccatterina Thanks for the clarification, will run the tests with your setup and will get back to you. I am sure the use case you are trying is not covered . Sorry for the trouble. |
If an incomplete response is received strange things happened (e.g. receiving 0xFF raise an IndexError, receiving 0x011012 raise a struct.error). Now if an incomplete response is received an error is logged. Related to discussion in pymodbus-dev#188 , Fix pymodbus-dev#211
If an incomplete response is received strange things happened (e.g. receiving 0xFF raise an IndexError, receiving 0x011012 raise a struct.error). Now if an incomplete response is received an error is logged. Related to discussion in pymodbus-dev#188 , Fix pymodbus-dev#211
* Modbus sync client timing enhancements #221 Fix TCP server #256, #260 * Fix #221 timing enhancements, #188 workarounds * 1. #284 Async servers - Option to start reactor outside Start<server>Server function 2. #283 Fix BinaryPayloadDecoder/Builder issues when using with pymodbus server 3. #278 Fix issue with sync/async servers failing to handle requests with transaction id > 255 4. #221 Move timing and transcational logic to framers for sync clients 5. #221 More debug logs for sync clients 6. Misc updates with examples and minor enhancements * 1. #277 MEI message reception issue with UDP client 2. Fix unit tests 3. Update changelog * Patch 1 (#292) * Fix #289 and other misc enhancements * Replace nosetest with pytest * Update Changelog * serial sync client wait till timeout/some data is available in read buffer + update changelog * serial sync client read updates when timeout is None and Zero * fix sync client unit test and example
@ccatterina I hope this PR is no longer valid and shall be taken care as part of 1.5.0. Please feel free to open with an updated PR if you still feel this is an issue. |
After a failure in the line (com-port), communication is not restored.
If you clear the buffer before calling the exception - everything works