梯形逻辑 - '简单'咖啡机 - 可选:添加牛奶/添加糖

时间:2014-11-14 13:17:43

标签: logic plc

我刚开始学习梯形逻辑编程。我正在使用Allen Bradley RSLogix 5000。

我的任务是开发一款“简单”的咖啡机,其运作方式如下:

  • 切换按钮以启动
  • 落杯(10秒钟)
  • 喂热水(10秒钟)
  • 如果需要,添加牛奶(10秒钟)
  • 如果需要,加糖(10秒钟)
  • 程序完成 - 照亮完整光(持续10秒)

除了OPTIONAL add Milk& amp;可选添加糖。

选项包括:

  • 要一份没有牛奶或糖的咖啡。
  • 或者喝咖啡加牛奶而不是糖。
  • 或者加糖咖啡&不是牛奶。
  • 或者喝一杯咖啡加糖&乳。

我正在考虑使用Toggle Buttons选择/跳转到子程序(选择所需的成分化妆)。但我想知道是否还有其他方法可以顺序执行该程序?

感谢。enter image description here

3 个答案:

答案 0 :(得分:1)

我将如何做到这一点:

步骤1.定义所有动作: - 落杯, - 喂热水, - 加入牛奶 - 加糖。 对于这些,请创建一个专用例程或AddOnInstruction。如果你认为太简单而且没有必要,那就认为你必须为每个人编写一个诊断程序,也许你会在另一个项目中重复使用Drop Cup。如果你掉杯,你没有杯子,或者掉落设备有缺陷,等等会怎么样?

步骤2.现在您已经隔离了这些,即使不是,也要使图表成为一切。

步骤3.创建配方格式,为Ingredients添加参数 - 对于添加牛奶,输入参数:requiredOrNot,numberOfSeconds

步骤4.根据需要创建任意数量的食谱。您永远不会根据配方修改软件。

步骤5.创建配方管理。这对您未来的所有项目都非常有用。这是一次性任务。

这就是我为我的婚礼制作鸡尾酒吧的方式。我给了我的朋友大约20个食谱,到了最后,我在食谱清单中找到了大约50个食谱。

P.S。我知道这对于给定的任务来说似乎太复杂了,但是如果你离开你的特定任务并分析我的例子,你会发现你可以编写任何程序而不必每次重新发明轮子。

答案 1 :(得分:0)

另一种方法是为每个步骤(比如1到5)赋值,并使用整数跟踪值。然后当你在步骤4(f required,Add Sugar(10秒))并且选项为false时你可以跳过"跳过"这一步直接进入第5步。

伪代码:

如果currenttep == 4 AND AddSugar = true则

  • 加糖10秒

  • currentstep = 5

否则
  - currentstep = 5

答案 2 :(得分:0)

我还建议您创建步骤,以便在意外时间不会发生任何事情。这是我如何设置它(注意:我写得很快,买家要小心)

enter image description here enter image description here enter image description here