Controllogix, J1939, Two's Complement

The Masked Move instruction is more like a Masked Copy: the source and destination are the same size and only the masked bits are transferred to the destination.

I put a zero into the Destination tag prior to the Masked Move mostly out of habit, because if a value greater than 255 gets into that destination tag at some point, the high bits won't be written over by the Masked Move and can mess up the math and confuse the troubleshooter. I've had this happen in logic that was otherwise flawless when I absentmindedly entered a constant into a tag.

The MOV instruction is more general-purpose and as noted by other posters, it preserves the *value* of a tag, not the bit pattern.

I don't know how that bit designator got there; you're right and the source is AB7645:I.Data[9]
 
The number of bytes copied by the COP instruction is determined by the destination tag datatype.

If you're copying from an array of INTs into a DINT, the COP length (LEN) of 1 copies 4 bytes, which is 2 INTs.

I have used the MVI56-MCM quite a bit, but never the "swap" feature. I think it swaps bytes, not words.
 

Similar Topics

I'm trying to integrate a Beckhoff IPC with a Controllogix PLC. There is some documentation, on the Beckhoff website, on how to do a PLC-PLC comms...
Replies
0
Views
38
Why does the controllogix redundancy modules use a single mode fiber vs multimode fiber?
Replies
1
Views
86
Hello, I have two 16 point input cards and 1 16 point output card showing module faulted on my IO tree in Logix Designer. The fault code is...
Replies
7
Views
216
Hello, My associate and I are trying to sync up two ControlLogix racks (7-slot chassis) with identical modules. We are able to see the secondary...
Replies
4
Views
198
Trying to setup a message read via Ethernet. I have the path setup as 1, 1, 2, 192.168.66.10 I get an error code 1, ext err 315. I am beating...
Replies
9
Views
233
Back
Top Bottom