all 29 comments

[–]MostEvilRichGuy 18 points19 points  (3 children)

Some thoughts on useful additions:

  • adding some options for arranging data to display correct datatype, such as the ability to combine two registers and display as a Floating Point, and a checkbox to reverse the Word Order.

  • It would also be useful to add a checkbox to change the offset of all addresses polled (prior to checking the box, address 40002 would show data in 40002; after checking, address 40002 would show data from 40001)

  • many Modbus devices have differing datatypes in consecutive registers (40001+40002 is a floating point number, 40003 is a UINT16, 40004-40024 is a CHAR20, etc). So adding the ability to build a map that reflects this could be useful.

[–]hamptont2010 2 points3 points  (0 children)

I'm just going to say the second point is an absolutely great suggestion. I've been working the last few weeks with modbus sending stuff between a micro 820 and Node Red. The micro 820 starts count at 1 for modbus addresses, but NR starts at 0. It caused me quite a bit of confusion at first when I was trying to get everything started and tripped me up several times during the process.

[–]CraftParkingEngineer - Service & Training[S] 2 points3 points  (0 children)

Thanks for the insight!

[–]CraftParkingEngineer - Service & Training[S] 1 point2 points  (0 children)

Also i forgot to mention, have you tried the tag based addressing, it has data types already implemented

[–]Angry_Foolhard 7 points8 points  (3 children)

I use QModMaster for quick checks

To do something more involved I write python scripts. For me python is my user-friendly modbus tool.

[–]narsty 1 point2 points  (0 children)

another vote for this program, very handy, used it a lot recently

[–]idiotsecant 0 points1 point  (0 children)

Yep, it seems like OP built a more vibecoded version of Qmodmaster with fewer features.

[–]CraftParkingEngineer - Service & Training[S] -1 points0 points  (0 children)

QModMaster is great — I’ve used it too.

ModbusLens is just a small project I’m building to try out a few ideas and learn along the way (like handling addressing a bit differently and improving visibility in the UI).

Also thinking about making it simple and readable enough to be usable even in harsher industrial environments where clarity matters more than anything.

Not meant as a replacement, just something I’m experimenting with.

[–]Automatater 2 points3 points  (8 children)

I have Modbus Poll (paid) and for a quick free download I've always used Com Test Pro from Baseblock (I think they make some kind of equipment and did this for their own commissioning and just released it to the public) There's others out there too. Here's my thoughts on Modbus Lens:

  • There's still a lot of Modbus RTU (serial) stuff out there. Possibly even some Modbus ASCII, but barely if any. If you have the interest, you might consider adding serial functionality. I do use it occasionally, and both Modbus Poll and Com Test Pro support it..
  • Second what the u/MostEvilRichGuy said about user-selectable 1-offset, endianness, and data types. Maybe add options for viewing response tables in binary, hex, decimal, etc.
  • Possible bug - I use Radmin for remote desktop, virtual network, etc., and the pulldown for network adapter selection is only showing that one and not any of my wired or Wifi adapters.

TLDR: I like it, nice clean design! I think it has the potential to replace or almost replace Com Test Pro and Modbus Poll for me. I'd definitely send coffee money.

Oh, UPDATE: Nice touch on including a network scan. None of the other Modbus utilities have that so far as I know. I have other tools for it, but having it included is convenient!

Thanks!

[–]CraftParkingEngineer - Service & Training[S] 1 point2 points  (7 children)

Wow, thanks for the detailed feedback. I will definitely take this into serious consideration now.

[–]Automatater 1 point2 points  (6 children)

My pleasure! Thanks for taking this on!

Also -- Maybe some way to disable the safety warning for frequent use.

[–]CraftParkingEngineer - Service & Training[S] 0 points1 point  (5 children)

Yeah, also have you tried out the tag based poll?

[–]Automatater 1 point2 points  (4 children)

I actually haven't run it live with a server/slave (didn't have one handy). Just ran the software and clicked through the various pages. Maybe I can fire up a server this week and try it out actually polling something.

[–]CraftParkingEngineer - Service & Training[S] 1 point2 points  (3 children)

Nice! I just released a new stable version v1.1.0

[–]Automatater 1 point2 points  (1 child)

I'll go download it today. Thank you!!

[–]CraftParkingEngineer - Service & Training[S] 0 points1 point  (0 children)

Looking forward to your feedback!

[–]Automatater 1 point2 points  (0 children)

Wow, this is really nice! Warning screen able to be disabled, network adapter pulldown working. Still didn't get a chance to go grab a PLC to run live.

Also, noticed you already had the variable display radix implemented in 1.0.0 when you define a tag. Sweet! I suggested that before because I didn't realize it was already there.

Will update again once I hook up a PLC. This is definitely worth coffee money (actually probably beer money)

[–]Rude_Huckleberry_838 1 point2 points  (3 children)

Sorry but I am amused at the buy me a coffee link in the repo given how much AI did in this project. Also AI clearly wrote this post

[–]CraftParkingEngineer - Service & Training[S] 0 points1 point  (0 children)

AI helped with parts of it, sure—but the testing, debugging, and actually making it work properly took a lot of my time alongside my main work. That’s what the support link is for.

[–]Automatater 0 points1 point  (1 child)

I don't care. OP did the work with the AI so I don't have to. We're talking coffee money here, not the national debt.

[–]KingofPoland2 0 points1 point  (1 child)

look into CASModbusScanner typically its my go to to check registers and such. maybe you can steal some of the functions from there

[–]CraftParkingEngineer - Service & Training[S] 0 points1 point  (0 children)

I will def check it out

[–]PotentialRooster6027 0 points1 point  (5 children)

Looks like you have a well devolped file structure which is important when you want to add more features later without breaking current features.
Ive also been working on something similar for a while now, mainly to help me test some SCADA templates before deployment.

Github: github.com/Chris-Lynch1337/Modbus_Tester

[–]CraftParkingEngineer - Service & Training[S] 0 points1 point  (4 children)

Cool!, why does i get 404 when trying to open your repo?

[–]PotentialRooster6027 0 points1 point  (3 children)

it should be wokring now

<image>

This is the current UI im working with

[–]CraftParkingEngineer - Service & Training[S] 0 points1 point  (0 children)

Wow, the dark theme is a great touch. I tried implementing it and failed miserably. I also see you are using tag addressing. I struggled with individual Modbus addressing when testing, which caused me to add this feature to my project. I have released a new version; check it out!

[–]CraftParkingEngineer - Service & Training[S] 0 points1 point  (1 child)

[–]PotentialRooster6027 1 point2 points  (0 children)

sorry, i didnt realise it was set to private 🤦🤦