Metering & Power Quality
Schneider Electric support forum about Power Meters (ION, PowerTag, PowerLogic) and Power Quality from design, implementation to troubleshooting and more.
Link copied. Please paste this link to share this article on your social media post.
Hello,
I want to provide a boolean value on a Modbus Slave Module in a PM8000 meter.
The Modbus Slave Module has following setting:
At the inputs are two boolean values. I check the output with a modbus test program.
On register 40411 I get always 0000000000000011, no matter what is at the inputs. It seems, there are the corresponding with the input usage. If a input of the modbus slave module is in use, there will be a 1 on the register 40411.
On register 40412 I get the value of the module inputs.
At ION Reference this behavior is not descripted. There should only on register 40411 the values corresponding with the modules inputs. Is there any issue with the meter or the firmware (1.4.3)?
At ION reference is also descripted, that with the Packed Boolean For Inputs format the values are available in response to the Read Input Status function code. I tried this, but I don't get any answer when I have tried to read out the register 411 with Read Input Status function code.
Could someone explain me what's happen?
Thanks a lot and best regards
Sven
Link copied. Please paste this link to share this article on your social media post.
This 2014 change to the behavious of packed booleans on the PM8000 was intentional. Unfortunately the ION Reference was not (yet) updated.
Example of how to use validity bitmap for bits:
Address 0x0100 – 16 bits register for bit validity of following register. If Bit0=1, that means that Bit0 of following register (Addr 0x0101) is valid.
Address 0x0101 – 16 bits register for bits corresponding to Boolean status data
Link copied. Please paste this link to share this article on your social media post.
Hello Sven,
With Modbus there is modbus address and modbus register, one is 1 different that the other. Depending on the program, you may be setting the address value or the register value. I think Modscan is one that needs +1. If you use "Tester", https://www.se.com/ww/en/faqs/FA180037/ you will likely see the address match.
Regards,
Charles
Link copied. Please paste this link to share this article on your social media post.
Hello Charles,
thanks for your reply.
I have made the same test with Modbus Tester and I have goten the same results as I used Modscan before.
If I using the sources S1=0 and S2=1 of the Modbus Slave Modul, the value on Holding Register 411 is 3 (0b0011) see file "Modbus Tester 1".
If I using the sources S3=0 and S4=1 of the Modbus Slave Modul, the value on Holding Register 411 is 12 (0b1100) see file "Modbus Tester 2".
My conclusion: The Holding Register 411 are coresponding with the usage of the inputs of the Modbus Slave Modul, not with the values at the inputs.
When I looking at Holding Register 412, I find the values of the inputs of the Modbus Slave Modul.
I'm using the format "Packed Boolean For Inputs". In ION Reference are descripted, that with this format "...the inputs are additionally mapped as inputs in response to the Read Input Status function code". But on the Input Register 411 I don't get any answers from the device (see file "Modbus Tester 3").
So something is strange here.
Best regards
Sven
Link copied. Please paste this link to share this article on your social media post.
Hello,
Would you be able to create a tech support case. This will provide better tracking to this behavior.
Thank you,
Charles
Link copied. Please paste this link to share this article on your social media post.
This 2014 change to the behavious of packed booleans on the PM8000 was intentional. Unfortunately the ION Reference was not (yet) updated.
Example of how to use validity bitmap for bits:
Address 0x0100 – 16 bits register for bit validity of following register. If Bit0=1, that means that Bit0 of following register (Addr 0x0101) is valid.
Address 0x0101 – 16 bits register for bits corresponding to Boolean status data
Link copied. Please paste this link to share this article on your social media post.
Hi Dan,
thank you very much for your explanation.
Now I can be sure, that my observation and interpretation are right.
Best regards
Sven
Link copied. Please paste this link to share this article on your social media post.
Hi,
Just found this on the forum, we are wanting to send a control signal via modbus to the Modbus Slave module and are having some issues with values that are appearing in the module causing unexpected events. as an alternative we are linking a pulse input to the 52003 registry seems to cause the registry value to count up, even if its just a zero being written to that address.
We have the same blocks in two PM82401's one with firmware v003.000.000 and one wth v002.001.000 has the ION Reference been updated yet with the revised info you refer to?
Regards
Darren
Link copied. Please paste this link to share this article on your social media post.
Hello Darren,
ION Reference does not have the updated information yet. Register52003 External pulse 3 is linked to the EN50160 reset. Is this the action you are wanting to control?
Regards,
Charles
Link copied. Please paste this link to share this article on your social media post.
Hi Charles
The first methid we used to add modbus control of the PM8000 digital outputs was by unsing the modbus slave module, i set the Base address at 2020, this was chosen as there seem a range clear in the device modbus maps available for the device and also because we were trying to keep this version in line with the previous meters used for the same task being ION7350 and the PLC output to the modbus seemed better to keep common for the legacy and new equipment.
However, after the completion we experienced some unexpected operations of the digital outputs, the PLC does pulse a constant bit into two registers (one for open and one for close signals), to maintain the setting of the registry at 0 every second. If we need to close the breaker the PLC with pulse a constant bit into two registers (0 for the Open command & 1 for the Close command) this then revets to 0,0 until the next command is required.
I have added logging to the registers 2020 and a setpoint module to trigger a record if the value crosses 0.5 either way and have logged some strange values.
Does anybody know it there are internal registers used at 2020 that aren't detailed in the PM8240 modbus maps?
Kind Regards
Darren Pearce
Link copied. Please paste this link to share this article on your social media post.
Hello @Darren_Pearce ,
To start modbus slave modules are for reading modbus values. I do not believe they are intended to write functions.
Second, the custom range for possible modbus address I believe is 1001 -> 1600. (Meter doe not have modules to use all 600)
Third, I did a test with the external Boolean registers, I was able to write the same value to a register without seeing additional events on my meter but I have no way to test using this to control the digital outputs.
Did you try using the external Boolean modules? I am not sure I quite follow the open and close commands with the 2 registers.
1,1 -> open
0,0 -> waiting
1,0 -> close
0,0
?
Regards,
Charles
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.