/r/PLC

Photograph via snooOG

This sub is dedicated to discussion and questions about Programmable Logic Controllers (PLCs): "an industrial digital computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, robotic devices, or any activity that requires high reliability, ease of programming, and process fault diagnosis."

Description

This sub is dedicated to discussion and questions about Programmable Logic Controllers (PLCs): "an industrial digital computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, robotic devices, or any activity that requires high reliability, ease of programming, and process fault diagnosis."

On topic subjects

  • News and articles about PLCs
  • Questions about PLCs
  • Homework help; but make it clear it's homework
  • PLC internship, employment and education questions

Off topic subjects

Rules

  1. Be civil: do not insult; no all-caps, no excessive "!" and "?", please.
  2. Submissions must be on topic
  3. If asking a question, ask the actual question, fully yet concisely, right in the title
  4. No spam; no self-promotion (*); no commercial content. Any ads (offer or wanted) go to the weekly thread
  5. No shit posts (memes - pictures with superimposed text - are OK)

(*) At mods' discretion, certain self-promotion submissions from people who contribute to this sub in other ways may be allowed and tagged with the "Self-promo" flair

Complete rules:/r/plc/about/rules/

Please click "report" on spam

Related sub-reddits:

/r/IndustrialAutomation

/r/processcontrol

/r/controltheory

/r/askengineers

/r/askelectronics

/r/arduino

/r/EngineeringResumes

/r/PLC

92,706 Subscribers

1

Cognex Inspection issue

Hi I am trying to get a cognex camera to inspect variable information that has a special character (-). For the most part it recognizes the dash and passes but every here and then it causes the label to fail for the dash because it is not recognized. I have trained the dash multiple times in the library and everyone that failed I trained on the failed one as well. From looking at it you can’t see an issue so I do not know why it keeps failing randomly. Any advice?

0 Comments
2024/11/23
01:25 UTC

1

Very interested in pursuing a career in PLC systems and controls

Im 23 years old and recently got thrown to the wolves working at a commercial greenhouse. I was thrown into the world of PLCs, Argus Systems, 3 phase motors, etc. I have to say after experiencing my first dead short (bad motor starter) and almost shitting myself standing on a 20ft scaffold I was sold. In all seriousness though, once I got better at understanding the schematics and understanding circuits I fell in love. Being able to look at a rats nest of wires and effectively troubleshoot really brightened my day. Originally I was hired to be a plumbing mechanic but imo wiring and controls is way cooler and it also still directly involves plumbing via solenoid valves and heating systems. (Not sure why there is so much animosity between the two trades....)

I would like to stay in the greenhouse industry. I'm very fascinated by automated climate control, irrigation, lighting, motors, etc. I was wondering if anyone on this forum works with control systems in greenhouses and if they have any advice on what my next step should be. The greenhouse I was working at was only a temporary gig. I do not have a degree, only 1 year experience with control systems. I am defintely an amateur and have a lot to learn. Prior to this I was working as a plumber for 3 years. Would it be benefital for me to look into some type of schooling or is on the job training the way to go. Persoanlly I learn better hands on but if a technical degree will open up more doors for me it is something I would defintely consider. From what I've read so far on this forum it seems like a lot of you guys work in manufacturing plants or just about anywhere that operates automated electrical machinery. Any advice on what I am to expect job oppurtunity wise once I'm better trained would be greatly appreciated. I live in New Jersey 15 minutes from NYC, so I'm assuming there would probably be oppurtunities there.

0 Comments
2024/11/23
01:00 UTC

1

Codesys issues

I have the basic version of codesys, it was free to download and use. I can’t run any tests or simulations on it. I can’t find anything other than a website that’s in German on a different version to download. Does anyone know of how to get a better version of it? Free or not I’m trying to teach myself how to program so I will gladly spent money to learn.

1 Comment
2024/11/23
00:44 UTC

3

FTView SE Help

Hello! I'm working on an application in FTView SE(network distributed) and am having trouble creating a device shortcut in the communications setup. I've added the new shortcut and named it but when I click on the controller (1756-L18E) and try to apply the shortcut it doesn't get assigned even though the apply button gets greyed out once I do hit apply. The text at the bottom still says "click apply button to assign selected path to this shortcut". Even when I click OK, it isn't saved. Not sure how to proceed from here since I've never encountered this issue when working with FTV SE and would really appreciate some help!

3 Comments
2024/11/22
20:44 UTC

4

Leaving a cushy maintenance role

Hi all I’m stuck between a rock and a hard place and need serious advice as I have no one to turn to really who has made this sort of move.

