Torn to bits with RSLOGIX5000

FSEIPEL

Member
Join Date
Nov 2013
Location
cOLUMBUS OHIO
Posts
27
I have a basic question. I want to go to a 'wait' state set by a boolean tag in controller -- currently HMI only (RSVIEW32) sets this tag, which is type 'boolean' and representation 'decimal'. However, I also want to go into the 'wait' state from program when an alarm triggers.

Problem is, every time I try to use MOV to move a '1' into this boolean tag, I get an error nag about 'invalid data type. Argument must match parameter data type'. I tried using .0 to reference the bits, 2#00000001 as a constant in source operand of MOV, etc, nothing works... Oddly it doesn't even like MOVing source into DEST when they are both set to same tag...
 
Hi

You can't use a bool in a move instruction. You could use a ote or otl
But with the rs view writing it the same tag you might have some trouble.
It may be best to set up an or instead

Donnchadh
 
I have a basic question. I want to go to a 'wait' state set by a boolean tag in controller -- currently HMI only (RSVIEW32) sets this tag, which is type 'boolean' and representation 'decimal'. However, I also want to go into the 'wait' state from program when an alarm triggers.

Problem is, every time I try to use MOV to move a '1' into this boolean tag, I get an error nag about 'invalid data type. Argument must match parameter data type'. I tried using .0 to reference the bits, 2#00000001 as a constant in source operand of MOV, etc, nothing works... Oddly it doesn't even like MOVing source into DEST when they are both set to same tag...

I think you're getting the display selection and the data format confused.
A BOOL tag is a single bit, and can be represented as 0 or 1 (decimal)
You cannot MOVE anything into a BOOL. All you can do is -( )_, -(L)-, -(U)-, as far as destructive instructions go.

Now, if you had a DINT or INT or SINT tag called TAGPLC_NET, its least significant bit would be a BOOL, so you could
MOV
1
TAGPLC_NET
-or
MOV
0
TAGPLC_NET

later, you could examine that BOOL, which would be
TAGPLC_NET.0
 
Torn to bits by RSLOGIX

Thanks, I understand the concept of Boolean data types, I understood I could write to the bit destructively, however, I want to write to it one-shot. I understand MOV can't handle boolean types now; since I want a one-shot write, OTE, OTL, are not what I want here. Which command(s) are used to write the bit once? I know how to use the rising edge functions but ability to write one-shot is what I'm missing here... I can't change data type as program is running. I do understand fully, the data type, should never have been set to BOOLEAN.

I can introduce a second tag and OR it against whether operator paused sequence, and set the current tag with OTE, but I'd rather not unless that, or changing data type, are the only alternatives. I'm an old hand with PLC's but new to RSLOGIX5000.
 
Thanks, I understand the concept of Boolean data types, I understood I could write to the bit destructively, however, I want to write to it one-shot. I understand MOV can't handle boolean types now; since I want a one-shot write, OTE, OTL, are not what I want here. Which command(s) are used to write the bit once? I know how to use the rising edge functions but ability to write one-shot is what I'm missing here... I can't change data type as program is running. I do understand fully, the data type, should never have been set to BOOLEAN.

I can introduce a second tag and OR it against whether operator paused sequence, and set the current tag with OTE, but I'd rather not unless that, or changing data type, are the only alternatives. I'm an old hand with PLC's but new to RSLOGIX5000.

Yep, you will need a "storage bit"
The "input instruction" way to do this is:

XIC <my_BOOL> ONS <Storage_Bit> OTE <my_BOOL_Pulse>

There is also a OSR output-type instruction that does the same thing.
 

Similar Topics

Hi I am being given several fault words (as a DINT) from a Drive that I am receiving into a Compactlogix L33ER controller. I have a small...
Replies
12
Views
1,140
Dear Fellows; I am working on a very old machine which is designed in GE 90-30 PLC system. I have some difficulties like 1. How a force to...
Replies
3
Views
347
Hi All, I am trying to write some simulation logic for an existing project im working on. Does anyone know if this is possible to write to...
Replies
6
Views
1,278
Hi, I have this code: LAR1 P##structy L 0 T LW [AR1,P#0.0] which resets all the bits in this struct called structy...
Replies
1
Views
641
I am passing DINTs between a Micro800 and CompactLogix - each bit in the DINT has its own unique meaning. On the Studio5000 side I can just write...
Replies
3
Views
1,101
Back
Top Bottom