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

PMON Driver #34

Merged
merged 92 commits into from
Dec 15, 2024
Merged

PMON Driver #34

merged 92 commits into from
Dec 15, 2024

Conversation

mslaffin
Copy link
Collaborator

@mslaffin mslaffin commented Dec 3, 2024

Opening this up for discussion of initial work of the ProcessMonitor subsystem and DP16 driver.

Hardware: DP16PT-330-C24
Communication Manual: PMON digital meter RS-485 communication manual.pdf

@mslaffin
Copy link
Collaborator Author

mslaffin commented Dec 3, 2024

image

@mark11778
Copy link
Contributor

mark11778 commented Dec 3, 2024

image

section 6.1 page 34 RS-485 communication manual

@mark11778
Copy link
Contributor

image

appendix C page 53 RS-485 communication manual

@mark11778
Copy link
Contributor

image

Big-endian

@mslaffin
Copy link
Collaborator Author

mslaffin commented Dec 3, 2024

Just so everyone is aware, we shouldn't have to worry about explicitly dealing with byte structure or CRC calculations when using pymodbus.

These low level requirements are already implemented at various levels by pymodbus. For example, the FramerRTU class handles the CRC check here

@mark11778
Copy link
Contributor

Ope thanks for the heads up, Ill have to look into this library

@mslaffin
Copy link
Collaborator Author

mslaffin commented Dec 4, 2024

I'm thinking we'll want a method to interpret the scaling of the "process value" that we're reading from register 39. They provide register 8 (RDGCNF) which I believe stands for "Reading Configuration" and can be used to determine this decimal place.
image

They have this format table in section 5.7.2 (iSeries protocol settings), but don't have a corresponding table in the Modbus section. I think this is consistent across protocols.

This shows the decimal position is encoded in the last 3 bits of RDGCNF:

image

mslaffin and others added 25 commits December 9, 2024 20:54
…atus instead of failing completely when some units fail status check
@mslaffin
Copy link
Collaborator Author

At this point, I think this branch is safe to merge into develop and shouldn't pose a risk to the existing subsystems. I'm going to merge and close this but I'll open up a follow-up PR for clean-up and any changes that might come up during testing.

@mslaffin mslaffin marked this pull request as ready for review December 15, 2024 20:41
@mslaffin mslaffin merged commit b5616f7 into develop Dec 15, 2024
@mslaffin mslaffin deleted the feature/PMON_driver branch December 15, 2024 20:42
@mslaffin mslaffin mentioned this pull request Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants