用S7-1200 PLC实现循环彩灯的控制,含源程序
在S7-1200型PLC的实际编程工作中,无论是经验设计法还是顺序控制设计法对于要求比较复杂的任务都会产生大量的程序段,可读性差。本实例通过常见的循环彩灯控制为例,了解学习S7-1200型PLC程序块的应用。
相关知识:移动操作相关指令
(1) 移动值MOVE指令
MOVE指令用于将IN输入端的源操作数(数值或地址中的数据)赋值给输出端OUT1指定的地址中,指令执行后源操作数保持不变。该指令支持的数据类型为除Bool型数据之外的所有数据类型。
如下图程序段是PLC上电后将Q0口数值清零,一般用于系统的上电复位。
如果输入 IN 数据类型的位长度超出输出 OUT1 数据类型的位长度,则源值的高位会丢失。如果输入 IN 数据类型的位长度低于输出 OUT1 数据类型的位长度,则目标值的高位会被改写为 0。
小提示: 移动指令MOVE一般用于批量给输出寄存器Q赋值,或者在输入信号较多的情况下批量读取输入寄存器I中的数据。
例1:控制Q1.0~Q1.7上连接的8位彩灯隔一跳一点亮
再加一个按位操作的程序进行对比
例2:读取一位拨码开关输入的数值并保存在辅助寄存器M中
再加一个按位操作的程序进行对比
通过以上对比可以看出,在一些特定情况下使用MOVE指令可以可以大量简化程序步骤。
任务布置
选用5个点动按键S0~S4给PLC的输入信号,作为花样功能选择键,8个发光二极管LED0~LED7作为PLC的输出信号,编写程序实现8个发光二极管闪烁花样的切换显示。
按下按键S1,发光二极管点亮1个,并向右循环移动点亮,每秒移动1位;
按下按键S2,发光二极管点亮2个,并向右循环移动点亮,每秒移动1位;
按下按键S3,发光二极管点亮3个,并向右循环移动点亮,每秒移动1位;
按下按键S4,发光二极管点亮4个,并向右循环移动点亮,每秒移动1位;
按下按键S5,发光二极管点亮5个,并向右循环移动点亮,每秒移动1位;
任务实施
(1) 任务分析
1)在实际应用中压力传感器是将水的压力值转换成电压信号输入给PLC、单片机等控制系统,这个输入信号是模拟量。在模块中用可调电位器来模拟了压力传感器,电位器输出的电压范围是0~5V,对应的压力量程为0~0.1MPa。S7-1200PLC集成了两路模拟信号输入,传感器将电压信号输入PLC后会经过A/D转换成范围0~27648的数字量保存在IW64中。所以在本任务中要设法将地址IW64中采集的数字信号值还原成以Pa为单位的压力值。
2)系统要求有手动和自动两种工作模式,不同工作模式由点动按键ME进行切换,因此在梯形图程序编写时采用手动单步运行程序和自动连续运行程序两个函数块进行调用,具体转换条件如下图所示。
(2)I/O地址分配表
该系统共有5个输入,3个输出,资源分配如下表。
按照I/O分配表设置PLC变量,在Portal V13 软件中设置PLC变量表如下图所示
(3)硬件接线图 按照任务控制要求和I/O地址分配表画出硬件接线图并插接导线。
此处就略过不再详细解释了
(4)梯形图程序
重点难点详解:该任务有自动连续运行和手动单步运行两种工作模式,并由点动按键ME作为切换条件,设置以下4个函数功能块:
完整梯形图参考程序
OB1中的程序
FC1 上电初始化
FC4 300ms脉冲信号
FC3跑马灯循环
FC4控制循环次数
PLC常用逻辑指令和编程方法,适合PLC初学者,不用钱也能学会PLC
PLC编程是电工必修的基础技能,很多的电工初学者都不知道该从哪里下手,不知道具体应该怎么样编程,那么我们今天就重点来看一下常用的plc编程指令以及具体的使用方法:
相关问答
plc编程小技巧?
学习plc编程可以按以下三步来进行:1、掌握PLC编程的基本原理。学习plc编程,你需要认识梯形图和继电器控制原理图,了解编程元件的分类,熟识PLC基本指令。...
PLC的LD指令怎样写编程实例与仿真?
1、打开PLC编程软件之后,在左母线右侧双击鼠标,然后在“梯形图输入”对话框中输入LD指令,即:LDX0。然后点击“确定”。2、在X0的触点后需要有一个输出才能...3...
用PLC编程,一个动作的手动自动该怎么写?
如果是以上情况的话,其实也简单,PLC的非保持寄存器在断电时都会自动归0,利用这一特性写一段指令,当上电时即判定当前为停机状态,并自动复位设备。还有一个...
我想自学plc,但我感觉plc编程指令也太多了,实际应用的时候那些指令都有用么,我都要学么?
你学它做什么?我也学过一点PLC确实那个的指令好多,但是今后不一定都能用得上的,学一些常用的我感觉就可以了。那东西太杂太乱,反正我是不太喜欢学那东西。...
西门子1200模拟量输入编程实例?
以下是使用西门子S7-1200PLC进行模拟量输入编程的示例代码:1.配置模拟量输入模块在S7-1200PLC的硬件配置中,添加模拟量输入模块,并配置其参数。例如,如...
西门子PLC编程是什么?难学吗?
梯形图,指令表,还好了不算太难,但是要是编完整的,工业实际需要的,也不是那么简单,要考虑很多东西。要是有高级语言基础。例如c++等,就好学点。编程还必须...
有什么好办法能够很快的记住PLC编程指令?
面时,“时间设定”的数字输入就连上你程序里设定时间的VW,这样就行了。面时,“时间设定”的数字输入就连上你程序里设定时间的VW,这样就行了。
PLC在编程指令中注解怎么显示?
PLC在编程指令中注解可以通过添加注释来显示。注释是程序员在编写代码时添加的文本,用于解释代码的功能和目的。在PLC编程中,注释可以帮助其他程序员或维护人...
西门子1500plc编程指令?
西门子1500PLC编程指令包括但不限于以下几种:LD指令用于加载数据,AND指令用于逻辑与运算,OR指令用于逻辑或运算,XOR指令用于逻辑异或运算,MOV指令用于数据...
plc编程实现15个指示灯依次轮流点亮?
这个很简单。我用的是西门子的,就用西门子举例吧,常亮的直接输出,闪烁的用时钟m0,有8个不同的闪烁频率,你选一个就行了去当另外两个指示灯。并联输出。如...