S7-200PLC编程例子

合集下载

s7-200 编程实例

s7-200 编程实例

s7-200 编程实例English Answer:S7-200 is a programmable logic controller (PLC) manufactured by Siemens. It is widely used in industrial automation systems for controlling and monitoring various processes. In this article, we will discuss a programming example using S7-200.Let's consider a simple scenario where we want to control the operation of a motor based on the input from a sensor. We will use ladder logic programming to achieve this.First, we need to configure the input and output modules of the S7-200 PLC. Connect the sensor to an input module and the motor to an output module. Assign appropriate addresses to these modules.Next, we will write the ladder logic program. Open theprogramming software for S7-200 and create a new project. Add a new ladder logic network and start programming.In ladder logic, we use various instructions to control the flow of the program. For example, we can use a normally open (NO) contact to represent the sensor input and a normally closed (NC) contact to represent the motor output. We can use an output coil to control the motor.The ladder logic program will have the following structure:Start the program.Read the sensor input.Based on the sensor input, control the motor output.End the program.To read the sensor input, we can use a normally open contact connected to the input module. If the sensor isactive, the contact will close, indicating a logic 1. Otherwise, it will remain open, indicating a logic 0.Based on the sensor input, we can use a normally closed contact to control the motor output. If the sensor is active, the contact will open, de-energizing the outputcoil and stopping the motor. If the sensor is inactive, the contact will close, energizing the output coil and starting the motor.Finally, we need to end the program by adding an end instruction.Once the ladder logic program is complete, we can download it to the S7-200 PLC and put it into operation. The PLC will continuously scan the program and execute the instructions based on the input and output conditions.This is a basic example of programming the S7-200 PLC. It demonstrates how to control a motor based on a sensor input using ladder logic. With the flexibility and versatility of the S7-200 PLC, more complex automationtasks can be achieved.中文回答:S7-200是由西门子制造的可编程逻辑控制器(PLC)。

s7-200 多路pid编程实例

s7-200 多路pid编程实例

s7-200 多路pid编程实例1. 背景介绍s7-200PLC是西门子公司推出的一款小型PLC控制器,广泛应用于工业自动化领域。

在工业生产过程中,温度、压力、流量等参数的控制是非常重要的,而PID控制是一种常用的控制方法。

本文将结合s7-200 PLC,介绍多路PID控制的实例编程方法。

2. PID控制原理2.1 比例控制(P):输出与误差成正比,用于调节系统的稳定性2.2 积分控制(I):校正系统长期偏差,提高系统的稳定性和鲁棒性2.3 微分控制(D):校正系统的瞬时变化,提高系统的响应速度3. 多路PID控制的应用场景在工业生产过程中,经常需要对多个参数进行同时控制,比如温度、压力、流量等。

使用多路PID控制可以有效提高生产质量,并且降低能耗成本。

4. s7-200 PLC多路PID编程实例4.1 硬件搭建:首先搭建s7-200 PLC的硬件环境,包括输入模块、输出模块以及传感器等。

4.2 软件编程:通过西门子PLC编程软件进行多路PID控制的程序编写,包括参数设定、控制逻辑实现等。

4.3 参数调试:在实际运行过程中,对PID控制参数进行调试优化,确保系统的稳定性和控制效果。

5. 实验结果分析通过对多路PID控制实例的实验,可以得到不同参数下的控制效果,并对比分析不同参数对系统的影响。

6. 总结与展望本文针对s7-200 PLC的多路PID控制实例进行了详细介绍,通过实验结果分析可以看出,在工业自动化领域中,多路PID控制具有重要的应用价值。

未来随着工业自动化技术的不断发展,多路PID控制技术也将得到进一步的改进和应用。

通过以上的内容,本文对s7-200多路PID编程实例进行了详细的介绍,对读者进行了系统的指导,使得读者对于PLC的多路PID编程实例有了更深入的了解。

扩展内容7. 多路PID控制的优势传统的单路PID控制在某些多参量系统中存在一定的局限性,难以同时满足多个控制要求。

而多路PID控制技术可以针对不同的参数进行独立的控制,使得系统在多个参数下能够保持良好的稳定性和动态性能。

S7_200PLC程序的设计举例

S7_200PLC程序的设计举例

S7_200PLC程序的设计举例S7-200是一款西门子公司推出的小型可编程逻辑控制器(PLC),广泛应用于工业自动化控制系统中。

它具有编程灵活、功能强大、性能稳定等特点,可用于控制各种设备和过程。

下面将通过一个具体的举例来说明S7-200PLC程序的设计思路和步骤。

假设我们要设计一个自动化控制系统,控制和监测一个简单的流水线加工过程。

该流水线有一个进料输送带、一个加工工位和一个出料输送带。

整个过程需要按照以下步骤进行控制:1)启动进料输送带;2)当物料到达加工工位时,启动加工工位;3)当物料加工完成后,停止加工工位并启动出料输送带;4)当物料离开出料输送带时,停止出料输送带。

首先,我们需要对整个流程进行拆分,确定各个步骤所对应的PLC程序。

