TwinCAT3在Windows系统下的运行机制 内核隔离

Windows系统(Win7 Win10)本身作为一个非实时系统,运行在windows用户模式下的应用,受到windows的任务机制管理,应用会受到其他任务打断,照成延迟响应。

而TwinCAT作为一个软件,作为windows实时系统的一个扩展,代码运行在Windows内核模式下。内核模式和用户模式的区别可以去微软官网查找相关说明。内核模式可以认为是实时的。

在TwinCAT3软件下可以看到real-time设置

base time可以理解为CPU时钟周期 

每一个base time,CPU占用80%的时间(core limit)运行 twincat的实时任务(plc nc等),20%的时间运行windows用户模式下的任务。

 由于内核模式和windows用户模式的切换时,需要将一些数据保存在内存中,所以base time越短,这个切换占用资源时间就会变长,需要保存数据的大小,会造成一些系统抖动。除了XTS等一些需要快速任务周期(250us)的应用外,base time一般1ms足够大部分plc应用。

另外TwinCAT3提供了隔离CPU核的功能,可以将core完全分配给twincat real time,这在一定程度上减小了用户模式造成的系统抖动,但是需要注意的是在一些系统中,单core能力比不上整个CPU多核的运算能力。所以隔离核的功能,需要根据plc本身执行所需要的时间进行合理分配。plc执行是否周期溢出。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值