Productivity 1000, BTD (AB) equivalent

the_msp

Lifetime Supporting Member
Join Date
May 2008
Location
Northern Ireland
Posts
1,271
I am rewriting a program for AB CPX, for SMC electric actuators. I have used both IO-Link and Ethernet/IP with AB CPX, and the most helpful instruction for these programs is the BTD (think that's what it's called, Bit Field Distribute).

Is there a similar instruction in Productivity 1000?
 
I don't think there is a one-to-one correlation with instructions. It looks like you would use a LOGW with a SFR instruction. Use AND and for your bit mask put a 1 in each space of the bit mask that you want to copy from the other address. Then shift those bits into the address you want to shift them into with SFR.
 
The [Swap Byte] instructions are unnecessary, at least on that rung.

All of that can be done with simple AND and DIV (or bit-shift) instructions.

Should take no more than about half an hour to re-write that rung to make it simpler and easy to port.
_
 
Last edited:
...I put it as what I thought it should be, I'm getting error 0x127 in my Status Description, I have a rung to enable the drive and make it online, and I am getting TCP connected back as an input
 
Thanks... that helped narrow down the error code;

This error is returned when the Originator to Target (Output data) size specified in the Forward Open does not match what is in the Target. Consult the documentation of the Adapter device to verify the required size. Note that if the Run/Idle header is requested, it will add 4 additional bytes and must be accounted for in the Forward Open calculation. The Productivity Suite CPU always requires the Run/Idle header so if the option doesn't exist in the Scanner device, you must add an additional 4 bytes to the O -> T (Output) setup. Some devices may publish the size that they are looking for as an additional attribute (Unsigned Integer 16 value) of the Extended Error Code. An array can be defined for this field in order to view the extended error code attributes.

So through trial and error my connection status is now: Success

For anyone else following along trying to do this;

T->O Unicast, don't include header, Integer 16 Bit unsigned 1D array with 36 elements, then number of elements 18 at the bottom
O->T same as above just inclue header
 
Thanks... that helped narrow down the error code;



So through trial and error my connection status is now: Success

For anyone else following along trying to do this;

T->O Unicast, don't include header, Integer 16 Bit unsigned 1D array with 36 elements, then number of elements 18 at the bottom
O->T same as above just inclue header

I'm doing the exactly same thing. Thanks for your sharing. Saved a lot of time for me.
 

Similar Topics

Hi everyone, I don't know much of PLCs but it happened that i need to connect Leuze AMS358i Ethernet laser measurement to Productivity 1000...
Replies
0
Views
1,063
Hello, I am trying to use micrologix 1400 Ver.A as adapter and a Productivity P1-540 as scanner, only Ethernet/IP is supported by ML1400 Ver.A...
Replies
2
Views
1,854
I am looking at using this range instead of AB compact logix. I have had a look at the software manuals and cannot find anything that indicates...
Replies
16
Views
10,027
Are there any HMIs besides C-More that offer a driver for the Automation Direct Productivity series PLCs? Running into some issues with C-More and...
Replies
10
Views
1,533
I have received a project of converting an existing SLC 500 program to a Productivity 3000 program. My question is there a tool to help achieve...
Replies
3
Views
726
Back
Top Bottom