按照上述步骤,我们可以将整个流程拆分为以下几个部分:进料输送带控制、加工工位控制、出料输送带控制。

接下来,我们逐一来设计每个部分的PLC程序。

1.进料输送带控制:我们需要一个输入信号来检测物料是否到达起始位置,可以使用一个光电开关来实现。

建立一个标记位用于记录物料是否到达起始位置,当光电开关感应到物料时,标记位置为1;当物料离开起始位置时,标记位置为0。

此外,我们还需要一个输出信号来控制输送带的启停,设为Q0.0。

进料输送带的PLC程序可以如下设计:-PLC程序设计-I:1.0/0---,-----+当输入I:1.0/0检测到物料到达起始位置时,输出O:0.0/0为1,启动输送带;当检测到物料离开起始位置时,输出O:0.0/0为0,停止输送带。

2.加工工位控制:加工工位需要一个输入信号来检测物料是否到达工位,同样可以使用光电开关来实现。

建立一个标记位用于记录物料是否到达工位,当光电开关感应到物料时,标记位置为1;当物料离开工位时,标记位置为0。

此外,我们还需要一个输出信号来控制工位的启停,设为Q0.1、加工工位的PLC程序可以如下设计:-PLC程序设计-I:1.0/1---,-----+O:0.1/0---+-----+-()当输入I:1.0/1检测到物料到达工位时,输出O:0.1/0为1,启动工位;当检测到物料离开工位时,输出O:0.1/0为0,停止工位。

s7-200编程举例

s7-200编程举例

昨天学习了位逻辑控制指令,也有提到可以自己找一些小程序的例子,包括像启保停、正反转控制、单按钮控制、连锁控制、互锁控制、顺序控制等等这样的例子来练习。

那么你有练习吗?不知道你掌握的如何呢?今天的话就来练习一下难度相对大一点的程序案例,是这样一个五站点呼叫小车的案例,控制要求如下,今天就学习一下案例应该怎么来编程吧。

[CENTER][/CENTER]首先,我们分析一下控制要求,要求是当一个站点按下按钮后,小车会自动进行到呼叫点,也就是到呼叫点就会停止下来。

那么其实这里的呼叫按钮就相当于我们启保停的启动按钮,而行程开关就相当于停止按钮,那么在这里就可以做以下这样五个启保停程序。

等到处理完这个要求之后就是处理小车是左行还是右行的控制了。

在这里假定小车是停在最右的1号行程开关的,那么按下1号呼叫按钮是无效的,只能是按下2、3、4、5号呼叫按钮,所以在左行的控制程序里面是没有1号呼叫按钮的。

假如我们按下2号呼叫按钮,小车会左行,而到了行程开关2又会停下来,然后再按下3号呼叫按钮,小车还会左行,并到相应的行程开关处停下来。

如果再按下的是2号呼叫按钮,此时小车的左行不再接通了,而会右行到行程开关2处。

这就是程序是先在呼叫按钮上串联一个对应的行程开关,再并联下一个呼叫按钮并做对应的停止行程开关的原因了。

再假定小车在最左的5号行程开关处,按下5号呼叫按钮也是无效的,只能是按下1、2、3、4号呼叫按钮。

假如我们按下4号呼叫按钮,小车会右行,而到了行程开关4又会停下来,然后再按下3号呼叫按钮,小车还会右行,并到相应的行程开关处停下来。

如果再按下的是4号呼叫按钮,此时小车的右行不再接通了,而会左行到行程开关4处。

这就是对控制要求的分析和程序的分析了。

程序如下:所以,我们进行编程之前首先要做的是对控制要求进行分析,分析之后才能更好的编写出程序出来。

然后还有一个很重要的是启保停电路,经过这个例子也会知道启保停电路是“万能”的了吧?这些都是可以灵活运用的。

s7-200 编程实例

s7-200 编程实例

s7-200 编程实例English Answer:S7-200 Programming Example.In this programming example, we will discuss how to program the S7-200 PLC (Programmable Logic Controller). The S7-200 PLC is a popular choice for small to medium-sized automation projects due to its compact size and ease of use.To begin programming the S7-200 PLC, we need to use a programming software called STEP 7-Micro/WIN. This software allows us to create and edit the ladder logic program that will control the PLC.Once we have installed the STEP 7-Micro/WIN software,we can connect our PC to the S7-200 PLC using a programming cable. This cable is usually provided with the PLC or canbe purchased separately. The cable connects to the programming port on the PLC and the serial or USB port onthe PC.Once the connection is established, we can open the STEP 7-Micro/WIN software and create a new project. In the project, we can define the hardware configuration of the PLC, such as the number and type of input and output modules.Next, we can start programming the PLC by creating ladder logic diagrams. Ladder logic is a graphical programming language that represents the control logic in a relay ladder diagram format.For example, let's say we want to program the S7-200 PLC to control a motor. We can create a ladder logic diagram that includes an input contact to monitor a start button, a coil to control the motor, and a timer to control the motor's running time.In ladder logic, we can use various instructions such as contacts, coils, timers, counters, and arithmetic operations to create the desired control logic. Theseinstructions can be easily dragged and dropped from the software's instruction library.Once the ladder logic program is created, we can download it to the S7-200 PLC using the programming cable. The program is stored in the PLC's memory and will be executed in real-time to control the connected devices.After downloading the program, we can test and debug it using the software's simulation mode. This allows us to verify the program's functionality without actually connecting the PLC to the physical devices.Once we are satisfied with the program's performance, we can disconnect the programming cable and connect the PLC to the actual devices. The program will then control the devices based on the defined logic.Overall, programming the S7-200 PLC is astraightforward process using the STEP 7-Micro/WIN software and ladder logic programming. It provides a flexible and reliable solution for a wide range of automationapplications.中文回答:S7-200编程实例。

