代码之家  ›  专栏  ›  技术社区  ›  JustinCoplin

在Tia 14中导出梯形图逻辑

  •  3
  • JustinCoplin  · 技术社区  · 6 年前

    TL;DR:在Tia 14中导出梯形图逻辑的最佳方法是什么?

    最近,我的公司开始使用Tia门户v14。更新已经到期,我们已经开始对S7 1500系列CPU进行一些工作。我的团队成员注意到,没有一种简单的方法可以从Tia 14导出LAD逻辑(FBs、FCs、OBs)。由于我们是在单独的PC上工作,所以在更新发布时无法将各个块发送给另一个非常不方便。这对于调试使用CPU的机器的人来说更加不方便。我们已经想出了一些方法来解决这个问题,但我想听听人们对输出LAD逻辑的最佳方法的意见。

    我们正在做或尝试的事情:

    • 压缩整个项目,以便将其发送到新的pc并复制文件(可行的解决方案,但与发送单个文件并导入文件相比,似乎相当笨拙和不方便)。

    • 将梯形图逻辑转换为启用了“从块生成源代码”的语言或视图(SCL、STL等)(有自己的一系列问题,如转换回LAD的问题、对基于文本的语言的不熟悉等)。

    • 寻找一种解决方案,使用第三方软件将LAD文件转换为XML,然后通过另一端的程序重新导入(不是我,所以我不能提供很多详细信息。我团队中的一位成员认为这是可能的,正在研究)。

    提请注意任何疏忽或提出建议,我们将不胜感激。

    2 回复  |  直到 3 年前
        1
  •  6
  •   mrsargent    6 年前

    您列出的第三个选项可能是最好的方法。您可以使用 Openness API,即。net dll。您可以很容易地导出plc块(在 xml )然后将功能块导入到另一个项目中。你甚至不用看 xml 这样做。

    下面是如何执行此操作的示例代码

    //Import blocks
    private static void ImportBlocks(PlcSoftware plcSoftware)
    {
       PlcBlockGroup blockGroup = plcSoftware.BlockGroup;
       IList<PlcBlock> blocks = blockGroup.Blocks.Import(new 
            FileInfo(@"D:\Blocks\myBlock.xml"), ImportOptions.Override);
    }
    
    
    private static void ExportBlock(PlcSoftware plcSoftware)
    {
      PlcBlock plcBlock = plcSoftware.BlockGroup.Blocks.Find("MyBlock");
      plcBlock.Export(new FileInfo(string.Format(@”D:\Samples\{0}.xml”, 
      plcBlock.Name)),
      ExportOptions.WithDefaults);
    }
    

    查看示例项目的此链接。 Openness

        2
  •  4
  •   Brent    6 年前

    另一种选择是使用TIA portal多用户工程。西门子为您描述的问题创建了该解决方案。 Check it out here

    还可以创建一个全局库并从中进行更新。

    最后,只需在您的网络上连接一个PLC并联机即可。队友更改的块显示为橙色,您可以将其复制到本地项目中。

    推荐文章