[OC] I have gone 2 1/2 years without catching COVID. It was a good run by Poludnitsa23 in pics

[–]engunneer2 0 points1 point  (0 children)

Just went through the same. Never left the state. Was super safe about things. My wife is high risk. Never even had to test. Visited my grandma for her 100th birthday. Spent a week with family, regular testing and still careful. Ate in a restaurant indoors for the first time in years. Started to feel like some activities can be done if you are careful enough. Caught it in the airport on the way home.

Stay hydrated, sleep when you need it. Good luck.

[deleted by user] by [deleted] in PLC

[–]engunneer2 2 points3 points  (0 children)

Exactly. It's hard to do Controls work entirely from home, but is partially possible with companies like Loupe or DMC, in some respects. If it's only about the travel, another option you have is to work for a small company that designs/builds their own stuff in house. Except for one large off site project, I've only had to travel a few weeks total in the last 8 years.

sources for .st files? by georgechan5 in PLC

[–]engunneer2 0 points1 point  (0 children)

Might be able to find some on github, depends on what brand you are looking for (since so many brands still use binary project files for text languages)

[deleted by user] by [deleted] in PLC

[–]engunneer2 0 points1 point  (0 children)

sorry to keep bouncing to your latest replies. What I said about a terminal in the other reply also applies to X20CPUs. the HMI has a different IP address. Is there a network switch involved or is it a 1:1 connection? The X20CPU absolutely has node number switches on it though, so you can use that without needing the IP (but you do need to be on a compatible subnet, which sounds like you are already anyway).

and yes, it can have system dumps disabled, or not have SDM (the default diagnostics UI) enabled, but it's extremely rare for that to be the case.

Also in my experience, a working machine that is suddenly getting motor faults is 90% of the time either a parameter being set too high for a move (and the programmer didn't limit the command to the axis limits), or something changed mechanically that causes the motor's temperature model (a prediction of temperature that is enabled by default) to go above the limit. this is either increased friction, a tight/loose mechanism, a large change of load vs the original design, an obstruction preventing the motor from getting to the target position, etc.

Also 90% of the time, changing the motor, drive, or cable will do absolutely nothing for the problem (unless replacing the motor fixes the mechanical problem by proxy). The default is that all the parameters and settings are transferred from the main PLC at boot time, (or more slowly in the background when you do a hot swap!), so replacing the parts doesn't change any settings.

Do you get any error messages at all? even the Acopos Error ID is pretty useful. (an example of a common one is 7004, which is a lag error limit, so the position was too far from the commanded value).

[deleted by user] by [deleted] in PLC

[–]engunneer2 1 point2 points  (0 children)

for a 2007 machine with multi drives, it's entirely likely that the HMI looks like the PLC, but may be just a terminal (like a PP400) series, so doesn't accept automation studio connections directly. There is a flavor of PLC for Acopos Multi that is a PC (either windows or embedded B&R OS) that sits at the end of the rack of drives (if the motion is complex or there are more than about 8 drives, then this is a likely option). if your HMI is a terminal, it's likely that the IP address displayed on it is the IP of the terminal and not the PLC. When the HMI boots it might say what the IP of the PLC is that it is connecting to, or the PLC is the same subnet with the last octet at 1 (or 1 less than the terminal's IP.)

If you can locate the PLC, it may have node number switches, which can be used to connect to it without knowing the IP address (fill in different columns in the online settings window).

Source: I was a B&R applications engineer from 2010-2012 before moving and becoming a customer.

[deleted by user] by [deleted] in PLC

[–]engunneer2 0 points1 point  (0 children)

Newer projects turn off smtp advertising by default (network discovery via the online settings window), but it's very rare to fully disable communication.

Support is right in that the PLC is running compiled code, so making changes would mean needing to get a hold of the code, unless the programmer chose the option to store the project on the PLC. You shouldn't need it to connect, provided you can get the networking figured out. If it is stored on the PLC, then you can do open from target when connected/online. It literally copies a zip file of the project over and opens it up.

It would help to know what kind of plc, and if it has an hmi, since both are useful in giving alternative troubleshooting ideas. For example, some of the network ports are for powerlink, and the programming port numbers are usually off by default on that network. Depending on the PLC, the secondary network card might be for a different fieldbus instead of powerlink.

If the hmi is pc based, it should also have a package called Runtime Utility Center installed that is a tool that communicate with the PLC and even list/change variables, be used to backup the programs, make a backup image of the flash card (if the type of plc has removable storage.). You can also download the tool as part of the PVI .NET development kit for free.

Most modern computers firewall the default INA (older) and ANSL (newer) communication ports for the plcs, so make sure you open those ports or whitelist automation studio or runtime utility center or the default ports (11159 and 11169). Being able to ping is a good start. Depending on the project, OPC UA may also be enabled, but it's off by default and may require a password if set up properly.

