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 Everyone,
I have connected PM2100 with Siemens S7-1200 via CM1241 RS485 Module. I can read the data from PM2100 without any problem. Now I want to change the CT Primary via PLC. can anyone tell me how can I do that?
I am using Modbus_Master instruction in PLC, But unable to write the CT primary value.
Waiting for reply
Thanks
Link copied. Please paste this link to share this article on your social media post.
The PM2100 does NOT use a simple read/write register map. All configuration commands are done through a Protected Command Interface set of registers (5000 through 5124) and requires the acquisition of a command semaphore (register 5001).
The process would be:
1. Obtain the command semaphore by reading register 5001. If a non-zero value is returned, then use that value in the subsequent command to be sent.
2. In the case of programming the CT Primary, you need to send Basic Meter Setup command (2000) by writing the appropriate registers (there are 24) in its entirety along with the semaphore acquired in step 1.
3. You can confirm the changes took place by reading the Command Result registers (5125 thru 5127) and ensure that the Result in 5126 is zero indicating valid operation and 5127 is for the command you sent in step 2.
4. Finally you release the semaphore in step 1 by writing the same value back into register 5001.
All write functions would use Write Holding Register (function code 10h).
Link copied. Please paste this link to share this article on your social media post.
Here is where you can find the needed information on the PM2100 Modbus map:
https://www.se.com/id/en/download/document/PM2100_PM2200_Register_List/
Link copied. Please paste this link to share this article on your social media post.
The PM2100 does NOT use a simple read/write register map. All configuration commands are done through a Protected Command Interface set of registers (5000 through 5124) and requires the acquisition of a command semaphore (register 5001).
The process would be:
1. Obtain the command semaphore by reading register 5001. If a non-zero value is returned, then use that value in the subsequent command to be sent.
2. In the case of programming the CT Primary, you need to send Basic Meter Setup command (2000) by writing the appropriate registers (there are 24) in its entirety along with the semaphore acquired in step 1.
3. You can confirm the changes took place by reading the Command Result registers (5125 thru 5127) and ensure that the Result in 5126 is zero indicating valid operation and 5127 is for the command you sent in step 2.
4. Finally you release the semaphore in step 1 by writing the same value back into register 5001.
All write functions would use Write Holding Register (function code 10h).
Link copied. Please paste this link to share this article on your social media post.
Here is where you can find the needed information on the PM2100 Modbus map:
https://www.se.com/id/en/download/document/PM2100_PM2200_Register_List/
Link copied. Please paste this link to share this article on your social media post.
Dear @Robert_Lee thanks for your reply. I have read the semaphore value. Now I want to send the command.
so should I send command to 5000 address, with first value will be 2000 and second will be command semaphore, as listed in list of registers
(1) Command Semaphore
(2) Number of Phases
(3) Number of Wires
(4) Power System Configuration
(5) Nominal Frequency
(6-7) Nominal Voltage
(8-9) Nominal Current
(10-11) Nominal Power Factor
.
.
(18) CT Primary, Phase
So i will write,
2000>5000
semaphore>5001
Number of Phases>5002
Number of wires >5003
.
.
CT Primary, Phase>5018
is that right?
Link copied. Please paste this link to share this article on your social media post.
Dear @Robert_Lee , Please check the following map which I have mad to send data to PM2130 to write data
please check if i am right? Should I sent data in this pattern?
Link copied. Please paste this link to share this article on your social media post.
Should I read 5001 or 5680 to read semaphore?
Link copied. Please paste this link to share this article on your social media post.
Waiting for reply
Link copied. Please paste this link to share this article on your social media post.
I've attached a packet trace (can be opened using any plain text editor like notepad) where ION Setup is performing the Basic Setup command for a similar product. It first reads the setup for the required 24 registers, then the semaphore, followed by sending the Basic Setup command (seen using function code 0x10), followed by dual reads of the result registers (the first returns zero for the command, then the subsequent one does return 2000 in the correct location). Finally it releases the semaphore with another Write Holding register request.
Link copied. Please paste this link to share this article on your social media post.
Dear @Robert_Lee ,
When I sent write command and read 5125, 5126 and 5127 then it shows the following result,
5125 = 2000
5126 = 3001
5127 = 3
can you please tell me what is wrong? why 5126 showing 3001?
Link copied. Please paste this link to share this article on your social media post.
Register 5126 is the command result register so a value of 3001 indicates that one of the sent parameters is "Invalid Parameter".
If you examine the other register values (5127 onwards), one or more of them will have a value of 0xFFFF which indicates which of the parameters sent was not acceptable.
I suspect in this instance, since you are modify the CT Primary value, the CT Primary Neutral register value is not being set correctly (I believe the firmware requires that if you modify the CT Primary value, the CT Primary Neutral value must match).
Many of the firmware requirements for programming many of the registers is undocumented which is why I don't ever recommend anyone to attempt to do this using any type of 3rd party system.
Link copied. Please paste this link to share this article on your social media post.
Olá, não estou conseguindo lero o KWH via MODBUS-RTU os outros parametros estou lendo, somente o KWH não. PM2100 conseguiria me ajudar? contato: isaac.brito@castecnologia.com.br
Obrigado!
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.