CitectSCADA 7.20 Digital Tag Packing

James_S

Member
Join Date
Sep 2011
Location
Edmonton
Posts
2
I'm designing an HMI using CitectSCADA 7.20 connected to a CompactLogix and have a very limited number of points. From what I can gather, you can't just access individual bits from within an Integer/Long without having a tag declared to hold them. So SOME_DINT.0 in RSLogix would need a SOME_DINT_0 tag in Citect and SOME_DINT.1 would need a SOME_DINT_1 tag.

Does someone know of a simple way of addressing individual bits without declaring tags for them? I'm sure I can make something work if this isn't possible but I would like to know if there is a quick solution.

Thanks.
 
I gather you are trying to use INT or DINT as tags to reduce the tag count and save some money. I personally do noit like doing this but understand why.
I believe you can write INT and DINT to the disk PLC and extract bits from there but I am not sure if this reduces the tag count or not. Certainly reduces the tag count from the PLC but I do not know if tags from the disk PLC are counted in the overall tag total or not.
 
Hi James_S,

There is no easy way to do this in Citect without increasing your point count. The easy way is to use the Remapping form, this would allow you to map an integer/long to bool, but it will consume points for each bool you use.

The harder and slower way is to bit pick the integer in Cicode by using BITAND and map the bits to local variable tags. This code would have to be called continually by an event or report. Another way would be to call a function off your graphic and pass the tag and the hex mask and have the function return the value of the bit 1 or 0. This would be quicker.

If you are using integers to display values on your page, you can pack two 16bit values into the controllogix tag and break them out in Citect by using HighWord(Tag) and LowWord(Tag). Citect will only count one point because one tag is used.

Hope this helps.
 
Yeah, I made some functions to do bitmasking and they work quite well, I was just hoping there was a more graceful/point count non-intensive method.

I would have liked to use more tags, but we didn't pick the license for this project...

Thanks for the replies guys, I appreciate the help.
 

Similar Topics

Hello everyone! I have a question about the allowable syntax for an expression in CitectSCADA. If I wanted an advanced alarm to trigger based on...
Replies
2
Views
931
Hello, Just wondering if it is possible to make internal CitectSCADA project tags available to an OPC server. (Schneider OFS). There are...
Replies
0
Views
916
Hello, This may not be the place for this but im curious of anyone has worked with CitectSCADA 2018 and windows sessions. Any feedback would be...
Replies
0
Views
1,584
Hi Guys, I am still trying to learn citectscada and curious about the how the hmi stores the alarms (active, historical, etc). I could see a...
Replies
1
Views
1,256
I want to make an application in C# .Net to read Tags from CitectScada (Local variables, Variables tags, Digital Alarms ...) so that I can process...
Replies
1
Views
1,594
Back
Top Bottom