我的问题很简单。有什么有用的地方可以学习使用西门子 PLC 吗?
4 回答
全面披露:
- 我是罗克韦尔自动化的一名软件工程师,使用他们的 A|B PLC
- 你可能不会喜欢我的回答
简而言之,无论您使用梯形逻辑、结构文本、指令列表、顺序流程图、FBD 还是连续流程图,对 PLC 进行编程都与使用 C++、Java、JavaScript 等语言编程软件不同。 ..
简而言之,没有一套适合每个用例的“最佳实践”。这样做的原因是,因为与标准软件开发不同,您可以应用SOLID原则等原则来始终使您的代码更易于阅读、维护和扩展。PLC 程序与非常真实的物理过程和物理机械相关联。通常,您在行业中发现的是,每个工厂/制造商/设施都会根据其设施需求和流程建立自己的一套最佳实践。
举个例子:
场景 1: 本地小型啤酒厂用于运行蒸馏过程的逻辑可能包括子程序甚至循环。他们可能在他们的代码中允许 5 个或更少的警告,并允许一些未使用的标签。这完全没问题,因为他们在生产啤酒,这个过程并不重要,一个坏批次不会杀死任何人,而且他们只有 2 个泵,他们使用逻辑来迭代。因此,如果有问题需要解决子程序或循环中的逻辑问题,就不会太头疼了。
情景 2: 我是一家全球制药公司,每年生产 100 种数以百万计的生命关键药物(例如胰岛素)。现在我的逻辑是零子例程,没有循环,我对错误或警告的容忍度为零,并且绝对没有未使用的标签。为什么,因为我是一个高度监管的行业,如果我的产品有问题,人们可能会死。还有为什么没有子程序或循环,因为我是一家拥有数百台泵、混合器等的大公司……当其中一个设备出现故障时,我不想看一些可怕的循环逻辑,这是负责任的用于数百个泵的逻辑。我想查看一个我可以快速理解、纠正并让我的线路恢复正常运行的逻辑。
我相信您可以找到一些解释一些基本“最佳实践”的文章或课程(就像您已经学习过的那样),但在现实世界中,您需要根据每个单独的场景调整您的逻辑,以实现最好的结果。那是我在这件事上卑微的两分钱,祝你好运!
- Udemy - 那里有一些课程,虽然我自己没有尝试过。
- 我在 YouTube 上观看了很多有用的视频。
- http://www.plcdev.com/siemens_simatic_step_7_programmers_handbook - 很旧,但可能有用。
- 西门子论坛、官方手册、指南。那里有很多信息,质量有时会有所不同,但大多都很好。
顺便说一句,西门子的一个好处是您经常可以通过搜索网络来查找内容。对于其他一些PLC而言,情况并非如此......
祝你好运!
如果你已经在工厂工作。阅读在 PLC-s 中运行的代码。并开始修改它,如果需要的话。我就是这样开始的,我最初是一个低级的自动化家伙。拉线,更换损坏的传感器等。
如果您不这样做,并且您需要休息一下,那么作为普通技术人员,路径通常来自电工或自动化工程师。或者作为企业家/独立承包商,我看到人们只是这样做。就像赢得一些上市公司要求的合同,做一些示意图,写代码,做电子蒙太奇都是自己做的。或者只是与其他承包商一起做部分工作。你需要以前的经验才能成功
至于一些做法:
- 如果您正在修改现有代码。始终使用现有样式、现有功能和块。
- 不要在低 PLC 代码中使用来自普通 IT 世界的编程模式。或谨慎使用。这样做的原因是您的代码可能必须存在多年,并且必须是可调试的。模式通常会增加层次的复杂性,复杂性会导致更难的调试。在自动化世界中,通常最好调试更接近硬件的东西。
- 如果您开始制作拥有数十或数百个传感器/电机/执行器的项目,请开始使用可重复使用的块。
- 所有最佳实践都是在现场学习的,遗憾的是没有其他方法。我知道有时这有点像 catch22。需要工作才能获得经验,需要经验才能获得工作。我进入了自动化世界,后来进入了 IT 世界,同样的方式:找到一份工作和低端、维护人员或初级 IT 开发人员,积累经验,一两年后你将进入中级。
并且在您对 PLC 进行编程时不要失去任何这些约束:
- PLC编程是非常底层的编程
- 内存大小很重要,每个字节都必须很重要
- 逻辑必须简明扼要:有时你必须擅长数学!
- 您正在使用的机器很危险,可能会引发产品、设备或人身伤害
- 你正在使用的机器很昂贵,而且可以生产多年
这和计算机编程是一样的:每个程序员都有自己的编程方式,这是没有道理的。有时您会发现一些有趣的现有代码:如果它看起来更智能且更高效,请不要犹豫重新使用它。
找到你的方式并记住你正在使用的机器对你和周围的人都是危险的(情况并非总是如此,但在编程时记住这一点很重要)。
此外:不要忘记工业自动化的第一条规则:如果它运行正确,请不要触摸它!