So I know that in RSLogix 5000 you can use a tag in place of a static number in an argument of any instruction. For example... If I wanted to look at a specific address within an array in 5000, I would enter the following..
ExampleArray[##].bit
but I know that I could replace the # with any integer tag I wanted to
ExampleArray[PointerINT].0 and RSLogix would be happy with that.
Does anyone know if you can do the same in Step 7? If so How?
What I'm trying to do is when moving a block of data (BLKMOV) I don't want to specify the amount of BYTE data with a static number but instead use a variable.
Right now, my value for SRCBLK argument is
DB100.DBX0.0 BYTE 128.
Instead what I'd like to do is replace the argument for BYTE 128 with something like....
DB100.DBX0.0 BYTE #StringLen
The reason I would like to do this is because I am talking Profinet to a Keyence Laser Marker and one of the commands I send the laser, it will respond with the data which was marked in one of their DataMatrix code blocks. The data length will be variable and in another word address it gives me the length of the string it sent. So I'd like to do a BLKMOV command and specify the exact number of characters which came over in the request so I'm not picking up any erroneous data from a previous request. Yes I know that I can blank out the data array first with the BLKFLL command but sometimes I just don't want to.
Does anyone know if how this is possible?
Thanks:site:
ExampleArray[##].bit
but I know that I could replace the # with any integer tag I wanted to
ExampleArray[PointerINT].0 and RSLogix would be happy with that.
Does anyone know if you can do the same in Step 7? If so How?
What I'm trying to do is when moving a block of data (BLKMOV) I don't want to specify the amount of BYTE data with a static number but instead use a variable.
Right now, my value for SRCBLK argument is
DB100.DBX0.0 BYTE 128.
Instead what I'd like to do is replace the argument for BYTE 128 with something like....
DB100.DBX0.0 BYTE #StringLen
The reason I would like to do this is because I am talking Profinet to a Keyence Laser Marker and one of the commands I send the laser, it will respond with the data which was marked in one of their DataMatrix code blocks. The data length will be variable and in another word address it gives me the length of the string it sent. So I'd like to do a BLKMOV command and specify the exact number of characters which came over in the request so I'm not picking up any erroneous data from a previous request. Yes I know that I can blank out the data array first with the BLKFLL command but sometimes I just don't want to.
Does anyone know if how this is possible?
Thanks:site:
Last edited: