Welcome to the new Schneider Electric Community

It's your place to connect with experts and peers, get continuous support, and share knowledge.

  • Explore the new navigation for even easier access to your community.
  • Bookmark and use our new, easy-to-remember address (community.se.com).
  • Get ready for more content and an improved experience.

Contact SchneiderCommunity.Support@se.com if you have any questions.

Close
Invite a Co-worker
Send a co-worker an invite to the Exchange portal.Just enter their email address and we’ll connect them to register. After joining, they will belong to the same company.
Send Invite Cancel
84521members
353751posts

PM8000 Packed Boolean Format Handling

Metering & Power Quality

Collaborate with multiple experts and discuss various topics about Power Meters and Power Quality. From design & implementation to troubleshooting and more, get support from experts and share your experiences by subscribing to the Schneider Electric Exchange forum today.

Solved
Sven_Kermer
Lieutenant JG Lieutenant JG
Lieutenant JG
0 Likes
9
1503

PM8000 Packed Boolean Format Handling

Hello,

I want to provide a boolean value on a Modbus Slave Module in a PM8000 meter.

The Modbus Slave Module has following setting:

  1. Format = Packed Boolean For Inputs
  2. BaseAddr = 411

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


Accepted Solutions
DanL
Commander Commander
Commander

Re: PM8000 Packed Boolean Format Handling

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

See Answer In Context

9 Replies 9
Charles_Murison
Picard Picard
Picard
0 Likes
8
1499

Re: PM8000 Packed Boolean Format Handling

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

L4 Prime for Advanced metering and Utilities
Sven_Kermer
Lieutenant JG Lieutenant JG
Lieutenant JG
0 Likes
7
1493

Re: PM8000 Packed Boolean Format Handling

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

Attachments
Charles_Murison
Picard Picard
Picard
0 Likes
0
1491

Re: PM8000 Packed Boolean Format Handling

Hello,

 

Would you be able to create a tech support case. This will provide better tracking to this behavior.

 

Thank you,

Charles

L4 Prime for Advanced metering and Utilities
DanL
Commander Commander
Commander

Re: PM8000 Packed Boolean Format Handling

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

Sven_Kermer
Lieutenant JG Lieutenant JG
Lieutenant JG
0 Likes
0
1472

Re: PM8000 Packed Boolean Format Handling

Hi Dan,

 

thank you very much for your explanation.

Now I can be sure, that my observation and interpretation are right.

 

Best regards

Sven

Darren_Pearce
Lieutenant | EcoXpert Master Lieutenant | EcoXpert Master
Lieutenant | EcoXpert Master
0 Likes
3
1456

Re: PM8000 Packed Boolean Format Handling

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

Tags (1)
Charles_Murison
Picard Picard
Picard
0 Likes
2
1452

Re: PM8000 Packed Boolean Format Handling

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

L4 Prime for Advanced metering and Utilities
Tags (1)
Darren_Pearce
Lieutenant | EcoXpert Master Lieutenant | EcoXpert Master
Lieutenant | EcoXpert Master
0 Likes
1
1448

Re: PM8000 Packed Boolean Format Handling

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

Tags (1)
Charles_Murison
Picard Picard
Picard
0 Likes
0
1442

Re: PM8000 Packed Boolean Format Handling

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

L4 Prime for Advanced metering and Utilities
Tags (1)