代码之家  ›  专栏  ›  技术社区  ›  Sid Brooklyn

西门子PLC编程最佳实践[关闭]

  •  -5
  • Sid Brooklyn  · 技术社区  · 6 年前

    我的问题很简单。学习使用西门子可编程逻辑控制器有什么有用的地方吗?

    4 回复  |  直到 6 年前
        1
  •  3
  •   Narm Rohit    6 年前

    完全披露:

    1. 我是罗克韦尔自动化公司的软件工程师
    2. 你可能不喜欢我的回答

    简单地说,编程PLC,无论是使用梯形逻辑、结构文本、指令表、顺序流程图、FBD或连续流程图,都与C++、Java、JavaScript等语言中的编程软件不一样。

    简单地说,没有一套“最佳实践”适合每个用例。 原因是,与您的标准软件开发不同,您可以应用 SOLID 使代码更易于阅读、维护和扩展的原则。PLC程序与一个非常真实的物理过程和物理机械相关联。通常情况下,您在行业中发现,每个工厂/制造商/设施根据其设施需求和流程建立了自己的一套最佳实践。

    举个例子:

    场景1: 用于为小型本地啤酒厂运行蒸馏过程的逻辑可能包括子例程甚至循环。它们可能允许在代码中出现5个或更少的警告,并允许一些未使用的标记。这是完全可以的,因为他们正在酿造啤酒,过程并不重要,一个坏的批次不会杀死任何人,他们只有两个泵,他们使用的逻辑来迭代。因此,如果有一个问题,需要解决的逻辑在子例程或循环将不会太头痛。

    情景2: 我是一家全球制药公司,每年生产1亿种生命关键药物(比如胰岛素)。现在我的逻辑是没有子例程,没有循环,对错误或警告零容忍,绝对没有未使用的标记。为什么,因为我是一个高度管制的行业,如果他们是我的一个产品的问题,人们可能会死。为什么没有子程序或循环,因为我是一个巨大的公司有数百泵,搅拌机等。。。当这些设备中的一个坏掉的时候,我不想看到一些可怕的循环逻辑,这些逻辑导致了上百个泵的逻辑。我想看一个逻辑的选择,我可以快速理解,纠正,并使我的线路备份和操作。

    我相信你可以在那里找到一些文章或课程(比如你已经学过的)来解释一些基本的“最佳实践”,但是在现实世界中,你需要调整你的逻辑来适应每一个具体的场景,以便获得最佳的结果。那是我卑微的两分钱的事,祝你好运!

        2
  •  1
  •   Juozas Ko    6 年前

    顺便说一下,西门子的一个优点是,你可以经常通过搜索网页来查找信息。其他一些可编程逻辑控制器就不是这样了。。。

    祝你好运!

        3
  •  1
  •   user3597496    5 年前

    如果你已经在工厂工作了。读取在PLC-s中运行的代码。如果需要,开始修改它。我就是这样开始的,我最初是个低级的自动化人。拉电缆,更换损坏的传感器等。

    如果你不这样做,你需要到现场休息一下,那么作为普通的技术工人,这条路通常是从电工或自动化工程师那里走的。或者作为企业家/独立承包人,我看到人们只是这样做。比如为一些上市公司争取合同的要求,做一些示意图,写代码,做电子蒙太奇都是自己做的。或者只是和其他承包商做一部分。你需要以前的经验才能成功

    至于一些做法:

    • 如果您正在修改现有代码。始终使用现有的样式、现有的功能和块。
    • 不要在低PLC代码中使用来自普通IT世界的编程模式。或者小心使用。其原因是,您的代码可能必须使用多年,而且必须是可调试的。模式通常会增加复杂性,复杂度会导致更难调试。在自动化领域,调试更接近硬件的东西通常更好。
    • 如果你开始制作一个有几十个或几百个传感器/马达/执行器的项目,那么就开始使用可重复使用的模块。
    • 所有的最佳实践都是在实地学习的,遗憾的是没有其他方法。我知道有时候有点难理解。需要工作才能获得经验,需要经验才能获得工作。我进入了自动化领域,后来的IT领域也是这样:找一份工作,找一个低端的、维护人员或初级IT开发人员,积累经验,一两年后你就会进入中级水平。
        4
  •  1
  •   dun32    5 年前

    在编程PLC时不要丢失任何约束:

    • PLC编程是非常低级的编程
    • 内存大小很重要,每个字节都必须很重要
    • 逻辑必须简洁,并且尽可能简短:有时你必须擅长数学!
    • 你正在操作的机器很危险,可能会损坏产品、设备或人身
    • 你正在使用的机器很贵,而且是多年来制造的

    这和计算机编程是一样的:每个程序员都有自己的编程方法,没有真理。有时你会发现一些有趣的现有代码:如果看起来更聪明,效率更高,不要犹豫再使用它。

    找到你的方法并记住你正在工作的机器对你和周围的人都是危险的(情况并不总是这样,但在编程时记住这一点很重要)。

    而且:不要忘记工业自动化的第一条规则:如果它运行正常,就不要碰它!