Hello everyone,
I'm working with an old ACM3710 device and I'm encountering an issue with the data frames I'm sending over an RS232 connection over my 1785-KE module. I'm using an oscilloscope to monitor the data frames and I've noticed a discrepancy with the expected data.
According to the device's protocol documentation (Protocol: 3710 ACM / Allen-Bradley), when I send the "Read 3710 ACM Long Real-Time Data" command, the 1785-KE should send a 14-byte data frame. However, I'm consistently receiving a 22-byte data frame instead. The extra 8 bytes are puzzling and not accounted for in the documentation.
Here's an example of a data frame I've received:
10 02 9C 00 00 01 00 00 00 00 00 00 01 00 C1 00 9C 04 B4 10 03 4D.
Here is what the documentation is saying for the packed issued to the ACM 3710:
This packet is issued to a model 3710 ACM Power Meter to retrieve a
detailed account of the real-time data measured by the 3710 ACM
meter.
Byte 1 = 10H = Data Link Escape (DLE) control byte.
Byte 2 = 02H = Start of Text (STX) delimiter byte.
Byte 3 = (DST) - destination address byte of message packet.
Byte 4 = (SRC) - source address byte of message packet.
Byte 5 = 01H - "Unprotected Read" command byte (CMD) issued by
the Allen-Bradley PLC.
Byte 6 = (STS) - byte to indicate message transmission status.
Byte 7 = (TNS) - low order byte of transaction identifier used by
the Allen-Bradley communication interface.
Byte 8 = (TNS) - high order byte of transaction identifier used by
the Allen-Bradley communication interface.
Byte 9 = XXH - low order message type address byte (ADDR), used to
address destination 3710 ACM (unit id).
Byte 10 = 04H - high order message type address byte (ADDR), used
to request 3710 data.
Byte 11 = B4H = size byte (SIZE) indicating the number of fixed
bytes to be read.
Byte 12 = 10H = Data Link Escape (DLE) control byte.
Byte 13 = 03H = End of Text (ETX) delimiter byte.
Byte 14 = BCC ERROR CHECK
In addition to this, I've noticed something peculiar when I use the PLC-2 Unprotected Read command. The documentation suggests a certain size in bytes for the data frame, but the actual size I observe seems to differ.
I'm seeking advice on the following:
Any help or guidance would be greatly appreciated. Thank you !
I'm working with an old ACM3710 device and I'm encountering an issue with the data frames I'm sending over an RS232 connection over my 1785-KE module. I'm using an oscilloscope to monitor the data frames and I've noticed a discrepancy with the expected data.
According to the device's protocol documentation (Protocol: 3710 ACM / Allen-Bradley), when I send the "Read 3710 ACM Long Real-Time Data" command, the 1785-KE should send a 14-byte data frame. However, I'm consistently receiving a 22-byte data frame instead. The extra 8 bytes are puzzling and not accounted for in the documentation.
Here's an example of a data frame I've received:
10 02 9C 00 00 01 00 00 00 00 00 00 01 00 C1 00 9C 04 B4 10 03 4D.
Here is what the documentation is saying for the packed issued to the ACM 3710:
This packet is issued to a model 3710 ACM Power Meter to retrieve a
detailed account of the real-time data measured by the 3710 ACM
meter.
Byte 1 = 10H = Data Link Escape (DLE) control byte.
Byte 2 = 02H = Start of Text (STX) delimiter byte.
Byte 3 = (DST) - destination address byte of message packet.
Byte 4 = (SRC) - source address byte of message packet.
Byte 5 = 01H - "Unprotected Read" command byte (CMD) issued by
the Allen-Bradley PLC.
Byte 6 = (STS) - byte to indicate message transmission status.
Byte 7 = (TNS) - low order byte of transaction identifier used by
the Allen-Bradley communication interface.
Byte 8 = (TNS) - high order byte of transaction identifier used by
the Allen-Bradley communication interface.
Byte 9 = XXH - low order message type address byte (ADDR), used to
address destination 3710 ACM (unit id).
Byte 10 = 04H - high order message type address byte (ADDR), used
to request 3710 data.
Byte 11 = B4H = size byte (SIZE) indicating the number of fixed
bytes to be read.
Byte 12 = 10H = Data Link Escape (DLE) control byte.
Byte 13 = 03H = End of Text (ETX) delimiter byte.
Byte 14 = BCC ERROR CHECK
In addition to this, I've noticed something peculiar when I use the PLC-2 Unprotected Read command. The documentation suggests a certain size in bytes for the data frame, but the actual size I observe seems to differ.
I'm seeking advice on the following:
Any insights into why I might be receiving 22 bytes instead of 14 for the "Read 3710 ACM Long Real-Time Data" command?
- Any thoughts on why the data frame size from the PLC-2 Unprotected Read command might differ from the expected size as per the documentation?
Any help or guidance would be greatly appreciated. Thank you !
Last edited: