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是啥软件的主要内容,如果未能解决你的问题,请参考以下文章