S7-200编程实例

S7-200编程实例
每个定时器周期QB0加1。 // 方案2:从POT 1来的值经过滤波给定时器提供0ms到约2.55s的稳定的设定值。每个定时器周期QB1
加1。 // 方案3:把POT 0的值直接作为定时器设定值。每个定时器周期QB0加1。
// 模拟电位器POT 0和POT 1的值可以分别从SMB28和SMB29中以一个字节读出。 // 每次扫描时,POT的值会变化一点,方案1和2都能为定时器提供稳定的设定值。 // 方案1的设定值会改变1次或2次,但每个定时器周期只装载一次。 // 方案2的设定值非常稳定,每次扫描都装载。 // 方案3的设定值每次扫描都会改变。
本程序长度为91个字。
// 主程序: // 在主程序中,首先将输出Q0.0置,0,因为这是脉冲输出功能的需要。再初始化高速计 // 数器HSC0,然后调用子程序0和1。 // HSC0起动后具有下列特性:可更新CV和PV值,正向计数。 // 当脉冲输出数达到SMD72中规定的个数后,程序就终止。
// 主程序
S7-200应用示例
H.2 怎样Leabharlann 用高速计数器概述 例图本例叙述SIMATIC S7-200的高速计数器(HSC)的一种组态功能。对来自传感性(如编码 器)信号的处理,高速计数器可采用多种不同的组态功能。
本例用脉冲输出(PLS)来为HSC产生高速计数信号,PLS可以产生脉冲串和脉宽调制信 号,例如用来控制伺服电机。既然利用脉冲输出,必须选用CPU 224DC/DC/DC。
设置新保护段
将新的模拟电位器值送回到VW18
主程序结束
子程序2结束
子程序1 开始

POT 0 变吗?
AC1清零 POT 0值 传给AC1
换算 POT 0值
加200ms 偏移量

S7-200PLC子程序指令及应用实例

S7-200PLC子程序指令及应用实例

S7-200PLC子程序指令及应用实例S7-200 PLC把程序主要分为三大类:主程序、子程序和中断程序。

在实际应用中有些程序内容可能被反复使用,对那些需要经常执行的程序段,可设计成子程序的形式,并为每个子程序赋以不同的编号,在程序执行的过程中,可随时调用某个编号的子程序。

子程序的优点在于它可以用于对一个大的程序进行分段及分块,使其成为较小的更易管理的程序块。

程序调试、程序检查和程序维护时,可充分利用这项优势。

子程序只在需要时才被调用、执行。

这样就可以更有效地使用PLC,充分利用CPU的时间。

1)子程序的建立。

可以采用下列方法创建子程序:·在编辑环境的程序块中点击鼠标右键,选择“插入子程序SBR_n”(n的范围为:0~63)。

·从编辑菜单中,选择插入子程序SBR_n。

只要插入了子程序,程序编辑器底部就将出现一个新标签,标志新的子程序名。

此时,可以对新的子程序编程。

2)为子程序定义参数根据子程序有无参数,可以将子程序分为有参子程序和无参子程序,如果该子程序带有参数,就要使用该子程序的局部变量表来定义参数。

S7-200为每个程序都安排了局部变量表,必须利用选定该子程序后出现的局部变量表为该子程序的局部变量,S7-200对其局部变量参数有以下规定:·子程序在带参数调用时,最多可以带16个参数。

每个参数包含变量名、变量类型和数据类型。

这些参数在子程序的局部变量表中进行定义。

·变量名由不超过8个字符的字母和数字组成,但第一个字符必须是字母。

·变量类型:在子程序带参数调用时可以使用4种变量类型,根据数据传递的方向,依次安排这些变量类型在局部变量表中的位置,包含:①IN类型(传入子程序型)。

②IN/OUT类型(传入/传出子程序型,调用子程序时,将指定地址的参数传入子程序,子程序执行结束时,将得到的结果值返回达到同一个地址)。

③OUT类型(传出子程序型)。

④TEMP类型(暂时型,用于在子程序内部暂时存储数据,不能用来与主程序传递参数数据)。

用S7-200编程的五个实例的解析

用S7-200编程的五个实例的解析

用S7-200编程的五个实例的解析wyb2866255建议删除该贴!! | 收藏| 回复| 2010-09-23 23:12:23楼主本文用S7-200编写的五个实例是根据网上网友的求助编写的,供大家参考。

