发表于:2011/8/13 9:26:09
#0楼
PLC在运行时采用循环执行用户程序的方式,这种运行方式也称为扫描工作方式。
下面是循环处理的各个阶段的任务:
1) 操作系统启动循环时间监控。
2) CPU将过程映像输出区的数据写到输出模块。
3) CPU读取输入模块的输入状态,并存入过程映像输入区。
4) CPU处理用户程序,执行用户程序中的指令。
5) 在循环结束时,操作系统执行其他任务,例如下载和删除块等。
6) CPU返回第一阶段,重新启动循环时间监控。
有个网友提出这样一个问题:为什么不是像其他PLC那样,在本次扫描周期结束的时候将过程映像输出区的数据写到输出模块,而是在下一个扫描循环周期才写到输出模块?这样不是产生了一个扫描周期的延迟吗?
我的回答如下:PLC的扫描工作方式是一种重复的循环过程,就像我们日常使用的时钟一样,23点59分59秒过了就是下一天的0点0分0秒。说起来进入了下一天,实际上只差一点点时间。因此在下一扫描周期的开始将数据输出到外设,与本周期结束时输出的效果基本上是一样的。这两种方法的输出时间相差不是一个扫描周期,基本上没什么差别。
下面是循环处理的各个阶段的任务:
1) 操作系统启动循环时间监控。
2) CPU将过程映像输出区的数据写到输出模块。
3) CPU读取输入模块的输入状态,并存入过程映像输入区。
4) CPU处理用户程序,执行用户程序中的指令。
5) 在循环结束时,操作系统执行其他任务,例如下载和删除块等。
6) CPU返回第一阶段,重新启动循环时间监控。
有个网友提出这样一个问题:为什么不是像其他PLC那样,在本次扫描周期结束的时候将过程映像输出区的数据写到输出模块,而是在下一个扫描循环周期才写到输出模块?这样不是产生了一个扫描周期的延迟吗?
我的回答如下:PLC的扫描工作方式是一种重复的循环过程,就像我们日常使用的时钟一样,23点59分59秒过了就是下一天的0点0分0秒。说起来进入了下一天,实际上只差一点点时间。因此在下一扫描周期的开始将数据输出到外设,与本周期结束时输出的效果基本上是一样的。这两种方法的输出时间相差不是一个扫描周期,基本上没什么差别。
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/