Joe E.

MrPLC Member
  • Content count

    1598
  • Joined

  • Last visited

Everything posted by Joe E.

  1. Microsoft Visual Basic Help...

    What did you find out about your first question? I was able to make that MsgBox call work, but not meaningfully.   As for your current question: Dim declares a variable. Since it has no data type in the declaration, it's a "variant", which is inefficient but works. It allocates enough memory to hold any data in any format. Since they're using it to store sheet names, I would probably have declared it as a String ReDim converts the variable arrSheet to an array the same length as the number of sheets in the workbook. In other words, there's an element in the array for each sheet. Are you familiar with For-Next loops? In a nutshell, the loop will execute once for each value of the index, "iIndex" in your case. The "For" statement sets up the limits of the loop (first and last values, the "Next" statement tells it to go back to the top of the loop after incrementing the index vaviable. The first For-Next loop steps through each sheet one by one and stores its name in the arrSheet array. Each worksheet in the workbook has an index number, which is the order in which it appears in the tab bar at the bottom. The second For-Next loop steps through the arrSheet array and marks each sheet as visible.
  2. We don't use SE anywhere, but we have a lot of PV+ HMIs, so we use ME. My response is based on using FT View Studio for ME. I can't guarantee that your steps will be the same. There's a "Global Connections" item in the "System" folder of the project tree. Go to the "Display" tab and there are entries for "Remote Display Number" and "Replace Display Number". Click the "Help" button in that dialog box for information on them. Also note that you will have to right-click on the background of each display and select "Display Settings" Each display will need a unique display number for this to work the way you want.
  3. CompactLogix L35E

    Changing the IP address in the offline project won't work; you then have to download to the PLC. If you open the module properties dialog while online via the serial port, what address does it show? I don't know if this particular PLC supports it or not, but you can often change the IP address from RSLinx: right-click on the PLC, select "Module Configuration" and go to the "Port Configuration" tab. If it will work, you will need to do this via the serial port driver in RSLinx, since that's the one that's communicating to the PLC. Unfortunately, I don't have an L35E handy to test (not sure we have any in the building, actually).
  4. Can you link to that tech note? You shouldn't have to do anything fancy if you're just replacing a BOOL[32] array with a single DINT. Just limit check your MyIndex tag and use DINTDataType.[MyIndex] You will have to do something a little fancier if you want to convert a larger BOOL array to an array of DINTs.
  5. I've seen AdvancedHMI mentioned favorably on here a number of times but I don't know if it supports communications with the 850. It depends on what he used to build his application.
  6. Hmmmm Can you attach your PLC and HMI files here?
  7. What fault are you getting? You may be able to go to the controller properties and adjust the System Overhead Time Slice (Advanced tab). This is the time the processor uses for comms, messaging, etc. If you're going to replace PLC, look at the L8xE series. We found that when the L7x came out, the L6x prices started rising significantly. A comparison of list prices between the 7x and 8x processors shows them very similar. I've never used the task monitor tool so I'm not sure what the COMMS portion of the pie chart means, but I expect it's the resources used to handle communications with other devices. I just tried to use it as a test but it keeps crashing as soon as it connects to a PLC
  8. Micrologix1200 - unable to go online

    I'm not finding much on the knowledgebase, and nothing that's specific to the ML1200. Two things are mentioned: 1) There's an empty data file. Upload the file using RSLogix 500 v4.0 or newer, expand the data file so it's not empty, and re-download (applies to ML1500). 2) The project was downloaded to the PLC using APS or AI SLC500 software (applies to SLC500 fixed IO and SLC 5/01,5/02). I'd guess that neither is your problem, but since your PC is able to upload from the other ML1200s with no issue, I suspect the controller. Is it in a machine and running? I wonder what the 1200 looks like when it's empty... We don't have any of those, so I can't test that for you.
  9. Aha, that's gotten me before too. Good catch, and thanks for following up!
  10. I've often had trouble using the drop-down that you're using for the first time I connect to a PLC after connecting to others in between. Instead, I go to the Comms menu and select "System Comms". That opens an RSWho dialog box containing the active RSLinx drivers. Try to drill down to the PLC in there, select it, and click "upload". If it isn't visible in that window, you won't be able to connect to it. Verify it will ping and that you have the right IP address. You can check that from the LCD screen on the front of the PLC.
  11. I've never worked with Omron hardware before, so i don't know about the memory allocation error. You'll need to verify the COM port settings (baud rate, parity, etc.) on both devices to make sure they're identical. I could be wrong, but I don't think the node/station number is relevant when using DF1 Full Duplex, but generally devices need to be at different nodes for communications to work. I've never had to set/change that number when connecting devices using DF1 Full Duplex, but I may have just gotten lucky.  
  12. He beat me to it. That is a really good summary from Automation Direct, better than I could throw together quickly. You do need to put the N7 array in the mapping table for this to work. The AD summary also makes it clear that you can call your array tag whatever you want. Instead of just "N7", you could call it "DataToHMI". I like the suggestion to segregate read/write data into different arrays. You can then use aliasing or MOV/COP instructions to get word/int data from your existing tags. Binary data can use XIC-OTE code if they're not already in contiguous words.
  13. Micrologix 1200

    The user manual is here: https://literature.rockwellautomation.com/idc/groups/literature/documents/um/1762-um001_-en-p.pdf Appendix C covers troubleshooting, starting with interpreting the LED indicators. Depending on the fault, cycling power may clear it. Or you can use RSLogix 500 to go online and clear the fault. Before clearing it, especially if it's something that has happened more than once, you really should use RSLogix to go online and see what the fault actually is before resetting it. For more details on the error codes and where to find them, refer to appendix D of the Instruction Set Reference Manual: https://literature.rockwellautomation.com/idc/groups/literature/documents/rm/1762-rm001_-en-p.pdf    
  14. For details on the PLC/SLC mapping in a Logix 5000 platform, see this tech note (access level: Everyone): https://rockwellautomation.custhelp.com/app/answers/detail/a_id/7355/  
  15. It looks like the Omron is designed to communicate with a Logix 5 or Logix 500 processor, which don't use tags. They use memory addresses instead. The default integer file, for example, is N7 (file #7). The elements are N7:0 through N7:x, where x is the last element in the file. In RSLogix 5000, go to the "Tools" menu and select "Translate PLC5/SLC". You need to create a file for the HMI to read. In the above example, you might create an Integer array called "N7" of type INT[100] to get 100 elements. Your PLC would write to N7[5] while the HMI would read N7:5. Binary addresses work the same. Create an integer array called "B3" of type INT[100]. Your PLC would write bits like B3[5].1 and the HMI would read B3:5/1. You can then either alias the elements within the N7 and B3 tags in your ControlLogix to the existing tags that the PV is looking at, or write code to have the existing tags write to the N7 and B3 tags. Depending on the size of the project, this may be a painful task. Make sense? Is there a reason to use the Omron HMI? I know the Red Lion HMIs can read/write Logix 5000 tags natively. I guess if they have an installed base of Omron hardware it makes sense to stick with it.
  16. Ok, so that looks like a PV+6, not a Compact, so it should talk to multiple PLCs at the same time. Can you post a screenshot of your communications shortcut?
  17. What is your firmware version? There is a known anomaly with v20: https://rockwellautomation.custhelp.com/app/answers/detail/a_id/970018/page/2 Access level: Everyone
  18. PLC 5 CAD DWG's

    A spreadsheet came with eCADWorks when I installed it as part of the Product Selection Toolbox. I ended up with a shortcut in my Start menu to the drawing list. Also, if you click Product Configuration on their website, you can usually find CAD files.
  19. You should start a new topic. When you do that, include the model number of the PLC.
  20. As Alan asked, what's the logic module part number? If the logic module is a PV+6 Compact or PV+7 Standard, for example, it will only connect to a single PLC.
  21. Hmmmm.... The SLC 5/03 does not support Ethernet. The RJ45 connector is for DH485, not Ethernet. I would be curious to see what driver you're using in RSLinx to be able to see them. Are you using some sort of gatway device? If so, please share. I have some SLC500 fixed I/O processors (DH485-only) that I would love to be able to network.  
  22. FFL problem

    If you want your average to be updated every 0.1s with the 10 most recent samples, set up an array of 10 elements and use a COP instruction. I created an array called SAMPLES, DINT[10], and wrote some code to increment the data source every 50ms. The rung you see below executes every 100ms. This will copy element 1 into element 0, then element 2 into element 1, and so on until it copies element 9 into element 8. You would then use a MOV (or whatever) to grab your current sample and store it in element 9. In this arrangement, element 0 will have the oldest sample and element 9 the newest. You can then average the 10 elements in the array.  
  23. Siemens S7 1500 -1PN network

    I don't know for sure about the 1500s but with the S7-300's with dual ports, the ports are basically an unmanaged switch. The CPU gets just one IP address. Connecting the ports to the different networks is like running a patch cable between switches on the different networks, connecting them together.
  24. I'm not really a communications guru with these, so I'm not sure what the Passthru Link ID is. On mine, they're set to 2 and 1. You should be able to repeat the autoconfigure in RSLinx to re-establish communications after you change the channel 0 settings.
  25. You need to know the COM port settings of the HMI. Baud rate, parity, handshaking, stop bits, etc. Basically, look at the channel 0 settings dialog box in the PLC project. You need that information for the HMI so you know what to set the PLC to.