PLC编程100例之10-14
1.1 交替输出回路 (输出具停电保持)
【控制要求】
第 1 次按下按钮,灯被点亮,第 2 次按下按钮,灯熄灭,第 3 次按下按钮,灯被点亮,第 4 次按下按钮,灯熄灭;如此,按钮在 1、3、5 次被按下时,灯被点亮并保持;而 2、4、6 次被按下时,灯熄灭。重新上电后,指示灯仍保持断电前的状态。
【元件说明】
【控制程序】
【程序说明】
第 1 次(单次)按下按钮:
按下按钮后,X1=On,[PLS M10]指令执行,M10 导通一个扫描周期。M10=On,且 Y1=Off
(Y1 常闭接点导通),所以第 2 行程序的 SET 和 RST 指令执行,M512 被置位,M513 被复位,而第 3 行程序中,Y1 常开接点断开,所以 SET 和 RST 指令不执行。最后一行程序中, 因 M512=On,M513=Off,所以 Y1 线圈导通,灯被点亮,直到再次按下按钮。从第 2 个扫描周期开始,因 M10=Off,所以第 2 行和第 3 行的 SET 和 RST 指令都不执行,M512 和 M513 的状态不变,灯保持点亮的状态,直到再次按下按钮。
第 2 次(双次)按下按钮:
按下按钮后,X1=On,M10 导通一个扫描周期。因 Y1 的状态为 On,与第 1 次按下按钮相反, 第 3 行的 SET 和 RST 将被执行,M513 被置位,M512 被复位,而第 2 行的 SET 和 RST 指令因 Y1 常开接点断开而不被执行。因 M512=Off,M513=On,所以 Y1 线圈断开,灯熄灭。从第 2 个扫描周期开始,因 M10=Off,所以第 2 行和第 3 行的 SET 和 RST 指令都不执行, M512 和 M513 的状态不变,灯保持熄灭的状态,直到再次按下按钮。利用 API 66 ALT 指令也可实现 On/Off 交替输出功能。
1.2 条件控制回路
【控制要求】
车床主轴转动时要求先给齿轮箱供润滑油,即保证油泵电机启动后才允许启动主拖动电机。
【元件说明】
【控制程序】
【程序说明】
本程序是一个条件控制回路的典型应用,按下供油泵启动按钮时,Y0=On,供油泵启动,开始给主拖动电机(Y1)的齿轮箱供润滑油。在供油泵启动的前提下,按下主拖动电机启动按钮时,Y1=On,主拖动电机启动。主拖动电机(Y1)运行过程中,供油泵(Y0)要持续地给主拖动电机(Y1)提供润滑油。按钮供油泵停止按钮和主拖动电机停止按钮分别停止供油泵和主拖动电机运行。
1.3 先入信号优先回路
【控制要求】
有小学生、中学生、教授 3 组选手参加智力竞赛。要获得回答主持人问题的机会,必须抢先按下桌上的抢答按钮。任何一组抢答成功后,其它组再按按钮无效。小学生组和教授组桌上都有两个抢答按钮,中学生组桌上只有一个抢答按钮。为给小学生组一些优待,其桌上的 X0 和 X1 任何一个抢答按钮按下,Y0 灯都亮;而为了限制教授组,其桌上的 X3 和 X4 抢答按钮必须同时按下时,Y2 灯才亮;中学生组按下 X2 按钮,Y1 灯亮。主持人按下 X5 复位按钮时,Y0,Y1,Y2 灯都熄灭。
【元件说明】
【控制程序】
【程序说明】
主持人未按下按钮时,X5=Off,[MC N0]指令执行,MC~MCR 之间程序正常执行。小学生组两个按钮为并联连接,教授组两个按钮为串联连接,而中学生组只有一个按钮,任何一组抢答成功后都是通过自锁回路形成自保,即松开按钮后指示灯也不会熄灭。其中一组抢答成功后,通过互锁回路,其它组再按按钮无效。支持人按下复位按钮后,X5=On,[MC N0]指令不被执行,MC~MCR 之间程序不被执行。Y0、Y1、Y全部失电,所有组的指示灯熄灭。主持人松开按钮后,X5=Off,MC~MCR 之间程序又正常执行,进入新一轮的抢答。
1.4 后入信号优先回路
【控制要求】
4 个按钮对应到 4 个指示灯,按下一个按钮后,对应的指示灯亮,同时之前点亮的指示灯熄灭。
【元件说明】
【控制程序】
【程序说明】
按下任何按钮后,对应的 X 装置由 Off→On 变化一次,在这个扫描周期里,PLS 指令执行, 对应的一个 M 辅助继电器接通一个扫描周期,则 K1M0>0,CMP 指令执行后的结果使得M11=Off,M11 的常闭接点导通,[MOV K1M0 K1Y0]指令执行,M 装置的状态将被传送到外部相应的一个输出点上,同时原来点亮状态的指示灯将熄灭。从第二次扫描周期开始,PLS 指令将不执行,M0~M3 值为 0,CMP 指令执行的结果将使M11=On,M11 的常闭接点关断,[MOV K1M0 K1Y0]指令不被执行,M 装置为 0 的状态也不会被传送到外部输出点,所以 Y 装置仍保持原来状态,直到再次按下按钮。
1.5 地下停车场出入口进出管制
【控制要求】
地下停车场的进出入车道为单车道,需设置红绿交通灯来管理车辆的进出。红灯表示禁止车辆进出,而绿灯表示允许车辆进出。当有车从一楼出入口处进入地下室,一楼和地下室出入口处的红灯都亮,绿灯熄灭,此时禁止车辆从地下室和一楼出入口处进出,直到该车完全通过地下室出入口处(车身全部通过单行车道),绿灯才变亮,允许车辆的从一楼或地下室出入口处进出。同样,当车从地下室处出入口离开进入一楼时,也是必须等到该车完全通过单行车道出,才运行车辆从一楼或地下室出入口处进出。 PLC 一开机运行时,一楼和地下室出入口处交通灯初始状态:绿灯亮,红灯灭。
【元件说明】
【控制程序】
【程序说明】
一楼和地下室的红灯共享信号 Y1,绿灯共享信号 Y2。程序的关键是当 M1 导通驱动 Y1 时,必须先判断是从一楼出入口处进入单车道还是离开单车道,因为两个方向车辆通过一楼出入口处时,[PLS M1]指令都执行,M1 都导通一个扫描周期, 所以需用一个确认信号 M20 来确认车辆是从一楼进入单行车道的状态。 同样,当 M2 导通时,必须先判断是从地下室出入口处离开单车道还是处进入单车道,因为两个方向车辆通过地下室出入口处时,[PLS M2]指令都执行,M2 都导通一个扫描周期,所有需用个确认信号 M30 来确认车辆是从地下室进入单行车道的状态。
从入门到熟练,西门子S7-200模拟量编程了解一下!
本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:
1、模拟量扩展模块接线图及模块设置
2、模拟量扩展模块的寻址
3、模拟量值和A/D转换值的转换
4、编程实例
模拟量扩展模块接线图及模块设置
EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1
图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。(后面将详细介绍)
EM235的常用技术参数:
模拟量输入特性
模拟量输入点数
4
输入范围
电压(单极性)0~10V 0~5V 0~1V 0~500mV 0~100mV 0~50mV
电压(双极性)±10V ±5V ±2.5V ±1V ±500mV ±250mV ±100mV ±50mV ±25mV
电流0~20mA
数据字格式
双极性 全量程范围-32000~+32000
单极性 全量程范围0~32000
分辨率
12位A/D转换器
模拟量输出特性
模拟量输出点数
1
信号范围
电压输出 ±10V
电流输出0~20mA
数据字格式
电压-32000~+32000
电流0~32000
分辨率电流
电压12位
电流11位
下表说明如何用DIP开关设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。
由上表可知,DIP开关SW6决定模拟量输入的单双极性,当SW6为ON时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
根据上表6个DIP开关的功能进行排列组合,所有的输入设置如下表:
6个DIP开关决定了所有的输入设置。也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准
模拟量输入模块使用前应进行输入校准。其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。其步骤如下:
A、 切断模块电源,选择需要的输入范围。
B、 接通CPU和模块电源,使模块稳定15分钟。
C、 用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
D、 读取适当的输入通道在CPU中的测量值。
E、 调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
F、 将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
G、 调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
H、 必要时,重复偏置和增益校准过程。
EM235输入数据字格式
下图给出了12位数据值在CPU的模拟量输入字中的位置
图2
可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。最高有效位是符号位,0表示正值。在单极性格式中,3个连续的0使得模拟量到数字量转换器(ADC)每变化1个单位,数据字则以8个单位变化。在双极性格式中,4个连续的0使得模拟量到数字量转换器每变化1个单位,数据字则以16为单位变化。
EM235输出数据字格式
图3给出了12位数据值在CPU的模拟量输出字中的位置:
图3
数字量到模拟量转换器(DAC)的12位读数在其输出格式中是左端对齐的,最高有效位是符号位,0表示正值。
模拟量扩展模块的寻址
每个模拟量扩展模块,按扩展模块的先后顺序进行排序,其中,模拟量根据输入、输出不同分别排序。模拟量的数据格式为一个字长,所以地址必须从偶数字节开始。例如:AIW0,AIW2,AIW4……、AQW0,AQW2……。每个模拟量扩展模块至少占两个通道,即使第一个模块只有一个输出AQW0,第二个模块模拟量输出地址也应从AQW4开始寻址,以此类推。
图4演示了CPU224后面依次排列一个4输入/4输出数字量模块,一个8输入数字量模块,一个4模拟输入/1模拟输出模块,一个8输出数字量模块,一个4模拟输入/1模拟输出模块的寻址情况,其中,灰色通道不能使用。
图4
模拟量值和A/D转换值的转换
假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—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。
具体举一个实例,以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。
又如,某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:
T=70×(AIW0-6400)/25600-10
可以用T 直接显示温度值。
模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。为了让您方便地理解,我们再举一个例子:
某压力变送器,当压力达到满量程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。温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,简单编程如下:
温度显示值=(AIW0-6400)/256
编译并运行程序,观察程序状态,VW30即为显示的温度值,对照仪表显示值是否一致。
相关问答
plc每分钟脉冲100个怎么编写程序?
编写程序需要根据PLC的型号和具体要求来确定。一般情况下,编写程序的步骤如下:可以编写程序实现每分钟100个脉冲。PLC编程主要包括输入输出定义、逻辑控制、定...
plc编程怎么编1到9?
在PLC编程中,可以使用数码管来显示数字1到9。以下是一种可能的实现方式:1.编写一个程序,用INC指令对D0寄存器进行自加操作,直到D0等于9,然后断开自加操作...
零基础怎么学PLC编程?
如果您零基础想要学习PLC编程,可以参照以下步骤:1.先了解基础概念:学习PLC编程需要先掌握电气、电子和自动化等领域的相关基础知识。了解数字电路、传感...
PLC编程中常用的进制类型?
在PLC编程中,常用的进制类型有以下三种:1.二进制:是一种基本的计算机数据表示方法,仅包含“0”和“1”这两个数字。在PLC编程中,二进制通常用于表示某个输...
plc编程十大经典程序?
PLC编程十大经典程序有:1.定时/计时程序;2.单路数字量输出程序;3.开关量按键程序;4.比较数字量程序;5.数据存储程序;6.报警记录程序;7.模拟量输出...P...
plc初始化程序如何编写三种方法?
PLC的初始化程序主要是指PLC在上电启动时运行的程序。下面介绍三种常用的PLC初始化程序编写方法:1.使用自定义函数块可以在PLC编程软件中新建一个自定义函...
s7-200plc多段速程序怎么写?
1、多段速程序需要用到定时器和计数器来实现。2、首先,明确结论:多段速程序需要根据不同的运动阶段来控制不同的速度,以满足不同的需求。3、解释原因:在程序...
工业机器人零基础,如何快速掌握PLC编程?
第一,网上买教程,目前的网络课程也是五花八门,资源丰富。各种的教程也是层出不穷,选择这种途径的人有很多,我也买过,拿到手的资料很全,内容也很丰富,...各种...
求PLC程序梯形图,西门子s7-200,模拟量输入,温度传感器量程为0到100度,我想用PLC显示?
224xpMA+默认只能接入模拟量0-10V,电流并联500欧姆电阻plc读取寄存器AIW0就是a+这个通道的值自己转换下范围0-32000对应0-10v电流6400-32000对...
零基础学习PLC怎么能入门快?入门到会要经过哪些步骤?
如果是零基础的话可能学习起来需要走的路比较长,需要你很大的耐心。我建议首先买一本PLC基础教程,或者买一些零基础培训和视频课程,淘宝上很多。通过视频课程...