TwinCAT程序开发03-TwinCAT实时性及其配置

系列文章目录

前言

        TwinCAT平台实现了一种对Windows系统内核调度机制的一种实时性扩展,其具备实时可行的调度、进程的并行执行、硬件资源的直接访问等特点,以满足工业控制对实时性的要求。

        TwinCAT的实时性任务既可以被分配在隔离核中,也可以被分配在共享核中,例如Windows操作系统核中。

一、实时性调度原理

        TwinCAT使用双时钟法进行任务间的调度

二、抢先式多任务处理

        抢占式多任务处理意味着,在发生中断(由更高优先级的进程引起)时,会保存进程的当前状态(CPU和浮点寄存器),并暂停当前进程。如果发生这种情况,调度器会根据任务优先级确定要执行的新进程。一旦被中断的进程完成,就会恢复进程上下文,并且"旧"进程继续。

        个人观点:抢占式显然无法满足实时性。

三、TwinCAT平台调度任务的设计

        

        TwinCAT 4026版本目前支持UserMode和KernelMode两种用户程序的运行模式。

        有实时性要求的任务,应使用内核模式。

        依个人经验,产生的最佳实践为:

        1、用户任务和Windows核进行隔离设置,当用户任务出现异常时,因为Windows核还正常,可以远程登录到控制器内查看系统记录,这样可以提高问题调查的效率。

        2、用户任务和Windows核进行隔离设置,在设计阶段可清晰的进行任务调度时序的微观分析设计,排除Windows系统任务的干扰。

四、PLC模块和TcCom模块运行时环境的差异

        

        从上图可见,PLC 运行时模块独立执行输入和输出更新。如果两个 PLC 任务相互通信,第二个执行的运行时模块直接从第一个运行时模块接收当前值。因此,从第一个运行时模块到第二个运行时模块的通信方向不存在周期偏移,但在另一个方向上确实存在这样的偏移。  

        个人见解:需要及时通过IO的输出来响应IO输入的应用场景,应使用PLC任务。

目录

系列文章目录

前言

一、实时性调度原理

二、抢先式多任务处理

三、TwinCAT平台调度任务的设计

四、PLC模块和TcCom模块运行时环境的差异

总结



总结

未完待续。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值