1、一网友求助:“本人是PLC新手,刚学习不到一个月,现有一个项目~~ 要对目标信号进行检测计数~~ 信号为24V直流~~ 每隔一定的时间进行信号端检测,如果为“1”即有信号,则对信号进行计数,并最终输出总共检测到的“1”的数目~~ 如果在某一次时,没有检测到信号,则立即停止工作,输出已经检测到的“1”的数目,并输出报警信号~~ 要怎么实现呢?这里检测的是一个系统的返回信号,它只在特定的时间间隔上出现,这个时间间隔是已知的,不用去考虑~~如果在时间点上没有检测到,则证明系统故障~~为了是检测系统寿命~~急切PS:采用西门子S7-200系列PLC,STEP7 V4.0 SP6,组态王6.53,进行上述测试~~如果能有梯形图程序就不胜感激了~邮箱****************回复:按着你的要求,编写如下梯形图,在组态王数据词典里建立I/O整数字变量VW100,设可读方式,再设I/O字节变量M2,其BIT(M2,1)为系统启动工作位,BIT(M2,2)为报警输出位。

在运行时,组态王时时从PLC读取VW100及MB2的数据,出现报警,系统工作停止,此时的VW100值,即为报警前返回信号次数,系统检查完毕始终未出现报警,按下停止按钮,此时的VW100值即为最终检测返回信号值。

2、一网友提出:“谢谢楼主,对我这个新手来说真是好东西。

请教楼主用一个按钮控制电机正反转用S7-200怎么做,考虑了很久不太清楚,请您详细讲解一下,谢谢。

”我的回复:按着你的要求,我给你编了S7-200梯形图,用一个按钮起动电机正反转,又增加一个自锁按钮作为电机工作停止开关。

其工作原理:I1.1为自锁按钮,抬起位,其常闭触点闭合,使M2.0、M2.1、M2.2、M2.3皆为0状态,此时即使按I1,0启动按钮,SR触发器也不会反转,故电机停止不动。

PLCS7-200事例编程

PLCS7-200事例编程

S7-200实验指导书实验一基本指令的编程练习(一) 与或非逻辑功能实验一、实验目的1、熟悉PLC实验装置,S7-200系列编程控制器的外部接线方法2、了解编程软件STEP7的编程环境,软件的使用方法。

3、掌握与、或、非逻辑功能的编程方法。

二、基本指令编程练习的实验面板图左图中的接线孔,通过防转座插锁紧线与PLC的主机相应输入输出插孔相接。

I为输入点,Q为输出点。

上图中下面两排I0.0~I1.5为输入按键和开关,模拟开关量的输入。

上边一排Q0.0~Q1.1是LED指示灯,接PLC主机输出端,用以模拟输出负载的通与断。

三、梯形图参考程序通过程序判断Q0.1、Q0.2、Q0.3、Q0.4的输出状态,然后再输入并运行程序加以验证。

实验参考程序,梯形图四、实验步骤梯形图中的I0.1、I0.3分别对应控制实验单元输入开关I0.1、I0.3。

通过专用PC/PPI电缆连接计算机与PLC主机。

打开编程软件STEP7,逐条输入程序,检查无误后,将所编程序下载到主机内,并将可编程控制器主机上的STOP/RUN开关拨到RUN位置,运行指示灯点亮,表明程序开始运行,有关的指示灯将显示运行结果。

拨动输入开关I0.1、I0.3,观察输出指示灯.Q0.1、Q0.2、Q0.3、Q0.4是否符合与、或、非逻辑的正确结果。

(二)定时器/计数器功能实验一、实验目的掌握定时器、计数器的正确编程方法,并学会定时器和计数器扩展方法,用编程软件对可编程控制器的运行进行监控。

1.定时器的认识实验定时器的控制逻辑是经过时间继电器的延时动作,然后产生控制作用。

其控制作用同一般继电器。

实验参考程序2.定时器扩展实验由于PLC的定时器和计数器都有一定的定时范围和计数范围。

如果需要的设定值超过机器范围,我们可以通过几个定时器和计数器的串联组合来扩充设定值的范围。

实验参考程序,3.计数器认识实验西门子S7-200系列的内部计数器分为加计数器,减计数器和加减计数器三种。

S7-200_PLC功能指令应用及实例

S7-200_PLC功能指令应用及实例

