plc系统“死锁”的软件对策 点击:149 | 回复:1



coolmay168

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:974帖 | 131回
  • 年度积分:0
  • 历史总积分:3280
  • 注册:2013年10月23日
发表于:2014-12-01 22:48:46
楼主


在工业控制系统中,A/D、D/A,显示等输入/输出接口电路是必不可少的。这些接口与CPU之间采用查询或中断方式工作,而这些设备或接口对干扰很敏感,干扰信号一旦破坏了某一接口的状态字后,就会导致CPU误认为该接口有输入/输出请求而停止现行工作,转去执行相应的输入/输出服务程序。但由于该接口本身并没有输入/输出数据,从而使CPU资源被该服务程序长期占用,而不释放,其它任务程序无法执行,使整个系统出现“死锁”。对这种干扰造成的“死锁”问题,在软件编程中,可采用“时间片”的方法来解决。其具体步骤为:
 * 根据不同的输入/输出外设对时间的要求,分配相应的最大正常的输入/输出时间。
 * 在每一输入/输出的任务模块中,加入相应的超时判断程序。这样当干扰破坏了接口的状态造成CPU误操作后,由于该外设准备好信息长期无效,经一定时间后,系统会从该外设的服务程序中自动返回,保证整个软件的周期性不受影响,从而避免
“死锁”情况的发生。




zhu860423060

  • 精华:5帖
  • 求助:27帖
  • 帖子:272帖 | 3543回
  • 年度积分:302
  • 历史总积分:21193
  • 注册:2011年3月06日
发表于:2014-12-02 12:21:26
1楼

谢谢分享。          


热门招聘
相关主题

官方公众号

智造工程师