twincat是啥软件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了twincat是啥软件相关的知识,希望对你有一定的参考价值。


演示机型:华为MateBookX系统版本:win10twincat是Beckhoff公司的运动控制软件,基于Windows操作系统。TwinCAT包含三层结构:PLC轴、NC轴和物理轴。PLC程序中定义的轴变量称之为PLC轴。NC配置界面定义的AXIS叫做NC轴。在IO配置中扫描到的硬件叫做物理轴。
参考技术A



演示机型:华为MateBookX系统版本:win10twincat是Beckhoff公司的运动控制软件,基于Windows操作系统。TwinCAT包含三层结构:PLC轴、NC轴和物理轴。PLC程序中定义的轴变量称之为PLC轴。NC配置界面定义的AXIS叫做NC轴。在IO配置中扫描到的硬件叫做物理轴。

使用 C# API 连续读取 Twincat 3 中的变量

【中文标题】使用 C# API 连续读取 Twincat 3 中的变量【英文标题】:Read variables in Twincat 3 continously with the C# API 【发布时间】:2020-05-25 14:32:23 【问题描述】:

我想通过 C# 的 ADS 客户端连续读取很多变量(快于 10 Hz)。但是,在文档中,示例只读取了一次变量。

我找到了具有此functionality 的 Twincat-OCX 模块,但它用于 Twincat 2。

Twincat3 在使用 c# 时推荐的方式是什么?

【问题讨论】:

【参考方案1】:

有不同的方法可以做到这一点。最适合我的方法是将通知句柄设置为 PLC 中的切换位(端口 851 TC3),可能是这样的:

// tic for ADS notification, imod used for cycle adjustment

diCounter := diCounter + 1;

IF (diCounter MOD imod = 0)
THEN
    bTic := NOT bTic;
END_IF

通知句柄是用于将数据导入 C# 的一个很好的实时 tic。 如果 TwinCAT 在独立内核上运行,这可以在 10 毫秒周期内正常工作。在 Beckhoff 控制器上,这种与用户模式应用程序的通信稳定到 1 毫秒。至少这是我在确定性实时硬件方面的经验。

现在通知在 C# 中循环到达,通过此信号,可以使用 ADS sum 命令在一个请求中获取多个变量。这也是强烈建议的,以保持较低的通信开销。 TC3 ADS SUM 命令 .NET 示例:

https://infosys.beckhoff.de/english.php?content=../content/1033/tc3_adssamples_net/185258507.html&id=8424732030635156090

【讨论】:

另一种每 x 毫秒接收通知的方法是使用AdsTransMode.Cyclic。然后 PLC 将每隔给定的毫秒发送一次值,即使该值没有改变并且不需要切换位。 @Quirzo 与 SumCommand 相比,此方法更节省资源吗? 你的意思是 SumCommand 是一个求和读取命令还是什么意思?如果循环时间非常短,它将使用路由器的一些资源。但另一方面,通知将仅从 PLC 发送,因此无需进行占用资源的轮询。使用 sum 命令时也可以使用循环设置一次添加多个通知。 @Quirzo sorrym 是的,我的意思是 SumRead。但是将 SumRead 与循环设置结合使用听起来很棒。谢谢! 对此的一个调整是将您想要读取的所有信息放入一个结构中,这样您就可以在一个命令中读取所有信息(或在更改时收到通知)。

以上是关于twincat是啥软件的主要内容,如果未能解决你的问题,请参考以下文章

twincat只能用倍福工控机吗

第三方软件与twincat通讯可以采用啥方式

安装Twincat时报错,如图

twincat 没有连plc能进行仿真吗

安装Beckhoff PLC编程软件Twincat后,从配置状态切换到运行状态就会出现蓝屏。

twincat设置主站超时