指令使用说明
(1)梯形图指令符号中:CU为加计数脉冲 输入端;CD为减计数脉冲输入端;R为加计 数复位端;LD为减计数复位端;PV为预置值 (2)Cxxx 为计数器的编号,范围为:
C0~C255 (3)PV预置值最大范围:32767; PV的数据 类型:INT;PV操作数为: VW, T, C, IW,
Y1
M1
S2
S1
M3F M3R
M2
(2)I/O分配 输入
起动按钮:I0.0 停止按钮:I0.3 (常闭按钮) S1按钮:I0.1 S2按钮:I0.2
输出
M1:Q0.0 M2:Q0.1 M3F:Q0.2 M3R:Q0.3 Y1: Q0.4
4.5 比较指令
比较指令是将两个操作数按指定的条件比较,操作数可以 是整数,也可以是实数,在梯形图中用带参数和运算符的 触点表示比较指令,比较条件成立时,触点就闭合,否则 断开。
I0.1
100
C1
C2(Q0.0)
100
100
2000
2. 定时器的扩展
S7-200的定时器的最长定时时间为3276.7S,如果需要更长的 定时时间,可使用图4-59所示的电路。
3. 自动声光报警操作程序
自动声光报警操作程序用于当电动单梁起重机加载到1.1倍额定负荷并 反复运行1h后,发出声光信号并停止运行。程序如பைடு நூலகம்所示。
梯形图
4.6.3 子程序调用及子程序返回指令
在程序中使用子程序,必须执行下列三项任务:建立子程序;在子程序 局部变量表中定义参数(如果有);从适当的POU(从主程序或另一个子 程序)调用子程序。
1. 建立子程序 可采用下列一种方法建立子程序: 1)从“编辑”菜单,选择插入(Insert)/ 子程序(Subroutine) 2)从“指令树”,用鼠标右键单击“程序块”图标,并从弹出菜单选择 插入(Insert)→子程序(Subroutine) 3)从“程序编辑器”窗口,用鼠标右键单击,并从弹出菜单选择插入 (Insert)→ 子程序(Subroutine)。

s7-200指令应用实例

s7-200指令应用实例
4.2.3编程注意事项及编程技巧
1.梯形图语言中的语法规定 (1)程序应按自上而下,从左至右的顺序编写。 (2)同一操作数的输出线圈在一个程序中不能使用两次,不同操作数的输出线圈可以并行输出。如图所示。
(3)线圈不能直接与左母线相连。如果需要,可以通过特殊内部标志位存储器SM0.0(该位始终为1)来连接,如图所示。
3. 定时器指令工作原理
(1)通电延时定时器(TON)指令工作原理。程序及时序分析如图4-45所示。
LD I0.0 TON T37,100 LD T37 = Q0.0
(2)记忆型通电延时定时器(TONR)指令工作原理
LD I0.0 TONR T3,100 LD I0.1 R T3,1 LD T3 = Q0.0
3. 尽量减少可编程控制器的输入信号和输出信号 可编程控制器的价格与I/O点数有关,因此减少I/O点数是降低硬件费用的主要措施。如果几个输入器件触点的串并联电路总是作为一个整体出现,可以将他们作为可编程控制器的一个输入信号,只占可编程控制器的一个输入点。如果某器件的触点只用一次并且与PLC输出端的负载串联,不必将它们作为PLC的输入信号,可以将它们放在PLC外部的输出回路,与外部负载串联。
I0.0
I0.1
Q0.0
输入映像寄存器
起动
停止
I0.0
I0.1
Q0.0
输出映像寄存器
0
1
OFF
OFF
OFF
OFF
OFF
0
LD I0.0 O Q0.0 AN I0.1 = Q0.0
CPU224
I0.0
I0.1
1M
2M
L+
DC24V
1L
Q0.0

西门子PLC编程的9个经典实例!高手勿进

西门子PLC编程的9个经典实例!高手勿进

一、小车往返运动用S7-200实现小车往返的自动控制 ,控制过程为按下启动按钮,小车从左边往右边(右边往左边运动)当运动到右边(左边)碰到右边(左边)的行程开关后小车自动做返回运动,当碰到另一边的行程开关后又做返回运动。

如此的往返运动,直到当按下停车按钮后小车停止运动。

▲电气接线图I/O分配表梯形图程序PLC接线图程序调试及结果分析▲控制平台操作面板当按下SB2即i0.0(鼠标点击i0.0f)接通后,Q0.0接通,小车右行(即指示 灯 Q0.0 亮)。

当小车运行碰到右限位开关SQ2即i0.4(用鼠标点击i0.4f,模拟SQ2被压下)接通,此时小车左行(指示灯Q0.0灭,指示灯Q0.1亮),当运行到左边碰到左限位SQ1即i0.3(鼠标点击i0.3f)接通,此时小车又往右运行(指示灯Q0.1灭,指示灯Q0.0亮)。

如此往返运动下去直到按下SB1即i0.2(鼠标点i0.2f)接通,小车停止运行。

附:二、闪光电路当按下启动按钮后,要求在两秒钟内有一秒亮有一秒灭,如此反复,灯一闪一闪 发光。

I/O分配表梯形图程序PLC接线图程序调试及结果分析把编写好的程序下载到西门子s7-200PLC中进行调试。

观察运行结果和实验要求是否相同。

通过在线控制面板进行调试,当按下在线控制面板上的I0.0f(即 I0.0接通)此时Q0.0有输出,Q0.0所接负载灯就亮,同时启动定时器T37开始计时, 当计时一秒后因T37动作,其常闭触点断开,所以Q0.0无输出,所接负载灯灭。

