s7-200典型程序例子

上传人:n**** 文档编号:90658932 上传时间:2019-06-14 格式:DOC 页数:64 大小:1.04MB
返回 下载 相关 举报
s7-200典型程序例子_第1页
第1页 / 共64页
s7-200典型程序例子_第2页
第2页 / 共64页
s7-200典型程序例子_第3页
第3页 / 共64页
s7-200典型程序例子_第4页
第4页 / 共64页
s7-200典型程序例子_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《s7-200典型程序例子》由会员分享,可在线阅读,更多相关《s7-200典型程序例子(64页珍藏版)》请在金锄头文库上搜索。

1、 S7-200应用示例S7-200 应用示例本章概述节内 容页H.1模拟电位器H2H.2怎样使用高速计数器H6H.3自由通信口模式的简单应用H10H.4处理脉宽调制H13H.5可逆电动机起动器电路适用于改变三相交流感应电动机旋转方向H16H.6步执行顺序(事件鼓定时器)H19H.7S7-200用自由通信口模式和并行打印机连接H23H.8通过自由通信口模式接受条形码阅读器的信息H27H.9集成脉冲输出通过步进电机进行定位控制H31H.10SIMATIC S7-221通过自由通信口模式控制贺氏(Hayes)调制解调器H37H.11几台SIMATIC S7-200 PLC使用自由通信口模式连接在一个

2、远程I/O网络上H43H.12S7-224与SIMOVERT电机驱动器之间的自由通信口通信接口H-54H.13用S7-200 CPU 224 DC/DC/DC进行定位控制,并具有位置监视和位置校正H-64H.14用S7-200实现PID控制H-80H.15模拟量输入的处理H-92H.16S7-200与PC之间的连接:从Windows应用程序中读数据H-98H.1模拟电位器概述本例包含了有关 SIMATIC S7-200 的模拟电位器(POT)的使用信息。电位器的位置转换为 0 至 255 之间的数字值,然后,存入两个特殊存储器字节 SMB28 和 SMB29 中,分别对应电位器0和电位器1 的

3、值。需要一把小螺丝刀用以调整电位器的位置。本应用示例介绍了使用模拟电位器调整定时器设定值的三种方案。例图模拟电位器程序框图首次扫描初始化所有缓冲区主程序开始POT0值装入AC1和T35调用SBR1调用SBR2从POT0读PV值装入T33从POT1读PV值装入T34T35到时后:AC2加1QB0显示 T35复位T33到时后:AC2加1QB0显示 T33复位T35到时后:VW20加1QB1显示 T34复位主程序结束10.110. 2(与非10.0)新平均值存入VW14、16、18子程序2开始扫描计数器加1加POT 1值到以前总和中计算平均值,扫描计数器复位100次扫描完成了吗?新平均值在保护段之外

4、吗?将新的模拟电位器值送回到VW18设置新保护段子程序2结束否否是是否POT 0变吗?子程序1开始AC1清零POT 0值传给AC1换算POT 0值加200ms偏移量AC1值传给VW0子程序1结束10.0程序和注释方案1说明了用模拟电位器对定时器设定值进行细调的方法。首先通过程序中的偏移量(本例中为20ms)对定时器进行粗调,然后再用电位器能把定时器的设定值精确地调整到满意的设置。每个定时器周期之后,执行子程序1中的指令,把POT 0的值(在SMB28中)读到AC1,除以2,再加上200ms偏移量。返回主程序时,AC2中的定时器循环计数值加1,并拷贝到输出字节(QB0),以供显示。在方案2中,对

5、电位器1(POT 1)的100次扫描值在AC3中累加后并取平均,再存入VW12。如果该值低于低保护限值VW14,或高于高保护限值VW16(两者均在首次扫描时初始化),则将新值VW12拷贝到VW14、VW16和VW18中。然后再分别对VW16和VW14的值减、加3ms,作为新限值,而VW18中的平均值被传回主程序作为定时器T34的设定值。返回主程序时,VW20中的定时器循环计数值加1,并拷贝到输出字节(QB1),以供显示。在方案3中,把电位器0(POT 0)的值直接作为定时器T35的设定值,AC2中的定时器循环计数值加1,并拷贝到输出字节(QB0),以供显示。本程序长度为110个字。 / 标题:

6、模拟电位器: / * * * * * * * * * * * * * * *主程序 * * * * * * * * * * * * * * * / 这是S7-200的一个演示程序,介绍了使用模拟电位器调整定时器设定值的三种方案。 / 方案1:对来自POT 0的值进行换算并加偏移量,以调整定时器的设定值,可以从200ms调到的1.48s。 每个定时器周期QB0加1。 / 方案2:从POT 1来的值经过滤波给定时器提供0ms到约2.55s的稳定的设定值。每个定时器周期QB1 加1。 / 方案3:把POT 0的值直接作为定时器设定值。每个定时器周期QB0加1。 / 模拟电位器POT 0和POT 1的

