PLX31 on a 5069 logix

plcnewbie26

Member
Join Date
Jan 2019
Location
Office
Posts
7
has someone configured a PLX31-EIP-MBTCP module?


when i add the AOP for it, it categorizes the data type as SINT instead of the INT data type like the 1769 in-chassis modbus cards.


my questions is, what is the cleanest way to read a floating value on it?



can i change the IO from SINT to INT? and treat it like an in-chassis modbus card?


or i use COP instruction to convert the whole SINT array to an INT and use the new INT array as the reference point like an in-chassis card?


or use COP instruction to the ones i really need - this sounds inconsistent when reading booleans, integers and Floats cause they'd be different lengths
 
This is my first reply-post. Pardon syntax if incorrect...

when i add the AOP for it, it categorizes the data type as SINT instead of the INT data type like the 1769 in-chassis modbus cards.

my questions is, what is the cleanest way to read a floating value on it

YES - I have configured the PLX31-EIP-MBS module to place the gateway registers in an INT array via H/W config (for reference, my Module Definition was Rev 1.004). I remember struggling to change the definition AFTER the H/W was added. If H/W is already added, and data is in the SINT type, you must delete the device in the H/W tree, and then add it again. During the addition of the new module, click on "Change" Module Definition, and set your connection size to "INT". You may also set the type to REAL if you know that ALL of your data will be FLOAT32s...it sounds like that is not the case.

Another option (which I believe the previous poster mentioned) is to use a CIP Data Table Read (Message Command) to read the internal registers, and place them, again, in any datatype array that you like. The help file explains more on this. I previously wrote a sequencer to obtain the entire 2000 internal registers from a PLX31-EIP gateway. AOP only allows for 2 I/O connections of size INT[248] = ~25% of gateway internal regs. If using MSG commands, this size (per MSG) should be adhered to.

If you intend to obtain BOOLs, INTs & REALs from the same internal registers, then consider using the COP instruction to 'move' the internal registers to meaningful tags of the appropriate data type. While the internal registers are of different lengths (SINT vs INT shouldn't matter), the destination length might not be. A quick reminder that the Logix COP instruction "LEN" pertains to the destination size, not the source size.
For example:
1) BOOL arrays are impressively silly to work with in Logix platform, so I avoid them. As such, skipping BOOL example, see INT example below, and parse-out bits-of-the INT (MBS1_INT.0) thereafter.

2) COP MBS1:I1.Data[0] MBS1_INT 1
- will copy the first 2 SINTs to a single INT.
- would also copy the first INT to a single INT.

3) COP MBS1:I1.Data[0] MBS1_Reals[0] 124
- will copy all 496 SINTs to an array of REALs of size 124.
- would also copy all 248 INTs to an array of REALs of size 124.
 

Similar Topics

Hello, can anyone help with what driver to use in Crimson to communicate Ethernet/IP to a Prosoft PLX31-EIP-MBS gateway. The gateway will pull...
Replies
6
Views
824
Hi all. A compact logic PLC is contacted to a PROSOFT PLX31-EIP-MBTCP, to a SCADA PULSE(ModBus). I'm sending the data using the MSG function...
Replies
0
Views
1,190
Dear all, Can any one share the procedure how to configure Allenbradley PLC as modbus TCP server with DCS through Prosoft PLX31 EIP MBTCP
Replies
1
Views
2,160
Hello guys, I have a new PLX31-EIP-MBS4 and I wanted to configure it, connected the power terminals and Ethernet cable to the gateway and other...
Replies
4
Views
2,177
Hello, I've recently decide to try using a prosoft gate to bridge handshakes between two of our processors. Reason being is one is profinet and...
Replies
1
Views
1,374
Back
Top Bottom