灯灭的同时启动定时器 T38,T38 计时一秒后,把串联在定时器T37的常闭触点断开,所以T37复位,T37常闭触点恢复常闭。

此时Q0.0 又有输出, 所接负载灯又亮。

这样,输出Q0.0上所接的负载灯以接通一秒,断开一秒频率不停的闪烁,直到按下在线控制面板上的 I0.1f(即I0.1接通),闪光电路不在继续工作。

若想改变灯闪烁的频率只要改变定时器的时间就能够达到改变要求。

(完整版)S7-200模拟量输入输出实例

(完整版)S7-200模拟量输入输出实例

对输入、输出模拟量的PLC编程的探讨及编程实例解析3134人阅读| 4条评论发布于:2011-12-29 9:03:42 对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。

不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。

比如有3个温度传感变送器:(1)、测温范围为0~200 ,变送器输出信号为4~20ma(2)、测温范围为0~200 ,变送器输出信号为0~5V(3)、测温范围为-100 ~500 ,变送器输出信号为4~20ma(1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。

一、转换公式的推导下面选用S7-200的模拟量输入输出模块EM235的参数为依据对上述的3个温度传感器进行转换公式的推导:对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma电流信号,20ma 对应数子量=32000,4 ma对应数字量=6400;对于(2)传感变送器用的模块,其模拟量输入设置为0~5V电压信号,5V对应数字量=32000,0V对应数字量=0;这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:上面推导出的(2-1)、(2-2)、(2-3)三式就是对应(1)、(2)、(3)三种温度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。

编程者依据正确的转换公式进行编程,就会获得满意的效果。

二、变送器与模块的连接通常输出4~20ma电流信号的传感变送器,对外输出只有+、- 二根连线,它需要外接24V电源电压才能工作,如将它的+、- 二根连线分别与24V电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma电流,见下左图。

S7-200PLC模拟量编程方法

S7-200PLC模拟量编程方法

1、模拟量值和A/D转换值的转换假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—D (单极性的西门子PLC200系列的0—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:A=(D-D0)×(Am-A0)/(Dm-D0)+A0根据该方程式,可以方便地根据D值计算出A值。

将该方程式逆变换,得出函数关系D=f(A)可以表示为数学方程:D=(A-A0)×(Dm-D0)/(Am-A0)+D0举几个例子:例1、以S7-200和4—20mA为例,经A/D转换后,得到的数值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出:A=(D-6400)×(20-4)/(32000-6400)+4假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。

例2、某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:T=70×(AIW0-6400)/25600-10可以用T 直接显示温度值。

例3、某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mA,AIW0的数值是32000。

可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)×4=6400。

由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为:VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(单位:KPa)再举个具体编程实例:组建一个小的实例系统演示模拟量编程。

本实例的的CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带4—20mA变送输出的温度显示仪表,该仪表的量程设置为0—100度,即0度时输出4mA,100度时输出20mA。

用s7-200编写一段程序及程序解析

用s7-200编写一段程序及程序解析

编程技巧展示:为一求助帖用S7-200编写一段程序及程序解析求助帖:四个阀门的开关由四个接近开关信号控制,要求是1、同一时刻只能一个阀门开;2、当有两个以上到位信号出现时按优先顺序打开阀门;3、每个阀门只要开通就有一定的工作时间,时间未到不开通其他阀门;4、当有两个以上到位信号在等待上一阀门工作完毕的情况下要求按“先到先开”原则对阀门排序工作。

采用的是西门子的S7-200的PLC进行控制。

胶状物体通过管路输送,末端分别由四个气动阀控制胶体进入四台双缸装药机,当其中一个缸正对阀门出口时,触发近位开关表示到位这一求助帖有一定难度,为此花费一定时间,编出如下程序,供大家分析。

除此法编程外,还可用填表与FIFO指令,按此编程思路编程,有兴趣的网友可以试试。

一、梯形图:注:(本程序经上机运行,动作正确,网络17为实验程序而编写的程序,其4个定时器的延时时间皆设定=2秒)二、程序解析:1、4个电磁阀对应PLC的输出口为Q0.0、Q0.1、Q0.2、Q0.3,工作时间分别由定时器T101~T104控制,这4个定时器的定时时间可由触摸屏或上位机设置改变。

其4个定时器的时间设置区为:VW10、VW12、VW14、VW16。

控制电磁阀打开的到位接近开关的输入地址为I0.0、I0,1、I0.2、I0.3。

2、按题意要求规定:(1)、如同时有2个以上接近开关同时到位闭合时,只容许一个电磁阀打开,对应定时器延时时间到,该阀门关闭,而另一阀门打开……阀门打开的先后次序是Q0.0优先,Q0.1次之,Q0.2再次之,Q0.3为最后。

(2、)当有两个以上接近开关先后到位时,其IB0变化的输入状态按先后次序依次存入MB13、MB12、MB11、MB10里。

动作执行是先从第一次到位的接近开关的(MB13)开始判断,使其对应阀门打开,在阀门打开且尚未结束时,其他到位的阀门则等待。

当工作的阀门工作完毕后,等待的阀门应按“先到先开”的次序进行工作(即先为MB12,再为MB11,最后为MB10)。

S7-200编程的三个实例

S7-200编程的三个实例

用S7-200编程的三个实例的解析之二1、有一网友:“求助用西门子S7-200编个梯形图。

在此,谢谢啦。

P L C c p u224×7 要求:1、液位机量程0—3米,对应输出信号0—10V,通过电位机进行模拟介入PLC模块的模拟量输入专口。

要求P L C正确读取液位机的输出信号转换成水池的液位。

2、水泵控制具有手动与自动两种模拟。

3、自动模拟:PLC内部根据液位至控制水泵的启动和停止,水泵在液位上升至2米时启动,降到1米时停止。

4、手动模拟:水泵通过按钮手动启动/停止。

5、上升到2.5米时,触发液位超上限报警,故障指示灯常亮。

6、对水泵的运行状态进行检测,当水泵运行信号输出后,检测水泵运行反馈信号。

如水泵运行信号,输出1秒后未收到水泵运行反馈信号,则故障指示灯闪亮,同时复位水泵运行信号。

7、故障状态自保持,当故障原因消除且按下复位按钮事,故障复位。

8、A L W0输入信号0—10V,对应P L C寄存器数量0—3200D,输入信号5路。

I0.0:自动手动模拟装换开关S A0,当I0.0接通时为自动模拟,I0.0断开时为手动模拟状态。

I0.1:水泵手动启动按钮S B1,常开点。

I0.2:水泵停止按钮S B2,常闭点。

I0.3:故障复位按钮S B3,常开点。

I0.4:水泵运行状态反馈,正常状态下,水泵运行信号输出后接通,水泵运行信号断开后断开。

Q:输出信号四路,Q0.0:自动模拟指示灯H L0. Q0.1:水泵运行状态指示灯H L1. Q0.2:故障指示灯H L2,超液位报警时常亮,水泵反馈信号异常报警时闪亮。

Q0.3:水泵运行输出K A3。

谢谢你的大力帮助。

”我的回复:根据“液位机量程0—3米,对应输出信号0—10V”可得出:1米对应3.33V,2米对应6.67V,2.5米对应8.33V,再由“ALW0 输入信号0—10V,对应PLC寄存器数量0—3200D”可得出:1米对应数字量10667,2米对应数字量21333,2.5米对应数字量26667,按着你的要求,编写如下梯形图,供你参考。

S7-200编程实例

S7-200编程实例

TITLE=程序注释Network 1 // 网络标题// 网络注释读取系统时间Network 2// BCD码转整数Network 3// 自动程序Network 4// 水泵启停Network 5// 过滤泵启停Network 6// 旁路阀启停Network 7// Ⅰ号气阀启停Network 8// Ⅰ号水阀启停Network 9// Ⅰ号反吹阀启停Network 10 Network 11// Ⅱ号气阀启停Network 12// Ⅱ号水阀启停Network 13// Ⅱ号反吹阀启停Network 14// Ⅱ号急停Network 15// Ⅲ号气阀启停Network 16// Ⅲ号水阀启停Network 17// Ⅲ号反吹阀启停Network 18// 进水压力不足Network 19// 进气压力不足Network 20// 过滤泵堵塞Network 21// 打开旁路阀Network 22// 主进水压力Network 23// Ⅰ号进水压力Network 24// Ⅰ号出水压力Network 25// Ⅱ进水压力Network 26// Ⅱ号出水压力Network 27// Ⅲ号进水压力Network 28// Ⅲ号出水压力Network 29// Ⅰ号进气压力Network 30// Ⅰ号出气压力Network 31// Ⅱ号进气压力Network 32// Ⅱ号出气压力Network 33// Ⅲ号进气压力Network 34// Ⅲ号出气压力Network 35 // 流量Network 36 Network 37。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用S7-200编程的三个实例的解析之二
1、有一网友:“求助用西门子S7-200编个梯形图。

在此,谢谢啦。

PLCcpu224×7
要求:
1、液位机量程0—3米,对应输出信号0—10V,通过电位机进行模拟介入PLC模块的模拟量输入专口。

要求PLC正确读取液位机的输出信号转换成水池的液位。

2、水泵控制具有手动与自动两种模拟。

3、自动模拟:PLC内部根据液位至控制水泵的启动和停止,水泵在液位上升至2米时启动,降到1米时停止。

4、手动模拟:水泵通过按钮手动启动/停止。

5、上升到2.5米时,触发液位超上限报警,故障指示灯常亮。

6、对水泵的运行状态进行检测,当水泵运行信号输出后,检测水泵运行反馈信号。

如水泵运行信号,输出1秒后未收到水泵运行反馈信号,则故障指示灯闪亮,同时复位水泵运行信号。

7、故障状态自保持,当故障原因消除且按下复位按钮事,故障复位。

8、ALW0 输入信号0—10V,对应PLC寄存器数量0—3200D,输入信号5路。

I0.0:自动手动模拟装换开关SA0,当I0.0接通时为自动模拟,I0.0断开时为手动模拟状态。

I0.1:水泵手动启动按钮SB1,常开点。

I0.2:水泵停止按钮SB2,常闭点。

I0.3:故障复位按钮SB3,常开点。

I0.4:水泵运行状态反馈,正常状态下,水泵运行信号输出后接通,水泵运行信号断开后断开。

Q:输出信号四路,
Q0.0:自动模拟指示灯HL0.
Q0.1:水泵运行状态指示灯HL1.
Q0.2:故障指示灯HL2,超液位报警时常亮,水泵反馈信号异常报警时闪亮。

Q0.3:水泵运行输出KA3。

谢谢你的大力帮助。


我的回复:根据“液位机量程0—3米,对应输出信号0—10V”可得出:1米对应3.33V,2米对应6.67V,2.5米对应
8.33V,再由“ALW0 输入信号0—10V,对应PLC寄存器数量0—3200D”可得出:1米对应数字量10667,2米对应数字量21333,2.5米对应数字量26667,按着你的要求,编写如下梯形图,供你参考。

动作原理:1、I0.0自动 / 手动,模拟开关,当改变它的状态时,其前后沿都使Q0.3=0,目的是确保进入自动模拟或手动模拟状态时,水泵都处于停止状态。

2、I0.0=0(手动模拟状态):按一下启动开关I0.1,使Q0.3=1,水泵运行,按一下启动开关I0.2,使Q0.3=0,水泵停止。

3、I0.0=1(自动模拟状态):当液面上升2米高时,模拟块输出的数字量ALWO=21333,图中2M支路的比较器动作,使Q0.3=1,水泵运行。

同时T100得电开始延时,延时1秒时,如I0.4=1(即水泵运行状态反馈正常状态下),其常闭点断开,不会触发M2.0,即不报警,但如I0.4=0(即水泵运行状态反馈异常状态),其常闭点闭合,将触发M2.0,使M2.0=1,Q0.2闪动输出,即发出反馈异常报警。

当液面高度低于1米时,ALWO<10667,第二个比较器动作,使Q0.3=0,水泵停。

当液面高度高于2.5米时,ALWO>26667,第三个比较器动作,使Q0.3=0,水泵停。

又使M2.1=1,Q0.2=1,发出故障报警。

处理完故障后,按一下I0.3,其M2.0与M2.1=0,复位。

2、网友求助:“ 要求:当带锁定按钮按下,接触器能吸合一下,马上又能断开,当按钮复位后,同一个接触器能吸合一下,马上又能断开。

所用器件没有限制,也可用PLC编程,(我想了很久也做不出来,请高手指点一下,谢
谢!!!)

我的回复:按着你的要求,分别用用继电器组成电路和用PLC编程组成同功能电路,供你参考。

注:图中的电阻R0、R1、R2阻值与继电器阻值相近即可。

3、有一网友求助:“S7-200中如何让其中以小段程序在一定的时间内循环执行?我就是让一台电机在4小时内不停的正转10分,反转10分,4 小时后一直正转. 各位大侠,帮帮忙,万分感谢。

初学编程,见笑了”
我的回复是:下图就是根据你提出的要求用S7-200编写的梯形图,下面将此程序讲解一下:
1、用I1.0作为此程序启动按钮,用I1.1作为此程序停止按钮,当按一下I1.0,使M2.0=1,M2.1=0,同时将数“12”送入MB8里,这里选用T100--T103四个通电延时定时器,T100与T102定时为10分,T101与T103定时为1秒作为正反转转换间隔。

这样当M2.0=1 起,T00得电,延时10分钟,T100触点闭合,使T101得电,延时1秒T101触点闭合,
T102得电,延时10分钟,T102触点闭合,使T103得电,延时1秒,T103动作,其常开触点吸合的前沿,使MB8内容-1,而T103的常闭触点断开,使T100--T103皆失电断开,这样T103的常闭点又闭合,使T100得电进行第二次延时....,重复12次,MB8=0,比较器输出为1,使M2.0=0、M2.1=1,M2.0=0使T100-T103循环通电延时结束,而
M2.1=1,使电机正向运行。

直至按一下I1.1停止按钮,使M2.0与M2.1同时置0,电机停止运行。

2、4小时=240分,除以20分得12,即上述T100--T103 顺序得电断电12次,正好为4小时。

3、Q1.0=1 为电机正转,当按一下I1.0按钮,M2.0=1,其常开点闭合,此时的T103与T100的常闭点都闭合,故
Q1.0=1,电机正相运行。

延时10分,T100动作,其常闭点断开,使Q1.0=0,电机停转,延时1秒,T101 动作,其常开点闭合,使Q1.1=1,电机反转,延时10分,T102 动作,其常闭点断开,使Q1.1=0,电机停,再延时1秒T103动作,其常闭点断开,使T100--T103断电,由于T103、T101的常闭点皆又闭合,于是电机又正向启动....重复12此后,由于MB8=0,比较器输出为1,使M2.0=0,使循环停止,但由于M2.1=1,使电机正转,直到按下I1.1停止按钮,。

相关文档
最新文档