Michael Lloyd

MrPLC Member
  • Content count

    928
  • Joined

  • Last visited

Everything posted by Michael Lloyd

  1. CompactLogix Source protection snafu

    What do you see when you go to the menu and click  Tools --> Security --> Configure Source Protection It should pop a window with all of the routines, AOI's, etc and indicate which, if any, are protected. In this example BMS is the Source Key
  2. CompactLogix Point I/O Module Limits

    It's been about 12 years but I connected 5 small point IO racks to a Controllogix box that had two remote racks on it. All of the remote racks were on EN2T's (maybe ENBT's, I wouldn't use an ENBT).  The link to the point IO racks was made with an MDS i-Net 900 MHz radios (one master and 5 slaves). Distance was a couple of miles. It worked great until the trees leafed out and the signal dropped out. I had to go back and raise the antennas  
  3. Logix Tag-Based Alarms

    One other possibility is that a lot of us like what we've come up with. We don't use AB HMI software. We use Cygnet or ClearSCADA (although Schneider has done what they always do when they buy something and let ClearSCADA founder). I took a look at Plant Pax recently... that thing is a pig... 
  4. I converted some of my structured text routines to CLX Add-ons. If anyone is interested I would be happy to share. They are tried and true routines that I've used for years. Both are used for calculating flow through an orifice plate. Gas Routine: It follows AGA7 but does not include a calculation for a live NX19 z factor (if you don't know what that is then you probably don't need the add-on). I've compared it to TotalFlow's and Fisher ROC's and while I wouldn't use it for custody transfer it's very good for plant or system balancing. If you understand gas measurement then you'll understand the required inputs. Personally I map the input values to the tag with structured text and then lock the routine with a password so someone doesn't screw something up. Inputs: Atmospheric Pressure, Pressure Base, Temperature Base, Pipe ID, Plate Bore, Inches of Water, Flowing Pressure (PSIG), Flowing Temperature (°F), Specific Gravity, Z factor, Cp/Cv, Nitrogen Mol %, CO2 Mol%. You can set the last two to zero if you aren't correcting for btu Outputs: SCFH, MSCFD, MMSCFD, and #/Hr as well as Beta Ratio and the factors used to calculate flow through an orifice (Fr, Fgr, Fpb, etc) Liquid Routine: This is a much simpler routine. The result is extremely accurate if you feed it good data. The routine requires you to know, or at least guess accurately , what the flowing specific gravity of the fluid is as well as the specific gravity at 60°F. For processes that have widely varying temperature (for instance a hot oil heater. On cold startup the oil is 60 - 100° but when running it can be as much as 350 - 600°. The specific gravity of the oil varies significantly between the two conditions) I use a function generator (10 x and y data points) set up with specific gravity for the range of operating conditions. Neither routine requires the user to input factors. Inputs: Pipe ID, Plate Bore, Flowing Temperature, Specific gravity@ 60°F, Specific gravity@ flowing temperature °F, inches of water differential. Outputs: GPM, BPH, and #/HR (plus all of the intermediate calcs like Beta ratio, etc)
  5. How would you interpret this CPT

    Destination: FxTblStart ; this is an integer that is used as a pointer for some interesting array "stuff" (see PDF link below) Source: FxNo-1 AND 7 In this case FxNo = 20 20-1 = 19 AND 7? AND is a boolean statement. The CPT instructions say AND is a bitwise operator (because it is) so the intent is not to add 19 and 7 together. Fx17-24 (see the PDF), among other tags, is DataType REAL[8,2,16]. The arrays that I've used are x,y. BTW, This is from the boiler control program that I've bi... complained about for a few years. It came without documentation. In my spare time I've manage to document a large part of it. The routine is, I think, my final WTH thing to figure out. As much as I want to hate it there's a level of old school programming skill that's enviable (and irritating) in this thing. Before anyone jumps on the pulpit, yes, I'm very well versed in fired heater and boiler control as well as combustion. I've done it for 1/2 of my life. There is a simpler way to do what they did BUT I'm not going to rewrite the PLC program and HMI just because I don't understand what they did. I'd rather understand it than delete it. Here's a PDF of the routine: https://www.dropbox.com/s/nmt5pepvn8qr6l3/Fx.pdf?dl=0 The tags aren't documented. That's what I'm working on now. The HMI has two screens that references most of the tags. The first screen (below) shows 20: as selected. I'm trying to troubleshoot why the feedback for the FGR Damper position doesn't match the setpoint. Visibly it's in the correct position. It looks like there's characterization for the output and the feedback but until I understand what Fx is doing I'm not going to let the tech touch anything.   
  6. How would you interpret this CPT

    If that's the case, and I'm not misunderstanding, the FXNo would never go above 7 and that's not happening in real life and can't happen or 3/4 of the control system wouldn't work. _Fx is called from 14 different routines (some not used). The following is one of the calls that places 21 into the Input Parameter of the subroutine called _Fx. the input parameter is the tag FxNo JSR(_Fx,2,21,MstrDmd,IbdPosGas)  
  7. How would you interpret this CPT

    FxNo-1 AND 7 is the equation. FxNo MINUS 1 AND 7 Every time the pointer indexes something else is computed and read into and out of tables pointed to by FxNo (Function Number), I think.... FxTblStart is the pointer for the table. FxNo is the index for the desired calculation. I think... 
  8. Micrologix 1100 Write to Modbus compressor

    I had to do something the align the neurons. LOL I'm up in NW NM. Ironically I've had a better quality of life here than my kids down in TX. NM does winter pretty well and in this part of NM it's not that harsh
  9. Micrologix 1100 Write to Modbus compressor

    Curious minds want to know what the problem was. I made the attached PDF to let my SCADA group know what the problem ended up being with a MODBUS ASCII problem (why... why is MODBUS ASCII even necessary in 2021?).  SLC PLC talking to a Fisher ROC. "Nothing had changed in either program", "I only looked at it, I didn't change anything". The clue came from decoding the Function Code returned. 131. It's not easy to see 131h in the attached PDF because of the ASCII protocol.  Page 2,3, and 4 are the useful bits in the attachment. The rest of it was from my spreadsheet. I guess attachments aren't allowed anymore so I'll go with a dropbox link instead https://www.dropbox.com/s/e9usj5u7qmq5m0m/MODBUS%20ASCII%20and%20RTU%20Decode.pdf?dl=0
  10. 1756-EN2T Anomalies

    Subnet mask? Default router address?
  11. opening .RSS file

    You didn't attach it correctly. It doesn't open. Use the Insert Other Media button
  12. 1756 ENBT/A Web Page Help Needed

    V17 is "vintage" :)  We started with ENBT/A's about 10 years ago and about a year into a 3 year long project with 53 PLC's, etc, blah blah the rep strongly suggested moving to EN2T's, which we did. It was a good move. The odd comm issues that were "fixed" by sending a tech out at 2am to unplug the ENBT and plug it back in vanished. Your CIP timeouts error growing situation tweaked a memory of diagnostic checks that I did trying to find the issue and I believe that was the same issue we could see but didn't know what to do to fix it other than pulling the card, wait x seconds, and plug it back in. Not a great plan...
  13. studio5000 FBE signal lines

    You can manage the lines by not having any. For instance, using a very simple example of a multiply block\ I created a Multiply block and called it X1. X1 tags are: X1.SourceA, X1SourceB, and X1.Dest In structured text I could do X1.SourceA := tag or value X1.SourceB := tag or value X1.Dest could be mapped to another tag or just use X1.Dest If you don't have Structured text use a MOV move a value to X1.SourceA and X1.SourceB Very crude example.   Here's a real life example of how I map tags to/from a liquid orifice plate calculation: // Liquid Orifice Flow Calculation FI2101.HW := Analog[30].PV; FI2101.Tf := 98.0; FI2101.D := 6.065; FI2101.Bore := 3.625; FI2101.Sg60 := .7813; FI2101.SgF := 0.7726; FI2101.ngpm := 5.667; FI2101.nbph := 8.096; FI2201.HW := Analog[37].PV; FI2201.Tf := 98.0; FI2201.D := 6.065; FI2201.Bore := 3.625; FI2201.Sg60 := .7813; FI2201.SgF := 0.7726; FI2201.ngpm := 5.667; FI2201.nbph := 8.096; The left side is the input to a function block.
  14. Can you do >= and <= and just use the OTE as time suggested?
  15. Two problems on two different computers

    Final resolution was to take my laptop off of the network. The FlexNet "issue" is only an issue when the laptop is in the WAN but I can't find any software or driver that's causing it. I also loaded version 31, some patches, and AOP's. Both computers work now. The desktop is on the network and the laptop isn't. I suppose I should try it on the network since I made the same changes to it. Maybe later :) 
  16. Problem 1: Laptop doesn't recognize the license dongle. FlexNet server stopped and won't start (Flexnet doesn't ring any bells, is that the right server for license files?). No license available My laptop was working fine. It hasn't been on the company network for about 3 months, which is probably why it was working fine. When I plugged it into the network I got the "you aren't authorized for this network, begone you evil Russian hacker"... ok, I made the last part up. Our wonderful IT lady (seriously) came by, clickety clackety click, and now the laptop works on the network but the license server stopped working. It gets better. The desktop, 2' away, that has been on the network for the whole time, works fine. The server is running, licenses are recognized. Life is good.   Problem 2: Neither the laptop or the desktop will let me add a 1756 IRT8I 8 channel RTD / Thermocouple AI card (Rev 11). I sent the program to a friend and he was able to add 2 with no issues. He sent the program back to me but when I opened the program, then opened the module, and then made a simple edit (renamed the card to RTD1) it pops the same error as always   PS1756ApexAnalogTagExt  a big red X and OUT OF MEMORY. Click ok and the program faults and shuts down, eventually popping a fatal error message that basically says there's no message. It's a do nothing program that is literally just IO cards. I've got to FAT a panel in a few weeks and I need a way to force IO. I can attach it but since one person can edit it and I can't on either machine that seems pointless. I tried it on the laptop before I screwed up and put it on the network and got the same error. Only if I try to add the RTD card though. All other cards are fine. I've updated AOP's, make that- I've updated gobs of AOP's, giga gobs even. I've done the same with EDS files. I've rebooted numerous times. I made sure my computer was plugged in and the monitor was turned on :/ (shout out to IT helpdesk people everywhere). I've tried colorful language, hateful stares... nothing works so I'm going to the one place that usually has a solution...  Studio 5000 version 28 btw.   Plan z is to try loading the software on my personal laptop and seeing if IT proofed computers work any better. I was pretty sure the AOP was going to fix it. Nyet...
  17. Two problems on two different computers

    You were very helpful Bob. You pointed me to the FlexNet problem. I didn't realize that it wasn't AB software. It looked odd to me. I didn't remember the server being called FlexNet, because it isn't, but for all I knew AB had changed it. I've attached what I think is the last piece of the puzzle. I don't know why "it worked and then it didn't" yesterday.  Note: I think I uploaded it. I can see the file but it popped an upload failed screen when I tried to upload (edit - Nope... no file uploaded. Standby. I'll put it in Dropbox and link it.
  18. Two problems on two different computers

    Once again it appears that posting on a forum will resolve problems For instance - the security key issue "fixed itself". Yesterday, post IT update, there were no Factory Talk service running. They were all gone. I left the laptop on and logged in over lunch. It logged out but things happen in the background. The laptop now has all of the services back and it recognizes my license dongle. No software installs were performed. I think the IT help desk was working behind the scenes. They knew there was a problem as of yesterday. It's not unusual for that to happen. (no longer working, read on) I think the AOP issue is simpler. I tried another group of AOP's. Bear in mind that I downloaded Gigabytes of AOP updates. This one is the most recent: RA1756ApexAnalog_Rel_4.02.26_Signed and I can now edit the RTD cards without crashing the software on the desktop And in the time it took to type this, the laptop "FlexNet" problem is back. When I could see my license files and I checked the server all it said was server. Now it says FlexNet and none of the software is authorized. I turned off the WiFi and shut the computer down. I'll get back on it tomorrow. 1/2 way there...
  19. Two problems on two different computers

    Deleting the RSH and RS? didn't fix it on the desktop. Programs used to work in both. They still open in older versions I just tried to reinstall with repair but there was no option to repair. I can't even reinstall over the top of V28. The strange thing is that the software works, just not with the RTD/TC card
  20. Copy Of Add on instruction

    If you can download to the processor with no consequences then you can modify the aoi offline and download. If you need to keep line running then modify it offline, change the name, and import 
  21. Copy Of Add on instruction

    Short version - yes you can. You can add to the original and use that if the belt has a different processor. The easiest is to do it the way you outlined it here
  22. 0-10V output drops when connected to Micrologix 1400

    Can you share how you're wiring the loop?
  23. sine wave generation for frequency tests purpose

    I've never had the luxury, need, or desire to continuously disrupt the process by using a sinewave for a setpoint. I'm sure you haven't either. Typically you step the setpoint, analyze the result, adjust tuning parameters, step change, etc. Maybe the OP is working on an exercise intended to teach loop tuning?
  24. sine wave generation for frequency tests purpose

    This?: http://www.ni.com/tutorial/6450/en/ Controlled by a PLC or controlled by a PID loop in a PLC?
  25. sine wave generation for frequency tests purpose

    I don't think you're dense, but if you are you have company :)