I am 22 years young, time served apprenticeship and now worked my way up to the main electrical tech on my shift.

I look after anything and everything with wires, all Siemens PLC, line controls, program edits etc, within food and bev industry in Uk.

I currently earn 56k however there is no room for growth where I am now, the job now after doing it for a couple years has became relatively easy where sometimes I go entire shifts without doing anything and I do value that I am lucky to have a laid back role.

On the other hand I love learning and being challenged with technical stuff and my boss allows me to take on the more challenging background projects as he knows I enjoy them which I also value.

I have a job offer for an automation engineer position that has a 40k base pay. However this offers global travel working all over the world in ports and offshore vessels.

Every week in away is 1k extra, so I’d only need 16 weeks a year to break even with current base.

They also are promising so much progression to me and loads of training to upskill me even more; and basically saying once trained fully it will be around a 60k base with all the working away on top.

How much more stressful is a role like this? Is it too early for me?

Please I want opinions off everyone on what think I should do.

I can sit and be comfortable where I am forever potentially or do I take a risk now? Does it pay off for people?

26 Comments
2024/11/22
20:12 UTC

35

Thank you all!

A little over a year ago I posted to this sub after a sudden layoff, just asking for advice on finding new work in the industry with under a years experience in PLC.

You all were not only amazingly supportive and gave me some great leads on jobs.

The bigger surprise is that I not only found a job from that post…but I also found a husband! I ended up meeting my now husband at that job (sometimes I even give him a bucket to sit on AND a trash can to put his laptop on!)

So anyway, I just wanted to thank the person who helped facilitate all that (you know who you are!), and thank all of you! You all gave me the confidence to keep fighting to grow my career and coincidentally XIC my heart.

4 Comments
2024/11/22
19:41 UTC

86

Anger Issues

Well I guess somebody has anger issues. Jeez They got walked out and I got called over and asked “how long?” Gee , dunno. They are obsolete. Have a spare? lol. It was in pretty good shape too. Usually the membrane switches go bad.

55 Comments
2024/11/22
18:19 UTC

2

IO Link Device for testing

Hello! I need to read an IO Link device from a microcontroller, I need some recomendations on inexpensive io link sensors/actuators for testing the microcontroller readings before the final test with an industrial flow meter.

Thank you!

12 Comments
2024/11/22
16:29 UTC

5

What does a PLC technician do?

Hi, im 19 years old and work as an industrial spray painter. I don't hate but don't love my job either. I work in a manufacturing plant spraying caskets all day. I am looking and potential career options. I think our maintenance techs have a cool job and are jack of all trades. I am alright with the trades except for traveling trades. I want to know what a plc technician does, how to become one, and what the pay is like? I only make 23.44 an hour as a sprayer. I'd personally like to make at least 30 an hour.

32 Comments
2024/11/22
16:20 UTC

2

Anyone run a Rockwell VPL on a Beckhoff AX5000/AX8000 drive?

Long story short, we're making an R&D machine and we want to run the same servo motors with Rockwell, Beckhoff, and B&R. I'm being pressured to use our standard Rockwell servos on this machine since our current production machine is Rockwell.

The VPL motors have two wire Hiperface DSL for encoder feedback. I see the AX5000 supports Hiperface, but it doesn't specifically say DSL. Is this covered by the OCT/does AX5000 do OCT?

Looks like the AX8000 will work fine with the OCT pins, but AX8000 may be overkill for this R&D machine. I'd probably only use it if the AX5000 won't do it.

1 Comment
2024/11/22
15:25 UTC

1

LOGO!8 Help with Local Variables

This is my first go with programming a LOGO!8 device and I have a question about using Local Variable Memory (VM).

The program is a simple garage door opener for two doors. That should behave as follows...

Push button 1 - Door 1 opens/closes.

Push button 2 - Door 2 opens/closes.

Send a MQTT packet {"state":{"Door1TrgMQTT":{"value":[1]}}} - Door 1 Opens/Closes

Send a MQTT packet {"state":{"Door2TrgMQTT":{"value":[1]}}} - Door 2 Opens/Closes

These triggers work & function great.

What I want is to be able to send a single MQTT command to a input(I guess) to trigger output.

From my experiments I have found that this works with an "Network Input" looking at a VM location "VB0,0" or "VB1,0", configured as BYTE, for door 1 and door 2 respectively.

This functioned but required both a MQTT with "1" as a payload to trigger door, and a MQTT with a "0" to reset the trigger.

I only wish to send a single command (a "1" to trigger), then have it reset and wait for the next MQTT packet with a "1" before triggering again.

