是否有任何可以通过API编译/下载程序的市售PLC?


9

我的团队决定使用PLC来控制工业过程,该过程需要对外部设备进行简单,实时IO的处理,而所需的处理最少。但是,我们希望每次运行之间所需的确切输出有所不同(实际上,很少重复执行给定的运行),并且操作员将没有任何PLC /软件编程经验。

虽然我无法透露实际产品,但最好的类比是我们正在设计一种工业冰沙机,其PLC可以精确地实时控制不同阀门的打开和关闭。操作员将使用我们的软件来设计自定义添加不同试剂的顺序以及相关重型机械(例如工业混合机)的开/关。

这就是挑战:我们当前的方法是编写自己的编译器,该编译器将操作员给出的指令(打开阀门A持续10毫秒,打开阀门B持续20毫秒)转换成梯形逻辑和PLC机器代码。然后,我们将通过串行直接将自编译程序下载到PLC。所有这些都需要自动化,以便操作员只需要在提出其步骤顺序后单击一个按钮即可。

但是,尽管进行了研究,但我还没有找到一家PLC供应商,这两家公司都有:1)具有API的编译器,或者发布了有关其PLC机器代码的足够信息以允许人们编写编译器; 2)支持将程序直接下载到PLC无需使用供应商的编程软件(CX-programmer,Atmel studio等)。

我被认为是我们可能采取了错误的方法,或者至少不知道要寻找什么产品。I / O非常简单,无法证明我们自己的电路板的合理性,但是我们正在寻找的功能(即与高级PC软件的PLC交互)似乎不可用。

理想情况下,我们希望立即将整个程序下载到PLC,而不是一次发送指令。PLC(或最终使用的任何设备)上所有指令的执行都必须是实时的。

是否有任何商用PLC支持机器代码的编译和下载,从而可以通过更大的程序来自动化整个过程?还有其他方法可以将实时程序下载到以高级语言编写的PC软件编写的PLC中吗?


如何使用操作系统,并让用户通过自定义GUI编辑程序代码并进行编译(例如使用GCC),然后将编译后的程序下载到“ PLC”。
Eggi '18年

您能否建议介绍RTOS编程和原理的材料或教程?我最熟悉非RT嵌入式开发和传统的梯形图逻辑,因此尽管我对该解决方案非常感兴趣,但我不确定从哪里开始。
Dragonsheep

@什么是API?如果是“应用程序接口”,那么如何通过它进行编译/下载?
德米特里·格里戈里耶夫

1
@Dragonsheep最好忽略这个想法。正如亨利·库恩(Henry Cun)所说的那样,有太多方面不是行业证明。第一:在编译之前如何更改代码?放在明文的某个地方?第二名:数十年来对操作系统的支持
Eggi

Answers:


11

您可以为此明确使用PLC。除非您不想为每个“圆滑的食谱”更改PLC代码。
您应该编写一个可以从任何来源读取配方的PLC应用程序,例如sd卡,网络存储,内部存储甚至是QR码(如果您愿意的话)。

通常PLC的已经有一个特点对于,其中一个配方是一组的,你可以加载参数(和编辑与HMI)。

最少处理量的实时IO到外部设备

无论您选择使用什么,都不要发明自己的PLC。可能不值得花时间。并且不要认为该软件或附加模块昂贵,您无法以该价格编写它。


5

我将假定这对于最小的plc来说是一个非常简单的任务,而不是使用高级工业PLC的东西

我还将假定这在工业上是有用的,也就是说,客户应该可以在10年的时间内更改配方。同样,它的实用性将使您在停业或转而使用新产品时得以生存。

如您所说,许多系统将需要一些特殊的软件来下载和/或编译。从长远来看,您的客户会发现Windows 11,12,13将不再运行该软件。为避免这种情况,您希望程序是通过某种串行端口发送的纯ascii。这种情况已经持续了大约50年,并且没有消失的迹象。

Forth可以在目标上“编译”,因此客户只需从终端向其发送ascii。它永远不会被淘汰。

Forth精神的一部分是,您编写了特定于域的原语(“ AddBanana”,“ Blend”,“ Pour”),这些原语被客户视为产品的特定语言。尽管Forth被计算机人员认为是不可思议的,但从概念上讲,它对于最终用户来说非常易于使用-这将是一个有效的程序。

10 grams Thickener 500 grams Banana 15 seconds Hi Blend 50 grams Blueberry 5 seconds slow Blend Pour 5 seconds wait CleanCycle

例如,您可以使用基于Arduino的小型PLC并加载FlashForth, 还有许多其他选择,例如MPEForth和基于ARM -cortex的PLC

您的软件现在是任何编辑器,并且可以通过某些程序来发送串口。有标准的工具,离开后很长时间,客户可以使它从头开始工作,因为它是如此简单。

您的整个想法的失败之处在于,客户正在对产品进行编程,并且当然可以通过做错事情(无论您采取什么方法)来填充产品。

