Comparing REAL Values on a ControlLogix: Why EQU Is the Wrong Instruction

Table of five decimal values against what a Logix REAL actually stores for each, including 10.1 minus 10.0 and 0.1 accumulated 1850 times

Comparing REAL Values on a ControlLogix: Why EQU Is the Wrong Instruction Page 882 of 1756-RM018A carries a worked example nobody quotes: subtract 10 from 10.1 on a Logix controller and the result could very well be 0.10000038, rather than the 0.1 you were expecting. Two pages of guidance later the same manual puts it … Read more

Kepware with a ControlLogix: the Tag Import, the Arrays, and What Breaks

Five boxes in a row from Studio 5000 through the import route, the server group and the server tag to the client item, with four numbered red points marking where each join fails

Automatic tag generation against one 1756-L83E produced 5537 server tags in about ninety seconds, and the clients on that site reference 684 of them. The other 4853 are array elements nobody reads, structure members nobody reads, and a full PID_ENHANCED nobody has looked at since commissioning. They cost project load time, they cost browse time … Read more

RMPS and RLIM on a ControlLogix: Ramping a Setpoint Instead of Stepping It

Trend of a setpoint written as a step from 20 to 75 percent against the same setpoint rate limited at 5.0 per second, with the drive current limit marked

RMPS and RLIM on a ControlLogix: Ramping a Setpoint Instead of Stepping It A sequence step writes 75.0 into the speed reference of a PowerFlex on a packing line that was sitting at 20.0, and the drive comes back with an overcurrent on acceleration about 400 ms later. Nothing in the controller did anything wrong. … Read more

Kepware Channels, Devices and Tags: the Structure to Get Right Before the First Tag

Five boxes in a row showing one value walking from the controller through the channel, the device, the tag group and the server tag, with four numbered red points below marking where the chain breaks

A SCADA client stores one string for every value it reads, and on the line I am about to describe that string is CLX_Line1.Bagger.Infeed.Belt1_Run. Four names, each chosen by a different person on a different day, and 684 more strings on that one device built the same way. Rename the tag group on a Friday … Read more

JSR, SBR and RET: Passing Parameters Into a Routine Without a Controller Tag

A diagram of one JSR call: the calling routine's program-scoped tags on the left, the JSR instruction with two input parameters and one return parameter in the middle, the subroutine's own program-scoped tags on the right, and a numbered list of the five steps from rung true to RET copying the answer back

JSR, SBR and RET: Passing Parameters Into a Routine Without a Controller Tag Type 4, Code 31 on a 1756-L83E, and the routine it pointed at was three rungs long. The general instructions reference gives three separate ways to earn that code and every one of them is about counting: a JSR with fewer input … Read more

The MSG Control Tag on a Logix Controller: What Each Tab Writes Into It

Three columns headed Configuration, Communication and Tag, each listing the fields on that tab of the Message Configuration dialog next to the MESSAGE structure member the field is stored in, with a note that configuring the message once configures every rung naming the same tag

The MSG Control Tag on a Logix Controller: What Each Tab Writes Into It Line_Msg.DN came true on rung 13 of a 1756-L71 and the forty DINTs the rung was guarding still held last shift’s numbers. The bit had been set by a different message — a four-element write to a capper down on rung … Read more

COP and CPS Instructions on a ControlLogix: Which One Copies What

Worked byte arithmetic for a COP with Length 20 from a five-element SINT array into a ten-element DINT array: the source drawn as five one-byte cells, the destination as ten four-byte cells, then the three limits stacked as requested 80 bytes, destination tag 40 bytes and source tag 5 bytes, with the five-byte answer boxed

COP and CPS Instructions on a ControlLogix: Which One Copies What A COP with a Length of 20 moved five bytes. The source was Packer_Raw, a SINT[5]; the destination was Packer_Scaled, a DINT[10]; the rung went true on every scan of a 1756-L71 and nothing faulted, nothing latched, nothing appeared in the Minor Faults tab. … Read more

Advertisement