So now I'm trying to clear VM locations VB0,0 and VB 1,0 with an "Network Output" that is done when the input is triggered.

This works to reset the Input so that I can send MQTT "1" over and over, and have the trigger function each time without sending MQTT "0" in between.

However...

If MQTT command "1" is used at anytime, on the next power cycle of the LOGO!8, the related door(s) will trigger unexpectedly.

Unless I had sent a "0" specifically through MQTT before powering off. Then there is no issue on power up.

Anyone have advice as to how to "properly" configure this? Or suggest a different soloution.

I am a hobiest self learning, so I do not have much in the way of experience with PLC programming.

https://preview.redd.it/eaionzsj0h2e1.jpg?width=1277&format=pjpg&auto=webp&s=f99b065f0ae143fd688a3f9e217dd8bb8dc0cdc4

1 Comment
2024/11/22
15:22 UTC

140

Favourite service call of all time

This is my winner call out for a PLC repair where customer said something is wrong with the PLC, the unit doesn’t run.

If you look close, you can see where the 1100 Micro used to be. Lmfao

58 Comments
2024/11/22
15:09 UTC

1

Folders Under Program Tags Studio 5000 V34.11

https://preview.redd.it/pom2bjkzug2e1.png?width=331&format=png&auto=webp&s=f64bf97dc3d1ea43ca001ded389efe444addc6c2

I am looking through program tags and as normal you have the option of looking at routine specific tags, but I found these folders within the program tags. Does anyone know how these folders are created? What are these folders? They've been created to help sort tags as the C folder has counters, F has faults, I has inputs, N has more faults and O has outputs. I have never seen anything like this before. Any info would be helpful.

1 Comment
2024/11/22
14:56 UTC

1

anyone knows why TIA Portal V16 crashes everytime I try to download from device?

Hello everyone,

I have a problem with TIA Portal V16. Im trying to do a backup from a S7-1200 and everytime I try to download the program from the plc to my pc TIA Portal Crashes.

I tried to create a new project from scratch and update the TIA Portal as well but anything worked.

Has anyone a idea of whats going on?

I cant attach the .dr file, so heres the link: 

https://mega.nz/file/xhlQBRqB#_p7qB2MCYUM5govs7aonOJhpOIYL7WfQGryj26VxFIA

Thank you in advance,

0 Comments
2024/11/22
08:08 UTC

2

Possible to reboot PanelView over network / tag?

Hey folks,

I’ve got a PanelView that seems to be getting ready to kick the bucket. Until I can replace it over shutdown next month I have to try and limp by. Every once in a while, all the tag values become “??????” and it seems to lose connection to the PLC. I can still ping and open a VNC connection to it.

To fix this issue, I cycle power to it. It is in a clean room which I cannot walk into, so I typically cycle power to it by pulling the power wire from an external cabinet. Today I had the idea to reset it remotely by downloading the current running program to the HMI and setting it to default, which forces a power reset. Well, that got me thinking. Is there a way I can cycle power to the HMI remotely? I can VNC to it, but it freezes up so I cannot reach the config screen to reset there. The download is just a little more time consuming than I’d like.

23 Comments
2024/11/22
13:50 UTC

2

ifix issue - all animations blank

anyone ever run into this? when i right click and go to animations all the fields are blank. there are animations there, everyone else can see the setting under their dev setups but mine all disappeared. I can create an animation and then go back in and see what I made but any prior ones show nothing tho still work.

is there a way to delete all the cache for pictures? i have that setting off by default but who knows i figure its worth a try.

0 Comments
2024/11/22
13:25 UTC

20

Omron plc NX1P2 help

When every thing is done while checking the correct IO with plc by manually triggering it I am feeling difficult is there any wireless device and software which connect to the plc and mobile to show the active IO triggered...

7 Comments
2024/11/22
13:17 UTC

1

A/B 1764 MSG to Panasonic FP-7

Hey all,

I need to read a couple tags out of a Panasonic FP-7. The FP-7 has TCP/IP. I am not able to get the standard MSG instruction working as its erroring for comm path. I am thinking maybe something has to be done on the Panasonic side. Reading the manual I see the FP-7 has a communications tab where I can seemingly set up a destination IP address to open comms, however I can't seem to het it to work. Was wondering if anyone has set up comms between the 2 PLC's?

Thanks

0 Comments
2024/11/22
13:11 UTC

1

TIA Portal V16 Crashes everytime I try to download from device. Why?

Hello everyone,

I have a problem with TIA Portal V16. Im trying to do a backup from a S7-1200 and everytime I try to download the program from the plc to my pc TIA Portal Crashes.

I tried to create a new project from scratch and update the TIA Portal as well but anything worked.