因为它只是ascii文件,所以您很容易为客户制作精美的外壳,但是如果没有它,产品仍然可以使用。


谢谢回复!您所建议的Controllino之类正是我们想要的东西!简约的PLC,我们可以直接控制软件,并可以通过串行下载程序。当您说我们还有“许多其他选择”时,相关的搜索词是什么/您建议使用什么其他产品?我的团队最熟悉重工业,因此在浏览了常用的Siemens / Mitsubishi / Omron目录后,我们没有了创意,却找不到所需的东西。
Dragonsheep

@Dragonsheep:我们建议您等待一两天后再接受答案。这会鼓励其他人写,您会得到更多的答复和不同的观点。
晶体管

如果这对您来说是一种有趣的方法,并且您是为工具,专业知识和支持付费的人,那么您可能想与MPEForth的Stephen Pelc交谈。他在商业上做这种事情。另一方面,如果您是自由软件的人,请寻找基于arduino的模块或plc和FlashForth。
Henry Crun

1
我也同意@Transistor和Jeroen的回答:如果您需要的是工业PLC,那么它们就是您所需要的。(而且随机的Arduino plc模块不够坚固,无法用作工厂控制器,更多的是内部良性控制器)。我倾向于不同意“使用OS获取某些东西并使用GCC”类型的解决方案,因为这可能导致所有可能的情况变得最糟。
Henry Crun

这确实是一种工业应用,我们希望将其出售给客户。我们确实希望拥有大型工业厂商(三菱等)在其产品中展示的20年以上的可靠性,因此,选择其中一个较新的开源硬件厂商存在一些担忧。同时,软件明智的开源似乎可以为我们提供所需的控件。斯蒂芬似乎是一个很好的人。感谢您的带头。
Dragonsheep

2

对于工业应用,请不要与Arduino等混淆。PLC的设计考虑了可靠性,鲁棒性,标准和长期支持。我工作的公司从1987年开始运营至少一家Texas Instruments PLC,从1990年代初开始运营其他几家。仍可从eBay等的工业来源获得备件。

使用具有足够功率的PLC和工业HMI来完成所需的工作。我最近完成了一个搅拌机工作,我们希望通过自动和手动步骤灵活地实现配方。通过步进通过HMI编程的阵列来控制顺序。

  • 步骤编号。例如“ 5”。
  • 描述。例如“自动称量香蕉”,“手动装载樱桃”,“刮下来”。
  • 混合速度(RPM)。例如“ 25”。
  • 混合时间(秒)。例如“ 120”。
  • 需要在步骤结束时进行抓取吗?(Y / N),例如“ Y”。
  • 需要热量吗?(是/否),例如“ N”。
  • 温度(°C)。例如“ 0”。

我们设计了一个由二十个步骤组成的系统,这在可预见的将来已经足够了,但如果需要,可以轻松扩展。所有设置都有在HMI应用程序中设置的最小值和最大值。

这使系统非常灵活和可编辑。我们拥有一个健壮的系统,其PLC和HMI受到许多公司的熟悉和支持。


谢谢回复。我们拥有的特定应用是用于自动化生物化学的,因此,在自动化过程中涉及数百种试剂和可能涉及数百个步骤,我目前的观点是,任何一种HMI设备编程都将无可避免地变得复杂。
Dragonsheep

1

您尚未为开发硬件和软件或部署的硬件的单位成本指定预算,但是如果您能负担得起,则可以使用National Instruments CompactRIO硬件和LabVIEW Real-Time软件来满足您的要求。

CompactRIO控制器是一种坚固,可靠,高性能的工业级嵌入式控制器,具有行业标准认证。

提供了一系列插入控制器机箱的I / O模块,或者如果您的设计是固定的,并且您想降低单位成本,则控制器和I / O可以作为单板提供,以便您与硬件集成。您可以使用LabVIEW Real-Time编写软件以在控制器上运行并执行过程控制,这也可以用于基于Web的UI来编辑过程步骤,或者可以与用LabVIEW或其他语言编写的UI程序进行通信,在主机PC上运行。我在PLC方面的经验有限,但我认为可以公平地说,该解决方案将更强大,更灵活,但成本可能更高。

请注意,尽管cRIO控制器是板载FPGA随附的,但除非您确实需要编写FPGA代码,否则无需购买LabVIEW FPGA模块。听起来好像Real-Time应该适合您的需求。


0

我的建议是看一下LabVIEW。我认为这将满足您的帖子中列出的需求。避免编写您的编译器。那是比您需要做的更多的工作。他们是许多符合要求的商业PLC。我认为NI是较容易使用的工具之一。至于下载用户程序,您需要创建一个应用程序来完成。

http://www.ni.com/zh-cn/shop/labview.html

NI具有广泛的模块,包括AtoD,数字输出,模拟输出,CAN接口等。该软件对于创建美观的用户界面非常有用。缺点是不便宜。If与基于文本的编程也有很大不同。需要一些培训。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.