EN
当前所在位置:首页 > 技术知识 > OPC UA

技术知识

北京盟通科技是工业自动化领域的高科技企业,依托于核心团队多年的海外和行业经验,致力实时现场总线技术及工业通讯技术的推广

选择合适的 SDK -OPC UA

发布时间:2019-05-08

     该图显示了OPC UA产品开发的可用SDK。 根据目标平台和应用程序的要求,可提供不同的SDK。

什么时候该使用 .NET SDK?

     如果你计划只支持MS Windows和目标机是一个有很多RAM的PC,.NET是合适的。 特别是如果你只有.NET专家而没有C ++开发人员,.NET将是你的正确选择。

请记住:生成的应用程序不会像供选择的C ++程序那样高性能,并且会消耗更多的资源。 如果您以后决定您的产品还要支持其他操作系统或嵌入式设备,则不能在使用任何.NET代码。 你必须从零开始重新编程你的代码。使用.NET的一个决议是决定绑定到MS Windows。.NET SDK至少需要.Net 3.5 SP1,它不适用于旧版本,无法与.NET Compact Framework或.NET Mono一起使用。Windows和.NET目前仅在x86(和x86-64)体系结构上工作。

什么时候该使用C++ SDK?

     如果计划支持多个操作系统,或者您需要最优的性能,C ++ SDK将是正确的选择。 特别是如果你有C ++开发人员,选择另一种技术(如.NET或Java)是没有意义的,因为C ++开发人员在开发C ++方面比使用其他技术更快。(快速应用程序开发是拥有一个良好的库,而不是编程语言的问题)C ++ SDK多线程工作可以从现代多核CPU中受益,可以编译适用32位和64位CPU。 该代码已知可在x86和ARM上工作,并且可以轻松地移植到其他架构。

     请记住:即使您计划目前仅支持一个操作系统(如Windows),稍后支持其他操作系统也没有问题。 唯一的限制是需要一个C ++编译器。 一些嵌入式系统可能不允许多线程,甚至可能没有C ++编译器。 在这种情况下,唯一的解决方案是使用ANSI C SDK。

什么时候该使用ANSI C SDK?

     如果计划支持嵌入式设备或只想使用最便携的代码,则应使用ANSI C SDK。 ANSI C SDK异步工作并且单线程。 因此不需要多线程。 ANSI C编译器几乎适用于所有操作系统和CPU体系结构。 ANSI C版本被证明可以在使用Linux,vxWorks,QNX,Euros,WinCE,Windows XP的x86,ARM,MIPS上工作。Unified Automation主动支持x86上的Linux和Windows。 其他接口可以通过我们的开发合作伙伴ascolab GmbH获得。

     请记住:ANSI C SDK对代码大小,RAM大小和CPU能力的要求最少。 但它不能直接受益于多核CPU,如新的ARM CPU,因为它只使用一个任务/线程。 这通常不是缺点,而是期望的特征。特别是在嵌入式系统中,OPC UA通信只是较大应用程序的一小部分。 然而,设备可以明确地使用一个CPU核心用于主任务(例如PLC程序),并且第二核可以由诸如OPC UA服务器的另一任务使用。

什么时候该使用Java SDK?

     如果你计划支持多个平台,包括“native”的Android开发,JAVA是一个不错的选择。JAVA和.NET与C和C + +相比被称为更高级别的环境,你当然可以它们开发更快,或更舒服的。但是,您需要考虑内存和CPU能力的资源要求。 主要优点是您不需要为每个平台重新编译应用程序。 JAVA程序将在提供应用程序所需的JRE(JAVA运行时环境)的每个平台上运行。 我们从我们的开发合作伙伴ProsysOPC提供Java SDK。