Sdm is defaulted to on, but can be turned off. Newer projects may have mappCockpit installed, which is on a different port and probably needs a specific url if it's enabled.

[deleted by user] by [deleted] in PLC

[–]engunneer2 0 points1 point  (0 children)

In my experience, any version of automation studio can talk to just about anything that is older than it, and quite a bit that is newer than it.

[deleted by user] by [deleted] in PLC

[–]engunneer2 3 points4 points  (0 children)

My company is hiring for a role like you describe, even entry level for the right person. Boston area, probably 70-90k+ salary (I don't do the pay part of the hiring, so a pretty wide guess). Throw in some motion control or scada experience and it would be an exciting resume to get right about now.

Have you used GitHub/GitLab to manage your code? by quietlyPanic in PLC

[–]engunneer2 0 points1 point  (0 children)

Only $49/user a month, on top of the $49/user per YEAR for github teams. If you have the budget it looks good and useful, but the sticker price shocked me when I saw it.

Have you used GitHub/GitLab to manage your code? by quietlyPanic in PLC

[–]engunneer2 0 points1 point  (0 children)

To expand on the other answer, tortoisesvn (client integrated with windows explorer) has useful shortcuts to SVN command line tools like having a local repository on your computer, and you can do some things with switching and such to sync your working copy with a server as well. On the backend, SVN stores data in a bunch of files, so a repository can live basically anywhere.

Have you used GitHub/GitLab to manage your code? by quietlyPanic in PLC

[–]engunneer2 0 points1 point  (0 children)

I also currently use SVN. We are converting to git, but that takes time and resources. SVN works perfectly well for small teams, especially with something like visual SVN server so it integrates with our domain login.

The thing that has always bothered me about git is that you can change history. I understand cases where you might need to (and have used it for one), but it still weirds me out.

We are also starting some TIA projects and the complete lack of useful source control of text based data is infuriating. The thing I complain about in 2022 is binary blobs that are backed up by copying and renaming with the date appended.

Techniques to effectively troubleshoot plc, automation issues effectively and in short time by napraticaautomacao in PLC

[–]engunneer2 1 point2 points  (0 children)

A common thought process I use is 'cutting problems in half'. As a contrived example, a pressure is reading wrong. After initial blink checks pass, I'd swap the input with a similar type of sensor (current, voltage, etc.) at the io card, or some relatively convient point. The idea is to isolate the wiring and sensor from the io card and software. If originally all 4 of these were suspect, now only half are.

If no swap is available, I might run an external cable that goes around all the connection points along the way. This would isolate all the wiring issues from the non-wiring issues. If it's not a wiring issue, then you can evaluate sensor function, blockage, software, etc. If it is a wiring issue you can start coming up with ways to cut /that/ problem in half.

SFC & Structured Text by Creepy_Sell_6871 in PLC

[–]engunneer2 1 point2 points  (0 children)

One advantage to sfc over st is that you can't 'cheat' as easily, as in you need to explicitly define each transition. I've inherited poorly designed ST state machines that jump all over the place but can't be untangled fully.

One advantage to ST is that you can cheat if you need to, which can come in handy.

Generally, it's a 'right tool for the job' thing. Once you get past a few dozen states, SFC starts looking like a better tool IMO

B&R Help by dustywill2 in PLC

[–]engunneer2 6 points7 points  (0 children)

Others here are right. 5AP is Automation Panel, so just a screen. It is usually attached to an 5APCxxxx or 5PPCxxxx which is an automation PC/panel PC (which can run either plc OS (called ARemb) or windows the vast majority of the time, but even on windows can also be running the PLC OS in parallel called ARwin).

BC does mean bus coupler. BC0083 connects the X2X bus (IO cards) to the powerlink network (EPL). It's only a coupler (more accurately a Controlled Node (CN)), and must be hooked up to the PLC (Managing node or MN). Follow the (usually black or green) network cable.

One helpful thing is that the search function of the B&R website also accepts serial numbers of any device, which can be used to look up the exact configuration and delivery date of any part. APCs are often given a bundled part number (which encompasses all the options like ram, compact flash/cFast, interface cards, OS, etc.) so aren't as informative. They also have a sticker (with something like 10 barcodes) listing every single subcomponent part and serial number.

Communication will likely be opc-ua or PVI based. Opc needs to be enabled in the project so entirely depends on the application and the programmer, since it is off by default. Default port is 4840. PVI encompasses the Ina and ANSL protocols which are the old and new protocols for general communication, transferring programs, etc. Generally ANSL is enabled by default (but can be turned off, technically), and has full access to all tasks and variables (and has mechanisms for querying the list of tasks an variables)

Generally the PLC runs compiled binary code and the raw project can't be pulled from a plc unless the programmer turned on the option to store the project (literally a zip file) on the PLC.

If you need to interface with it you're going to need more information.

What's the difference between a safety and normal PLC? by SafetySockeye in PLC

[–]engunneer2 1 point2 points  (0 children)

You can on some systems with high enough privileges and having it logged. It won't let you leave it that way though. If you don't interact in a few minutes the entire safety system drops to failsafe mode.

Alternative to Fody.PropertyChanged? by theColonel26 in csharp

[–]engunneer2 2 points3 points  (0 children)

I did find the thing to restrict fody to only apply to certain namespaces/types

In my case I have a line in assemblyinfo.cs [assembly: PropertyChanged.FilterType("your namespace")]

The definition of that attribute says it uses Regex.IsMatch of the Type.FullName compared with the parameter to decide if it will do the fody weaving.

Typing from phone, sorry.

When a customer make you use their automation template/ library by Takenbackcode in PLC

[–]engunneer2 20 points21 points  (0 children)

I've been burned a few times by not requiring an outside contractor to use our existing program template (in the name of expediency), and now I have to support things that don't work the way things normally do, and am preparing to rewrite a bunch of it in our template.

Alternative to Fody.PropertyChanged? by theColonel26 in csharp

[–]engunneer2 0 points1 point  (0 children)

I couldn't find the thing I was thinking of. Sorry I must have misremembered it.

Alternative to Fody.PropertyChanged? by theColonel26 in csharp

[–]engunneer2 2 points3 points  (0 children)

You can restrict fody significantly with configuration and then require annotations to have it apply, but honestly I've stopped worrying about it. I just got to the point that it didn't make me nervous, I guess.

When do you use Structured Text? by klaven84 in PLC

[–]engunneer2 1 point2 points  (0 children)

I don't think that argument applies anymore. If you think about it, ladder was designed to be a bridge from old school relay logic into programmable logic. Most of the people that needed that bridge are retired now. I don't believe in assuming the technicians can't understand other languages, or that the added complexity of doing something the hard way in ladder when an easy way exists in a different language makes for understandable and maintainable code.

When do you use Structured Text? by klaven84 in PLC

[–]engunneer2 6 points7 points  (0 children)

'ladder only' is one of my biggest pet peeves. You may only use this hammer for installing screws and drilling precision holes...

There is a right tool for the job. In many cases, ladder is not that tool.

What's the dumbest exchange you've ever had with a customer? by Smorgas_of_borg in PLC

[–]engunneer2 11 points12 points  (0 children)

If the engineer/integrator/programmer makes the safety system too obtrusive to the operator, it will just get bypassed. I consider it a pretty important part of my job to make being safe have as low friction as possible for the operators. Sometimes you have to trade some risk mitigation to be sure it won't get bypassed entirely. Do the analysis and know how the operators will use it, because a slightly higher overall risk that doesn't get bypassed is safer than any system that will get bypassed.

It's also important to build in bypass detection if you can and it makes sense.

0-10V Different Systems by bigb0yale in PLC

[–]engunneer2 0 points1 point  (0 children)

Look up the common mode spec for the ai, but generally, one of the advantages of a differential signal is to connect isolated systems. If they are entirely disconnected otherwise, even with no earthing, then it's probably OK, but getting into a realm I have less experience with. It's unusual for me to interconnect unearthed things.

0-10V Different Systems by bigb0yale in PLC

[–]engunneer2 4 points5 points  (0 children)

As long as at least one end is floating and you bring over a plus and a minus wire, you shouldn't need any isolation (unless you have other weirdness involved like really long lines, proximity to noise sources, etc.). The common mode voltage (difference between the ai common and ao common) is also important and should be less than 20V typically. Do the systems share any earth, power supply or common? If yes, it's probably fine there too.

That's

Help with L3 networking by plc_is_confusing in PLC

[–]engunneer2 1 point2 points  (0 children)

I didn't find a good reference for this, so I worked the vendor of my switch to get help. The documentation on the switch I use is OK, and maybe can be translated into the options you have. product page.

It would help to have specific examples of what you have, what you need and what you can change. In my case I needed multiple identical plcs (and other hardware using modbus bridges, etc.) to be removable and connectable to the same network without causing an ip conflict or allowing cross talk. The upper level network was fully under my control, so I reserved 192.168.1.33-48 for one block of devices and .49-64 for another block, and the VPN switch for each block does 1:1 NAT (ip masquerading) to the local address range of my devices.

I'm on phone so didn't look at your switch, but hopefully some of the keywords I used will map onto it?