7、值可以分别从SMB28和SMB29中以一个字节读出。 / 每次扫描时,POT的值会变化一点,方案1和2都能为定时器提供稳定的设定值。 / 方案1的设定值会改变1次或2次,但每个定时器周期只装载一次。 / 方案2的设定值非常稳定,每次扫描都装载。 / 方案3的设定值每次扫描都会改变。 / 主程序: LD SM0.1 / 首次扫描时清除工作缓冲区: MOVD+0,AC0 / AC0=0。 MOVD+0,AC3 / AC3=0。 MOVW+0,VW10 / VW10=0。 MOVW+32000,VW14 / 低限工作区复位。 MOVW+0,VW16 / 高限工作区复位。 / 方案1: / 每次扫描时

8、POT的值会改变一点。 / 下面的指令用来在每个定时器周期捕获一次换算后的值,并提供一个稳定的定时器设定值。 LDI0.0 / 如果输入I0.0为1状态,则选方案1。 TONT33,VW0 / POT 0的值经运算后作为T33的设定值。 CALL1 / 调用子程序1对POT 0的值进行换算并加偏移量。 LDT33 / 若T33计时到, INCWAC2 / 则AC2加1,即定时器循环计数。 MOVBAC2,QB0 / 把AC2的最低有效字节拷贝到输出字节QB0,以供显示。 RT33,1 / 定时器T33复位。 / 方案2: LDI0.1 / 如果输入I0.1为1状态,则选方案2。 CALL2 /

9、 调用子程序2,对POT 1的值进行滤波运算后存入VW18。 TONT34,VW18 / VW18的值作为T34的设定值。 LDT34 / 若T34计时到, INCWVW20 / 则VW20加1,即定时器循环计数。 MOVBVB21,QB1 / 把VW20最低有效字节(VB21)拷贝到输出字节QB1,以供显示。 RT34,1 / 定时器T34复位 / 方案3: LDI0.2 / 如果输入I0.2为1状态, ANI0.0 / 且方案1不在运行(I0.0=0),则选方案3。 MOVW0,AC1 / 清除累加器1(AC1) MOVBSMB28,AC1 / 送POT 0的值到AC1。 TONT35,A

10、C1 / POT 0的值作为T35的设定值。 LDT35 / 若T35计时到, INCWAC2 / 则AC2加1,即定时器循环计数。 MOVBAC2,QB0 / 把AC2最低有效字节拷贝到输出字节QB0,以供显示。 RT35,1 / 定时器T35复位。 MEND / 主程序结束 / 方案1的子程序 SBR1 / 子程序1。 / 换算POT 0的值并加上偏移量后存在VW0中,再返回主程序。 LDT33 / 每个定时器周期检查POT 0的变化。 MOVW0,AC1 / 清除累加器1(AC1)。 MOVBSMB28,AC1 / 送POT 0的值给AC1。 DIV2,AC1 / AC1除2,即把POT

11、 0的输入范围从0255换算成0127。 +120,AC1 / 加200ms偏移量。 MOVWAC1,VW0 / 把AC1值拷贝到VW0,以便能让程序员读取。 RET / 子程序1结束。 / 方案2的子程序 SBR2 / 子程序2。 / 对POT 1值采样100次,然后求平均值。 INCWVW10 / 扫描计数器加1。 MOVBSMB29,AC0 / 送POT 1的值到AC0。 +1AC0,AC3 / 再加到以前的总和中(即累加POT1的值,共累加100次)。 LDWVW10,100 / 100次扫描之后。 DIV100,AC3 / 求平均值。 MOVWAC3,VW12 / 存平均值。 MOV

12、W0,VW10 / 扫描计数器复位。 MOVD0,AC3 / 工作内存复位。 AW=VW12,VW16 / FILLVW12,VW14,3 / 把新的平均值存入VW14,VW16,VW18。 -1+3,VW14 / 设置新的低保护限。 +1+3,VW16 / 设置新的高保护限。 RET / POT 1的滤波值存在VW18中,返回主程序H.2怎样使用高速计数器概述本例叙述SIMATIC S7-200的高速计数器(HSC)的一种组态功能。对来自传感性(如编码器)信号的处理,高速计数器可采用多种不同的组态功能。本例用脉冲输出(PLS)来为HSC产生高速计数信号,PLS可以产生脉冲串和脉宽调制信号,例

13、如用来控制伺服电机。既然利用脉冲输出,必须选用CPU 224DC/DC/DC。下面这个例子,展示了用HSC和脉冲输出构成一个简单的反馈回路,怎样编制一个程序来实现反馈功能。例图程序框图.INT2:第三次设定值INT1INT0INT2.100015001000子程序1:起动HSC0主程序子程序0:初始化,起动PLSINT0:第一次设定值INT1:第二次设定值在脉冲序列末程序停止程序和注释本例描述了S7-200 DC/DC/DC的高速计数器(HSC)的功能。HSC计数速度比PLC扫描时间快得多,采用集成在CPU 224中的20K硬件计数器进行计数。总的来说,每个高速计数器需要10个字节内存用来存控制位、当前值、设定值、状态位。本程序长度为91个字。 / 主程序: / 在主程序中,首先将输出Q0.0置,0,因为这是脉冲输出功能的需要。再初始化高速计 / 数器HSC0,然后调用子程序0和1。 / HSC0起动后具有下列特性:可更新CV和PV值,正向计数。 / 当脉冲输出数达到SMD72中规定的个数后,程序就终止。 / 主程序 LDSM0.1 / 首次扫描标志(SM0.1=1)。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号