PLC可编程序控制器,整个工作过程分五个阶段哪五个阶段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PLC可编程序控制器,整个工作过程分五个阶段哪五个阶段相关的知识,希望对你有一定的参考价值。
参考技术A当可编程逻辑控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。
1、输入采样阶段。在输入采样阶段,PLC控制器以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。
2、用户程序执行阶段。在用户程序执行阶段,PLC控制器总是按由上而下的顺序依次地扫描用户程序(梯形图)。
3、输出刷新阶段。当扫描用户程序结束后,PLC控制器就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC控制器的真正输出。
扩展资料:
PLC的应用
1、开环控制
开关量的开环控制是PLC的最基本控制功能。PLC的指令系统具有强大的逻辑运算能力,很容易实现定时、计数、顺序(步进)等各种逻辑控制方式。大部分PLC就是用来取代传统的继电接触器控制系统。
2、模拟量闭环
对于模拟量的闭环控制系统,除了要有开关量的输入输出外,还要有模拟量的输入输出点,以便采样输入和调节输出实现对温度、流量、压力、位移、速度等参数的连续调节与控制。目前的PLC不但大型、中型机具有这种功能外,还有些小型机也具有这种功能。
3、数字量控制
控制系统具有旋转编码器和脉冲伺服装置(如步进电动机)时,可利用PLC实现接收和输出高速脉冲的功能,实现数字量控制,较为先进的PLC还专门开发了数字控制模块,可实现曲线插补功能。
4、数据采集监控
由于PLC主要用于现场控制,所以采集现场数据是十分必要的功能,在此基础上将PLC与上位计算机或触摸屏相连接,既可以观察这些数据的当前值,又能及时进行统计分析,有的PLC具有数据记录单元,可以用一般个人电脑的存储卡插入到该单元中保存采集到的数据。
参考资料来源:百度百科-可编程逻辑控制器
React中生命周期和子组件
组件生命周期
为了说明组件的创建,存在,销毁的过程,react提供了组件的生命周期,共分三大周期
创建期:说明组件的创建的过程,相当于人的少年
存在期:说明组件的存在的过程,相当于人的中年
销毁期:说明组件的销毁的过程,相当于人的老年
创建创建期
创建期共分五个阶段
ES5开发中,对应五个方法:getDefaultProps,getInitialsate, componentWillMount
, render
, componentDidMount
ES6开发中,移除了前两个方法:componentWillMount, render, componentDidMount
第一个阶段 组件定义默认属性数据
defaultProps静态属性中定义
组件尚未创建
第二个阶段 组件初始化状态数据
在构造函数中定义constructor
一定要执行super(props),实现构造函数继承,并且要传递属性数据参数
继承之后,this.props与props就没有区别了
我们为this.state赋值,机可以初始化,
在构造函数中,我们可以访问属性数据,因此可以用属性数据为状态数据赋值
这样就实现了数据有外部流入内部
第三个阶段 组件即将被构建
通过componentWillMount方法定义
此时可以访问到属性数据以及状态数据,并且无法访问虚拟DOM
我们可以提前请求数据,我们也可以为需要在虚拟DOM中使用的插件,初始化。
第四个阶段 渲染组件
我们通过render方法定义
返回值是渲染的虚拟DOM
此时可以访问到属性数据以及状态数据,无法访问虚拟DOM
所以我们在渲染虚拟DOM的时候,可以用属性数据或者状态为虚拟DOM赋值
第五个阶段 组件构建完成
我们通过componentDidMount方法定义
此时可以访问到属性数据以及状态数据,也可以访问虚拟DOM
因此我们可以在这个阶段,发送请求,绑定事件等实现一些交互
该阶段方法执行完毕,标志着组件创建期的结束,存在期的开始,
所以该方法在组件实例化对象的一生中,只执行一次。
我们可以在这个阶段修改状态数据,
一旦属性
或者状态
数据发生改变,组件将进入存在期。
获取虚拟DOM
在渲染库(react-dom)中,提供了findDOMNode的方法,可以获取虚拟DOM对应的真实DOM元素。
// 定义组件
class GoTop extends Component
// 2 初始化状态数据
constructor(props)
super(props);
// 状态
// 用属性数据,为状态数据初始化
this.state =
text: props.text
console.log(222, constructor, this, arguments)
// 3 组件即将构建
componentWillMount()
console.log(333, componentWillMount, this, arguments, findDOMNode(this))
// 4 渲染虚拟DOM
render()
console.log(444, render, this, arguments)
return <span>this.state.text</span>
// 5 组件构建完成
componentDidMount()
console.log(555, componentDidMount, this, arguments, findDOMNode(this))
// 1 默认属性数据
GoTop.defaultProps =
text: 返回顶部
// 渲染组件
render(<GoTop />, app)
子组件
虚拟DOM可以添加子虚拟DOM,组件是对虚拟DOM的封装,因此他们的行为是一致的,组件也可以定义子组件
在该组件
中定义的组件
,我们称之为该组件
的子组件
,该组件
称之为父组件
<Zss>
<Demo />
</Zss>
Zss组件就是父组件,Demo组件就是子组件。
组件是完整独立的,因此数据不会共享,想让组件之间共享数据,我们要实现组件间的通信。
以上是关于PLC可编程序控制器,整个工作过程分五个阶段哪五个阶段的主要内容,如果未能解决你的问题,请参考以下文章