6GK7343-1CX10-0XE0详细说明
本程序实现了一个按事件步顺序执行的例子。每步均包含一系列的动作,一步紧跟一步,并且有所有前提条件均满足时,才能执行。如下所示:
例图
程序框图
程序和注释:
本示例程序山五个能连续地执行的步组成。每步实质上就是对某些输出置位和复位。在某一步可执行以前,必须满足一些必要的前提条件。例如,己按下某一开关,或满足了要求的等待时问。还可以随时按开关I0.0来复位步执行顺序。这些前提条件与输出结果己在程序框图中描述过了。
西门子控制单元6SL3055-0AA00-5AA0
用S7-200 CPU214的高速计数器HSC累计来自模拟量/频率转换器(A/F的脉冲来计算模拟电压值
本例说明了如何利用CPU 214的高速计数器HSC及频率转换器来计算模拟电压。频率转换器将输入电压(0~10V)转换为矩形脉冲信号(0~2000Hz),再将此信号送入CPU214高速记数器的输入端并累计脉冲数。当预置的问隔时问到后,通过累计脉冲数,计算出被测模拟电压值。
例图
硬件要求
程序结构
主程序 在个扫描周期调用子程序SBR0
SBR0 高速计数器和定时中断的初始化
INT0 对高速计数器求值的定时中断程序
程序和注释
主程序在个扫描周期调用初始化程序SBR0,仅在个扫描周期标志位SM0.1=1由子程序SBR0实现初始化。把高速记数器HSC1的控制字节SMB47置为16进制‘FC',其含义是:正方向计数,可更新预置值(PV),可更新当前值(CV),激活HSC1。用指令‘HDEF’把高速计数器HSC1置成工作模式0}即没有复位或起始输入,也没有外部的方向选择。当前值SMD48复位为0,预置值SMD52置为FFFF(16进制)。定时中断0间隔时间SMB34置为100ms,中断程序0分配给定时中断0(中断事件10),并允许中断。用指令HSC1启动高速计数器。
每100ms调用一次中断程序0,读出高速计数器的数值后将其置零。通过HSC1计数值及变换关系(0~2KHz对应于0~10V)来求被测的模拟电压值。本例中,计数值仅除以2,置入输出字节QB0,以便通过LED来显示被测的模拟电压值。显示值与10倍真实电压值相对应。例如,计数值为200除以2是100,那么,被测的模拟电压值就是10.0V。因为计数器100ms内共有200个计数脉冲,这正与2000Hz=>10V相对应。假设计数值为104,则实际电压值应为5.2V。
注意:定时中断时间可在5~255ms的范围内变化,通过设立一个标志,可根据需要来延长高速计数器的求值和复位时间,这样就有更长的扫描间隔,以便提高**度,也会带来更长的更新时间。例如,定时中断设为100ms,每调用一次,标志增加1,仅当标志满10时,才对高速计数器求值和复位。也就是说,10V 电压可接收的大脉冲为2000,这样,求值**到5/1000V即**度是上例的10倍,但速度也减慢了10倍
三菱plc的边沿检测脉冲指令有LDP,ANDP, ORP,LDF, ANDF, ORF,这些指令的说明如下: 边沿检测脉冲指令的指令符与功能如下表所示。 2、指令使用说明 8) LDF, ANDF,ORF是用来检测触点状态变化的下降沿(由ON->OFF变化时)的指令,当下降沿到来时,使其操作对象接通一个扫描周期,又称下降沿微分指令 |