Has anyone a idea of whats going on?

I think i cant attach links here, my first post was removed. If you need the .dr file i could send it to you.

Thank you in advance,

Edit:

please be kind im a n00b hahah im trying my best

Stack Trace from the .dr file

Stack Trace▼

Exception▼

Stack TraceStack Trace▼

Exception▼

System.NotImplementedException:

No se puede implementar el método o la operación.

Exception properties▶

Call stack▼

  • Siemens.Simatic.Lang.IdentManager.DOL.DependencyAbstraction.SplGlobalConstants.ImSplConstantSubsystem.CreateConstant(String name, TypeClass type, String value)▶
  • Siemens.Simatic.Lang.IdentManager.DOL.IdentBl.GlobalConstant.AdaptFromOnline(Func`3 func)▶
  • Siemens.Simatic.Lang.IdentManager.DOL.Workflow.IdentManager.AdaptFromOnlineInternal(Func`3 findCurrentUploadedBlock)▶
  • Siemens.Simatic.Lang.IdentManager.DOL.Workflow.IdentManager.AdaptFromOnline(Func`3 findCurrentUploadedBlock)▶
  • Siemens.Simatic.Lang.BlockLogic.DOL.Online.Upload.PlusUploadRun.IUpload_PostUploadAction()▶
  • Siemens.Simatic.Lang.BlockLogic.DOL.Online.Plus.Upload.PlusBlockConsistencyService.Siemens.Automation.DomainServices.IUpload.PostUploadAction(Int32 id)▶
  • Siemens.Automation.DomainServices.LoadService.UploadTargetRealUpload.PostUploadAction()▶
  • Siemens.Automation.DomainServices.LoadService.UploadDeviceRealUpload.PostUploadAction()▶
  • Siemens.Automation.DomainServices.LoadService.UploadService.PostUploadAction()▶
  • Siemens.Automation.DomainServices.LoadService.UploadCommandService.ExecuteUpload()▶
  • Siemens.Automation.DomainServices.LoadService.LoadCommands.Siemens.Automation.CommonServices.ICommandTarget.Execute(ICommand command)▶
  • Siemens.Automation.CommonServices.CommandProcessor.DoCommand(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • ADIAG: Pasted stackframe beneath. Do not take this call for granted▶
  • Siemens.Automation.CommonServices.CommandProcessor.Execute(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.ProxyCommandProcessor.Siemens.Automation.CommonServices.ICommandProcessor.Execute(ICommand command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.DomainServices.UI.LoadService.StateEngineUploadBase.DoLoad()▶
  • System.Windows.Forms.Control.OnClick(EventArgs e)▶
  • Siemens.Automation.UI.Controls.Button.OnClick(EventArgs e)▶
  • System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)▶
  • System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)▶
  • System.Windows.Forms.Control.WndProc(Message& m)▶
  • System.Windows.Forms.ButtonBase.WndProc(Message& m)▶
  • System.Windows.Forms.Button.WndProc(Message& m)▶
  • System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)▶
  • System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)▶
  • System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)▶
  • System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)▶
  • System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)▶
  • System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)▶
  • System.Windows.Forms.Form.ShowDialog(IWin32Window owner)▶
  • Siemens.Automation.DomainServices.UI.LoadService.UploadUI.Execute(ICommand command)▶
  • Siemens.Automation.DomainServices.UI.LoadService.LoadCommandsUI.Siemens.Automation.CommonServices.ICommandTarget.Execute(ICommand command)▶
  • Siemens.Automation.CommonServices.CommandProcessor.DoCommand(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.CommandProcessor.Execute(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.ProxyCommandProcessor.Siemens.Automation.CommonServices.ICommandProcessor.Execute(ICommand command)▶
  • Siemens.Automation.DomainServices.UI.LoadService.LoadCommandsUI.Siemens.Automation.CommonServices.ICommandTarget.Execute(ICommand command)▶
  • Siemens.Automation.CommonServices.CommandProcessor.DoCommand(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.CommandProcessor.Execute(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.ProxyCommandProcessor.Siemens.Automation.CommonServices.ICommandProcessor.Execute(ICommand command)▶
  • Siemens.Automation.FrameApplication.Toolbar.CommandManagedToolObject.ExecuteCommand(IWorkingContext workingContext, ISelectionProvider selectionProvider, NameObjectCollection commandArgs)▶
  • Siemens.Automation.FrameApplication.Toolbar.CommandManagedToolObject.ToolBarItemClicked(Object sender, EventArgs e)▶
  • Siemens.Automation.UI.Controls.DefaultActionItem.OnClick()▶
  • Siemens.Automation.UI.Controls.DefaultActionItem.Execute()▶
  • Siemens.Automation.UI.Controls.AbstractControllerBase.ExecuteBarItem(IBarItem barItem)▶
  • Siemens.Automation.UI.Controls.ClickExecuteController.OnMouseUp(IBarItem barItem, MouseEventArgs mouseEvent)▶
  • Siemens.Automation.UI.Controls.DefaultToolBarController.OnMouseUp(IBar bar, MouseEventArgs mouseEvent)▶
  • Siemens.Automation.UI.Controls.ToolBarControl.OnMouseUp(MouseEventArgs e)▶
  • System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)▶
  • System.Windows.Forms.Control.WndProc(Message& m)▶
  • System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)▶
  • System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)▶
  • System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)▶
  • System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)▶
  • System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)▶
  • System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)▶
  • Siemens.Automation.Basics.Synchronizer.ThreadSynchronizer.PrivateRunBase(Form mainForm)▶
  • Siemens.Automation.Basics.Synchronizer.ThreadSynchronizer.Siemens.Automation.Basics.Synchronizer.ISynchronizer.Run(Form mainForm)▶
  • Siemens.Automation.FrameApplication.Bootstrapper.AppLoader.Siemens.Automation.Basics.Bootstrapper.IStarter.Run(CommandLineArguments commandLineArguments, InitializationCompletedCallback onInitializationCompleted, ISplashScreen splashScreen)▶
  • Siemens.Automation.Portal.ApplicationLoader.Run(String[] args)▶
  • Siemens.Automation.Portal.Program.Main(String[] args)▶
  • Siemens.Automation.CommonServices.CommandProcessor.Execute(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.ProxyCommandProcessor.Siemens.Automation.CommonServices.ICommandProcessor.Execute(ICommand command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.DomainServices.UI.LoadService.StateEngineUploadBase.DoLoad()▶
  • System.Windows.Forms.Control.OnClick(EventArgs e)▶
  • Siemens.Automation.UI.Controls.Button.OnClick(EventArgs e)▶
  • System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)▶
  • System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)▶
  • System.Windows.Forms.Control.WndProc(Message& m)▶
  • System.Windows.Forms.ButtonBase.WndProc(Message& m)▶
  • System.Windows.Forms.Button.WndProc(Message& m)▶
  • System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)▶
  • System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)▶
  • System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)▶
  • System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)▶
  • System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)▶
  • System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)▶
  • System.Windows.Forms.Form.ShowDialog(IWin32Window owner)▶
  • Siemens.Automation.DomainServices.UI.LoadService.UploadUI.Execute(ICommand command)▶
  • Siemens.Automation.DomainServices.UI.LoadService.LoadCommandsUI.Siemens.Automation.CommonServices.ICommandTarget.Execute(ICommand command)▶
  • Siemens.Automation.CommonServices.CommandProcessor.DoCommand(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.CommandProcessor.Execute(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.ProxyCommandProcessor.Siemens.Automation.CommonServices.ICommandProcessor.Execute(ICommand command)▶
  • Siemens.Automation.DomainServices.UI.LoadService.LoadCommandsUI.Siemens.Automation.CommonServices.ICommandTarget.Execute(ICommand command)▶
  • Siemens.Automation.CommonServices.CommandProcessor.DoCommand(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.CommandProcessor.Execute(ICommandInternal command, CommandProcessingStrategy commandProcessingStrategy)▶
  • Siemens.Automation.CommonServices.ProxyCommandProcessor.Siemens.Automation.CommonServices.ICommandProcessor.Execute(ICommand command)▶
  • Siemens.Automation.FrameApplication.Toolbar.CommandManagedToolObject.ExecuteCommand(IWorkingContext workingContext, ISelectionProvider selectionProvider, NameObjectCollection commandArgs)▶
  • Siemens.Automation.FrameApplication.Toolbar.CommandManagedToolObject.ToolBarItemClicked(Object sender, EventArgs e)▶
  • Siemens.Automation.UI.Controls.DefaultActionItem.OnClick()▶
  • Siemens.Automation.UI.Controls.DefaultActionItem.Execute()▶
  • Siemens.Automation.UI.Controls.AbstractControllerBase.ExecuteBarItem(IBarItem barItem)▶
  • Siemens.Automation.UI.Controls.ClickExecuteController.OnMouseUp(IBarItem barItem, MouseEventArgs mouseEvent)▶
  • Siemens.Automation.UI.Controls.DefaultToolBarController.OnMouseUp(IBar bar, MouseEventArgs mouseEvent)▶
  • Siemens.Automation.UI.Controls.ToolBarControl.OnMouseUp(MouseEventArgs e)▶
  • System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)▶
  • System.Windows.Forms.Control.WndProc(Message& m)▶
  • System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)▶
  • System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)▶
  • System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)▶
  • System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)▶
  • System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)▶
  • System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)▶
  • Siemens.Automation.Basics.Synchronizer.ThreadSynchronizer.PrivateRunBase(Form mainForm)▶
  • Siemens.Automation.Basics.Synchronizer.ThreadSynchronizer.Siemens.Automation.Basics.Synchronizer.ISynchronizer.Run(Form mainForm)▶
  • Siemens.Automation.FrameApplication.Bootstrapper.AppLoader.Siemens.Automation.Basics.Bootstrapper.IStarter.Run(CommandLineArguments commandLineArguments, InitializationCompletedCallback onInitializationCompleted, ISplashScreen splashScreen)▶
  • Siemens.Automation.Portal.ApplicationLoader.Run(String[] args)▶
  • Siemens.Automation.Portal.Program.Main(String[] args)▶

Exception▼

3 Comments
2024/11/22
08:15 UTC

4

officially confused about siemens safety outputs capabilities

hi All

I am confused about siemens safety outputs capabilities - for example ET200SP modules.

This card has got outputs but also inputs. The inputs could be used to wire a feedback from the field device eg. when outputs energises the contactor then auxiliary contact from the contactor could be wired back as input to indicate that the contactor was indeed energised. Can you please share you knowledge on the following:

  1. i assume FBACK block could be used to connect feedback signal from the field and the output and also to configure a timer after which an error will be indicated if the contactor was not energised.
  2. If i dont have physical feedback from the device is there any point creating tags for the inputs on that safe output card. Can outputs be wired back as inputs to indicate that they actually worked?
  3. If you have safety digital output controling relay safe output card with 2 IO as feedback on that card - how feedback should be handled in that scenario? should it be wired from the relay safety card back to the inputs of the safety output?

as a side note: the text below suprised me as I thought OSSD is providing feedback for the outputs but the text below suggest basically dont know whether the output was turned on or not- really suprised if the feedback from the field is the only way but obviously sometimes not available or possible

The F-DO modules themselves do not inherently provide internal feedback regarding the state of their outputs. Instead, they rely on external feedback signals from the field devices to confirm correct operation. For example, when controlling a contactor, an auxiliary contact on the contactor can be wired back to a fail-safe digital input (F-DI) module. This setup allows the system to monitor the contactor's actual state and verify that it matches the commanded state, thereby ensuring the integrity of the safety function.

In summary, Siemens F-DO modules depend on external feedback from field devices to confirm the execution of output commands, as they do not possess internal feedback capabilities for this purpose.

BIG CAKE FOR ALL WILLING TO HELP AND SHARE YOUR VALUABLE KNOWLEDGE

THOSE WHO JUST WANT TO RIDICULE PLEASE DO NOT BOTHER REPLYING!

11 Comments
2024/11/22
07:54 UTC

2

PLC help

Hello, new to programming

How many inputs or ‘ands’ can you put into your logic to lead to one output.

Hypothetically I would like to put 10 and conditions (positions of valves) before powering the output (air pressure)

12 Comments
2024/11/22
04:11 UTC

1

Sourcing Output Question for Productivity 2000 PLC HSO Module

Hello guys,

Quick question, I plan to use sourcing outputs on my P2-HSO module for a Productivity 2000 PLC. I specifically will use output #3, which is labeled on the breakout board as Out3 SNK and Out3 SRC).

So I applied 24V to the Out SNK pin of the P2-HSO breakout board and I applied a load to the Out3 SRC pin. For some reason, whenever the condition is set to energize output 3, the coil does not become energized! Am I doing something wrong? I was thinking it could be a wiring issue or a hardware configuration issue.

Here is a visual of the schematic supplied by Automation Direct and link to the product:

Pulse Output Module: 1 MHz maximum switching frequency (PN# P2-HSO) | AutomationDirect

https://preview.redd.it/kcvobd0wtc2e1.png?width=1132&format=png&auto=webp&s=dd6f95a00fc88e7d5e74d18552b00b4472594a7b

Thanks for your help!

6 Comments
2024/11/22
01:20 UTC

51

Automation Fair 2024Highlights

Earlier in the week we had this discussion on Automation Fair 2024. https://www.reddit.com/r/PLC/s/eVASXcFjSD

Now that AF is over what blew you away? I'll start.

  • Unable to go 5 minutes without hearing AI even if the discussion had absolutely nothing to do with AI.
  • Rockwell's partnership with Red Hat and adoption of Ansible.
  • General discussions of open data models.
  • Ethernet/IP in cabinet, AS-i like media for Ethernet.
  • FactoryTalk Design Studio integrated Copilot.
  • FactoryTalk Design Studio integrated version control. Finally Git like VCS for AB PLCs!
  • 5590 Controllers, but these look like they are a year out.

See ya in Chicago 2025

62 Comments
2024/11/21
23:50 UTC

9

Anyone using Haiwell Scada3? Here's my review.

Haiwell Scada3

Basically, it's the Aliexpress Ignition. It's not perfect, but absolutely great value for smaller projects. Can't beat free, I love it very much!

Pros:

  • It's proprietary, but free for both personal or commercial use. It's primarily made for HMI screens, but can run on PC as simple and cheap visualization.

  • Runs on any Windows PC or IPC, starting from Windows 10 and above. It can also natively run on Haiwell's touch HMIs and IPCs. Design once and deploy anywhere.

  • HMI is shown in a web browser (WebKit preferred, so Chrome/Edge/Brave are fine). Display automatically scales to the available screen space. Number of connected web clients is unlimited.

  • If you have multiple screens or client devices, each client can display a different screen. This solves the problem of a a PC with multiple screens, or a factory floor with 10 technicians running around with 10 Android tablets or phones. Each user and user group can have different permissions.

  • It doesn't break your machine with a 50GB+ installation that takes half a day, or infects your OS with a rootkit-like drivers and license handlers like some expensive Scadas do.

  • You can make server and client scripts in JavaScript. Using these scripts some simple non-realtime things can be automated without a PLC.

  • Unlimited number of devices. Supports Serial, Ethernet, and MQTT devices. Supports all flavors of Modbus, also Siemens (S7Comm), Beckhoff (ADS), Omron (FINS), Mitsubishi (SLMP and MC1E), Schneider (Modbus TCP), Yokogawa (PCLink), and many other Chinese device drivers. You can even write your own custom protocols in JavaScript. If you ask them nicely they will implement other protocols for you.

  • Can act as OPC UA server to other devices or higher-up Scadas.

  • Can act as MQTT server, AWS IoT, or Web API server.

  • Can act as a Modbus TCP master, with unlimited number of connected clients. Great for repurposing old HMI touch screens, or acting as a data bridge to other PLCs.

  • Adding device or internal tags is easy. You can set polling speeds and read/write capability on a tag basis. If the internal tag table is too cumbersome for you, and you're an Excel wizard, there's option to import or export tags using CSV files. Tags can be boolean, 16-bit integers, 32-bit integers, floats, or strings.

  • Internal tags can be retained, and they are auto-saved every 15 seconds to the server's hard drive when there's a change.

  • Project (design or runtime) is saved as a single file. There are no huge directories with hundreds of files. Very clean to maintain.

  • Comes with a decent vector and bitmap image library, but you can import your own images.

  • Unregistered runtime has a nag screen, but it's like WinRAR: not obstructive and doesn't have a time limit. If you don't want a nag screen at each startup, online registration is free.

  • Design interface is simple. It doesn't bombard you with 100 icons in the toolbar or 1000s of submenus, so it's closer to Ignition Designer than to Weintek or Kinco. Learning is easy. There's just a few basic elements, but with good parametrization or scripting you can accomplish almost anything.

  • For "shareware" automations, when you're not sure the end user will pay up, there's an integrated payment system to stop HMI from working after a certain date. You can generate a numeric code to unlock it. You can generate a code for several more days of lease time, or for the final unlock (when the end user has fully paid the bill). We integrators in poor countries love this, it gives us some kind of leverage in an anarchy legal system.

  • There's a voice module, so it can output alarm sirens or recorded sounds on PC/HMI audio out.

  • There's a data historian module with unlimited number of tags. Sampling can be externally triggered, time-trigerred, or at-data-change supporting dead bands. Data is stored at server locally in the internal SQLite database.

  • There are recipes and reports module. Nothing fancy, just the basics.

  • There's HMI localization support, so you can translate all texts in an easy table. There's also a lame one-click auto-localization, where it simply translates all your texts using Google Translate API.

  • You can connect it to their cloud (free) and access it remotely via web browser, or receive alarm notifications via their Android app.

  • You can connect EZViz IP cameras directly to it, and show camera image on HMI as camera image element.

 

Cons:

  • No OPC UA comm driver yet. I find this weird, because it can act perfectly as OPC UA slave, but not master. For my usual price range, though, I can hardly find a PLC that supports OPC UA.

  • No sexy ISA101 vertical bar indicators or Gantt charts. You'll have to build them yourself using movable objects and bargraphs. Cumbersome, but still beats paying $15,000 for Ignition.

  • Can't run in userspace, requires elevation. Paranoid IT departments can mitigate this by running it in a virtual machine.

  • No custom user objects.

  • Windows only, no Linux or Mac support.

  • Lacks good English documentation. Help file is basically Chinese help file passed through Google Translate. Some parts of the program still have a few Chinese characters left, so you'll have to work with that.

  • Inability to have movable pop-up windows. That's just because it started out as a web-based HMI tool first. Don't expect performance or flexibility of WinCC Unified.

  • Data entry is done via large on-screen keypad which obstructs the screen completely. This is fine if you're using it on a touch screen device. You can use PC keyboard, or click on the keys. I wish numeric entries were handled as text boxes, but again this is a system design limitation.

  • Can't import SVG pictures in the image library, only bitmaps (PNG, JPG, BMP). PNG transparency works fine, though.

  • PDF reader element doesn't work on PC (they still haven't fixed it).

  • Initial server HMI window doesn't auto-scale automatically. You have to open it through a web browser for full experience.

  • Scripting doesn't support JavaScript global functions and global variables. You can use internal tags instead.

  • Made by a Chinese company. Some integrators don't like this.

Hope this is helpful to anyone wanting to try it out.

I think it's just a great tool to learn the basics and accomplish easy visualizations without breaking the bank.

13 Comments
2024/11/21
23:49 UTC

60

I somehow have been bestowed the unthinkable

Looks like I'm getting the "talk" from my boss after thanksgiving.. about giving me a bump up to the programming team... Been a install and service guy for about 7 years and over those years I've explicitly have told my customers and co-workers that "i don't know shit about fuck" and "don't tell anyone i know what i'm doing"... despite my best efforts, i've somehow found a way to get offered a programming position and to step into a new role in this weird and vast career field we play in.

Don't let my shit talk and smooth brain dialog discourage that i didn't want this, honestly this was a major goal of mine when i was in the military and saw the "control" guys working on our hvac equipment. That being said, would any of you fine bros and sistas happen to know of any good PLC guides or how to for dummies? Or maybe some good youtube channels? My biggest crutch in this industry is figuring out the starting point to write code for an AHU or central plant. Like my god how does one zoom out far enough to see the grand picture of it all haha. TIA to the homies who can point me in the right direction

26 Comments
2024/11/21
22:27 UTC

47

How can IT better serve the manufacturing systems?

I am in IT and grew up in manufacturing (father owned a shop and worked summers in high school through college). I’ve been talking with manufacturers lately, and it seems like shop floor systems—like CNCs and PLCs—often don’t get as much attention from IT providers as they should. I wanted to ask the experts here:

What are your biggest frustrations with IT when it comes to supporting your shop floor systems?

Have you experienced issues with cybersecurity (like ransomware, downtime, or unsafe vendor access)?

If you could fix one thing about how IT integrates with your shop floor, what would it be?

I’m also curious—are there tools, processes, or improvements you wish existed to make things run smoother?

I’m not here to sell anything, just trying to better understand what PLC engineers and shop owners like you are dealing with day to day. Your insights would mean a lot!

Thanks in advance for sharing your thoughts!

90 Comments
2024/11/21
22:19 UTC

3

5069-OF8 0-10V Output

I have an analog output card that drives a valve to maintain fixed current on a motor using a PID loop with a PF753 drive. The valve controls a magnetic field to feed steel shot to a slinger wheel so fluctuations in the valve don't result in much lag to motor current. When trending the current over a cycle (45s) noticed intermittent dips in the motor load even though drive frequency stays constant. I put a fluke scope on the output card. The analog output value from the PLC trend should be around 35% or 3.5V. The output on the scope was a wide red band from 0-5V. I couldn't zoom in enough to even distinguish the waveform. Do these output cards output some kind of PWM at high frequency? Or would a wide scope trend point to some kind of wiring/parameterization error?

6 Comments
2024/11/21
22:18 UTC

7

What is the best free software/website to build HMI designs with?

I am looking for a free design platform to do engineering and basic mockups of equipment setups. something that already has built in symbols and icons for common machines like tanks, pumps, valves, etc. something free.

26 Comments
2024/11/21
20:53 UTC

1

AB PM1000 screen flipped

Anyone know if there's a way to rotate the screen on an AB PM1000? Ours in brand new, just powered on, and the screen is upside down.

TIA.

4 Comments
2024/11/21
20:33 UTC

Back To Top