CREAD Multiple uses of in Unity Pro XL

3 posts in this topic

Hello all

I'm new to this forum so please understand if I seem awkward.

I'm using Unity Pro XL for a Quantum PLC on a project that is reading multiple registers from an old Concept Quantum PLC.

Many years back I used concept and proworx under similar circumstances and remembered that you should not use multiple reads and writes at the same time. We had to stagger the numbers or we had difficulties with the execution etc.

Question: Is this still the case with using the CREAD AND CWRITE blocks? And if so a quick hint on how to do this would be very helpful. I'm thinking using the EN Input but can't remember how I tested each block for completion before setting the next group of blocks to run.


Share this post

Link to post
Share on other sites

Hello, yes, the limitation is still there.


CREAD_REG, CWRITE_REG, READ_REG, WRITE_REG and MBP_MSTR function blocks use 1 data transaction path and require multiple cycles to complete an operation. Number of transaction paths available is dependent on the communication port used:
  • Modbus Plus embedded port or NOM modules support up to 4 blocks at the same time
  • TCP/IP Ethernet embedded port support up to 4 blocks at the same time
  • TCP/IP Ethernet NOE modules support up to 16 blocks at the same time
More communication function blocks may be programmed on the same communication port. However communication block exceeding the maximum number on that port will not be serviced until one of the transaction paths is freed up. When the transaction path resources become free the next block on the same port will become active and begin using freed path.

Share this post

Link to post
Share on other sites

Thanks for that and as I expected.

I will be using Ethernet on a NOE which means I can set 16 (Probably do 10 per group) to run at the same time. I do remember creating some logic before when we were using about 40 of the FB and made them run in grouped sequences. I believe I used the EN on the Block to enable them in sequence but can't remember how I established when the FB's in one set were complete so to turn on the next set. Any ideas? I know there is a Status Word from the Blocks but they are only Fault Codes. I couldn't see anything in the codes to suggest that they had completed or if they were busy executing. I have about 50 that I will be using and don't have the option to re-organise the registers to make it easier due to limitation of the project.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now