Sergei Troizky

MSG alternative to acees BOOL type data?

10 posts in this topic

Since the CIP MSG instruction supports only numerical data types, is there an alternative way to read/write booleans in Logix5000 processor?

Base boolean tags, not aliases to numerical data type tag bits.

1 person likes this

Share this post


Link to post
Share on other sites

I'm not able to pull up Logix at the moment but you could map one format to another in structured text (there are other means but this lets you control what goes where with no regard to bit or byte order in the CIP tag). As a crude example:

CIPTag1 of the type INT mapped to BOOLTag1 of the type BOOL[16] <-- I actually don't think you can do an 16 bit array, I'm pretty sure it has to be be BOOL[32].

Depending on which way you are going:

CIPTag1.0 := BoolTag1.0;

CIPTag1.1 := BoolTag1.1;

etc...

or

BoolTag1.0 := CIPTag1.0;

BoolTag1.1 := CIPTag1.1;

etc...

Share this post


Link to post
Share on other sites

The problem is that it should not require any preprogramming (program code, data type, aliasing, etc.) that refers specific tags.

The solution must be tag name- independent and work with any arbitrary BOOl tag created by the standard procedure.

Share this post


Link to post
Share on other sites

Logix 5000 is a tagname based environment. If there aren't any Boolean tags there aren't any Booleans

Share this post


Link to post
Share on other sites

Michael, I said any tag created by the standard procedure, so it exists.

But it is a base type BOOL tag, not an alias nor member of UDT.

Share this post


Link to post
Share on other sites
5 minutes ago, Sergei Troizky said:

Michael, I said any tag created by the standard procedure, so it exists.

But it is a base type BOOL tag, not an alias nor member of UDT.

Ok, then mapping the tag works (same thing as bit packing, just one at a time). Message to an INT, then assign the bits from the INT to the BOOL

Share this post


Link to post
Share on other sites

An array of BOOLs?

Share this post


Link to post
Share on other sites

Michael, your suggestion violates the initial condition: reading a BOOL tag should not require in the target controller any preprogrammed procedure specific to the tag name.

pcmccartney1, the same, plus the MSG instruction still will not support boolean datatype, arrayed or not.

Share this post


Link to post
Share on other sites

Ok, then it’s easy, you can’t do that.

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