Joe E.

MrPLC Member
  • Content count

    1085
  • Joined

  • Last visited

Community Reputation

145 Excellent

3 Followers

About Joe E.

Contact Methods

  • Website URL http://

Profile Information

  • Gender Male
  • Location Harrisonburg, VA
  • Country United States

Recent Profile Visitors

7156 profile views
  1. PN PLC 2 PLC multiple DB's

    The "right" way may depend on who you're talking to... There may not be a way to send multiple DBs with a single connection. Have you tried Siemens tech support? At least in North America, they're pretty easy (and free) to contact. They haven't always been the most helpful, but they're available.
  2. Factorytalk password

    That squares with my experience. We were repeatedly tasked with changing the passwords in a series of machines that all used the built-in runtime security system, which required going out to the machines (about 20 or so total HMIs), editing the project, and downloading it. It was an all-day task that we really didn't have time for. I spent a couple of days figuring out how to let them change their own passwords (very easy) and backup/restore them so we could make runtime changes at will (a lot more complicated). When we investigated doing that to the PV+ HMIs, we found out from tech support that the current password is stored in the MER file inside the HMI, so if we wanted to keep the passwords after making our changes, we would have to upload the existing MER from the HMI and restore it into View Studio. We wouldn't be able to use our APA project backups at all. I'd say to change from using the built-in user administration in the PV+ to using a number stored in the PLC. Make sure you're OK with anyone who can get into the PLC having access to the passwords, though. Then write either a pseudo-random calculation or look-up table.
  3. PN PLC 2 PLC multiple DB's

    Your existing structure shouldn't be affected; you would just add an intermediate step. Create a "holding" DB in both PLCs with the same structure that contains all of the DBs you want to send. Right before you send the DBs, you copy your local DBs to the "holding" DB, then send the "holding" DB. On the receiving end, you tell it to write the data to the local "holding" DB, then you copy it over to your local DBs. Or, create multiple connections. Based on my experience with Siemens processors, I have a feeling that combining them into a holding DB may be easier to follow later, but I could be wrong. Like I said, I've never done this. I don't know how big a deal it would be to have a bunch of BLKMOV FBs running versus having a connection for each DB.
  4. PN PLC 2 PLC multiple DB's

    I didn't study the link in detail, but it looks like the difference between TSEND and TSEND_C is that the _C instruction includes the TCON functionality to create a connection while the TSEND instruction does not. The TSEND_C instruction can exist on its own but TSEND needs either a TCON or TSEND_C instruction to precede it. The link explains that but doesn't provide a lot of details otherwise. If the TSEND/TSEND_C instructions can only send one DB at a time, can you combine the DBs you want to send into one? In other words, create a new DB with a structure that contains the DBs you want to send. I know you can (used to be able to...) declare a STRUCT inside a DB where the STRUCT's datatype is another DB. Maybe try that and have the FC/FB that calls the TSEND/TSEND_C instructions use Block Moves to copy the DBs you want to send into the new DB, then send it. Does that make sense? Alternatively, it looks like you can use multiple TSEND/TSEND_C instructions, each sending one DB at a time, until you've sent all of the DBs you need to send. Caveat: I'm at a new employer who doesn't use Siemens equipment, so I no longer have access to PLCs, TIA Portal, or Simatic Manager to tinker and test. The only time I've set up a data exchange between these PLCs, I used a Red Lion HMI as a gateway device. I've seen it done before over Profibus (a LONG time ago) but never set it up myself.
  5. I can simulate timer

    Good catch. One comment says "50msec" while the other says "100msec". Either way, it'll be too fast to see with the software. I would still expect to see the value of bit Q100.00 displayed the same throughout, though. Weird...
  6. Factorytalk password

    Hmmm... The simplest thing may be to just use Excel's RAND function to generate a series of random numbers to populate a look-up table in the PLC. Here's one idea, inspired by your desire for it to be random digits: https://www.geeksforgeeks.org/pseudo-random-number-generator-prng/ It was fairly straightforward to implement in Excel but I don't have a PLC on my desk any more to make sure it yields the exact same numbers. You'll have to do some manipulation (other than rounding/truncating) to make it always be 4 digits without leading zeros if that's important to you. You would also not be able to use the user administration that's built into the HMI. Do you have the source code for the Siemens HMI to take a look at how they did it? If you're using the runtime security functionality built into HMI, I don't know of a way to automatically change the password every day...but that doesn't mean it can't be done.
  7. I can simulate timer

    Not sure what platform it's emulating, but the NC of T0000 may be a problem, depending on what status of the timer it indicates (done, enabled, timing, etc.). If it means the timer is done timing, that looks like an off delay time function. The fact that Q100.00 looks like it's on in the output instruction of the first rung and off in input instructions is suspicious, like the simulation isn't properly running. Or the output is forced. Or something else...
  8. Factorytalk password

    At a previous employer, the password was the Julian date (day of the year) of the preceding Sunday. One of the 3rd shift maintenance guys would go around every Sunday morning and change the passwords. It wasn't reliable because sometimes he'd be too busy or he was out. I ended up automating it. Are you looking for an algorithm that you can implement in the PLC and in Excel so someone with access to the spreadsheet can look up the password? Or do you want the PLC to calculate the password and have it show up automatically in Excel? The first option won't be difficult if you keep the date & time updated in the PLCs. The second one will require a data connection to the PLC which won't be nearly as straightforward if you don't already have something like that in place.  
  9. BOOTP/DHCP

    I didn't save the bookmark, but I downloaded a similar tool from Phoenix Contact that seemed to work better and more reliably than AB's BOOT/P. I used on Windows 7, though, not Win10. It's not at all unusual to have issues with BOOT/P. I usually use it in a virtual machine with a USB network adapter connected directly to the VM and all of the VM's other network adapters disabled and disconnected. That sometimes works...
  10. Connect to an AB Logix5555 via 1756-ENBT?

    As a client to do what? What exactly are you trying to accomplish?
  11. TCP connection

    If you're trying to roll your own from scratch without using their native protocols, you're way beyond anything I can suggest. I know the Ethernet/IP and CIP standards are handled by ODVA, but they're not free and they're going to be a big deal to implement properly. I *think* both AB and Siemens PLCs can be Modbus masters and the Modbus TCP standard is a lot more open (and less rigidly defined) than E/IP and Profinet. And that arrangement may not work for what you're doing (I've only been peripherally involved with a Modbus system and it didn't use Modbus to talk to the PLCs but to other auxiliary devices, so definitely don't take that to the bank).  
  12. TCP connection

    I don't know the protocol, but I know you can read/write any tags in the PLC. Are you wanting a PC to be able to control physical I/O directly? If so, this is likely not the most cost-efficient way to get I/O onto a PC.
  13. TCP connection

    If all you want to do is display the current status of the I/O, I would seriously consider using AdvancedHMI. It's a plug-in into Visual Studio. It's written in Visual Basic, but the library may work with C/C++ too. The software to create a PC-based HMI is free. I tested it once with a CompactLogix and it worked well. I installed the free version of Visual Studio and imported the AdvancedHMI solution per the instructions. After that, it took me less than 5 minutes to have a tag displayed on the PC.
  14. Connect to an AB Logix5555 via 1756-ENBT?

    At my previous location, I did the same thing...until IT updated our network and group policy settings. At each update, the Ethernet/IP driver was less and less likely to see the devices until it finally stopped finding anything, even if we were plugged directly into the device. At that point, I just stopped using it altogether and always use the Ethernet Devices driver. It's a bit of a pain to type in the addresses manually, and you have to know the addresses ahead of time, but that's what we have to do here.
  15. RS LOGIX 5000 V15

    To view routines in FBD, SFC, or ST, you will need a higher license of Logix 5000 or a language pack add-on. With the add-ons, you can buy them individually or as a multi-pack. The multi-pack is more expensive than each individual language but far cheaper than buying all of them individually. You only need the language license to look at the code. You can upload/download without it. It's possible you have a language pack license already. Were you able to open them before? If so, try to find the activation certificate for your language pack. If you can't find it, reach out to Rockwell and ask them what to do to re-send the certificate so you can re-host it.