西门子1200PLC基础篇——连续控制程序编写
西门子1200PLC基础篇——连续控制程序编写
今天开始我们一起学习西门子S7-1200PLC的简单梯形图程序编写,后续还会有复杂梯形图程序、SCL语言程序等更新。
今天我们一起学习的是连续控制程序编写。编写程序前,我们首先要做的是创建项目,添加设备,保存工程。如果不会操作,可以看我之前发的文章。
之后在右边项目树打开“PLC变量”的“默认变量表”
在默认变量表中,我们添加变量,就是我们给I0.0这样的地址添加注释。其实我们在梯形图的编写过程中也可以添加注释,但是后续我们用SCL语言编程的时候只能在变量表里添加,我们现在开始就要养成这个习惯。
在添加变量的时候,系统默认的数据是“bool”,所谓的布尔量就是数字量,就是“0”和“1”两个量,西门子S7-1200PLC除了布尔这个类型之外还有很多的数据类型,具体可以看下表
在软件里我们可以看到有50种左右的数据类型,以上是常用的一些数据类型。今天我们只用到“bool”,其他的数据类型等我们用到了,我们再一一学习。
我们在编辑变量表的时候可以在右边的下拉菜单中编辑数据类型和地址,也可以在栏中直接输入修改,改成我们想要的数据类型和地址。
设置完之后,我们可以在项目树的“程序块”中打开Main[OB1],进行编程。
程序编写的时候我们可以直接在下图的红框(收藏栏)中直接拖到程序段里,也可以在右边基本指令“位逻辑运算”中寻找。从左往右依次是常开触点、常闭触点、线圈、空功能框、打开分支、嵌套闭合和置复位指令,收藏栏中的便捷按钮我们也可以根据自身的习惯进行修改。
拖到位之后,双击上面的问号,输入地址
如果需要并联,可以用红框中的“打开分支”和“嵌套闭合”两个按钮来实现
由于我们之前变量表中已经编辑过了,所以在程序编写过程中当我们输入地址之后,会有对应的注释自动显示出来。程序编写好之后,我们编译下载进PLC就可以了。
接通程序中接通启动常开触点I0.0,输出线圈Q0.0工作,输出线圈Q0.0的自锁触头闭合自锁,使Q0.0保持工作。断开停止常闭触点I0.1,输出线圈Q0.0停止工作,输出线圈Q0.0的自锁触头断开。
资深电气工程师总结的PLC最全编程算法,收藏备用
PLC编程算法(1):开关量
PLC中无非就是三大量:开关量,模拟量,脉冲量。搞清楚三者之间的关系,你就能熟练的掌握PLC了。
1,开关量也称逻辑量,指的是两个取值,0或1,ON或OFF。它是最常用的控制,对它进行控制是PLC的优势,也是PLC最基本的应用。
开关量控制的目的是,根据开关量的当前输入组合与历史的输入顺序,使PLC产生相应的开关量输出,以使系统能按一定的顺序工作。所以,有时也称其为顺序控制。
而采用顺序控制又分为手动,半自动或自动。而采用的控制原理有分散,集中与混合控制方式。
2,模拟量是指一些连续变化的物理量,如电压,电流,压力,速度,流量等。
PLC是由继电控制引入微处理技术后发展而来的,可方便及可靠地利用开关量控制。由于模拟量可转换成数字量,数字量只是多位的开关量,故经转换后的模拟量,PLC也完全可以可靠的进行处理控制。
由于连续的生产过程常有模拟量,所以模拟量控制有时也称过程控制。
如果要点不是标准的,必须经过,把非标准的体积变成标准的电信号,如4-20mA,1-5V,0-10V等。
同时还要有模拟量输入单元(A / D),把这些标准的电信号转换成数字信号;模拟量输出单元(D / A),以把PLC处理后的数字量转换成模拟量-标准的电信号。
同时还要有模拟量输入单元(A / D),把这些标准的电信号转换成数字信号;模拟量输出单元(D / A),以把PLC处理后的数字量转换成模拟量-标准的电信号。
因此标准电信号,数字量之间的转换就要用到各种运算。这需要搞清楚模拟量单元的分辨率以及标准的电信号。
例如:
PLC模拟单元的分辨率是1/32767,对应的标准电量是0—10V,所要检测的是温度值0—100℃。那么0—32767对应0—100℃的温度值。然后计算出1℃所对应的数字量是327.67。如果想把温度值精确到0.1℃,把327.67 / 10即可。
这些都是PLC内部数字量的计算过程。模拟量控制包括:反馈控制,前馈控制,比例控制,模糊控制等。
3,脉冲量是其取值总是不断的在0(连续)和1(高峰值)之间交替变化的数字量。每秒钟脉冲交替变化的次数称为频率。
PLC脉冲量的控制目的主要是位置控制,运动控制,轨迹控制等。例如:脉冲数在角度控制中的应用。步进电机驱动器的分开是每圈10000,要求步进电机旋转90度。那么所要动作的脉冲数值= 10000 /(360/90)= 2500。
PLC编程算法(2)-模拟量的计算
一,-10—10V;-10V—10V的电压时,在6000分辨率时被转换为F448—0BB8Hex(-3000—3000);12000分辨率时被转换为E890—1770Hex(-6000—6000)。
二, 0—10V;0—10V的电压时,在12000分辨率时被转换为0—1770Hex(0—6000);12000分辨率时被转换为0—2EE0Hex(0—12000)。
三, 0—20mA;0—20mA的电流时,在6000分辨率时被转换为0—1770Hex(0—6000);12000分辨率时被转换为0—2EE0Hex(0—12000)。
四, 4—20mA;4—20mA的电流时,在6000分辨率时被转换为0—1770Hex(0—6000);12000分辨率时被转换为0—2EE0Hex(0—12000)。
以上仅做简单的介绍,不同的PLC有不同的分辨率,和您所测量的物理量实现的尺寸不一样。计算结果可能有一定的差异。
注:模拟输入的配线的要求
1,使用屏蔽双绞线,但不连接屏蔽层。
2,当一个输入不使用的时候,将V IN和COM端子短接。
3,模拟信号线与电源线隔离(AC电源线,高压线等)。
4,当电源线上有干扰时,在输入部分和电源单元之间安装一个考虑波器。
5,确认正确的接线后,首先给CPU单元上电,然后再给负载上电。
6,断电时先切断负载的电源,然后再切断CPU的电源。
PLC编程算法(3)-脉冲量的计算
脉冲量的控制多用于步进电机,伺服电机的角度控制,距离控制,位置控制等。以下由步进电机为例来说明各控制方式。
1,步进电机的角度控制。首先要明确步进电机的细分数,然后确定步进电机转一圈所需要的总脉冲数。计算“角度百分比=设定角度/ 360°(即一圈)”“角度动作脉冲数=一圈总脉冲数*角度百分比。”
公式为:角度动作脉冲数=一圈总脉冲数*(设定角度/ 360°)。
2,逐步电机的距离控制。首先延长步进电机转一圈所需要的总脉冲数。然后确定步进电机滚轮直径,计算滚轮周长。计算每个脉冲运行距离。最后计算设定距离所要运行的脉冲数。
公式为:设定距离脉冲数=设定距离/ [(滚轮直径* 3.14)/一圈总脉冲数]
3,步进电机的位置控制就是角度控制与距离控制的综合。
以上只是简单的分析步进电机的控制方式,可能与实际有出入,成为各位同仁参考。
伺服电机的动作与步进电机的一样,但要考虑伺服电机的内部电子齿轮比与伺服电机的减速比
相关问答
plc中四则运算怎么实现?
plc中四则运算怎么现实,这个应该不是很难根据编程手册中的基本指令即可完成。这里面需要注意几个问题,对于使用三菱plc的编程者来说,有整型的还有浮点型的四则...
plc如何实现3个连续动作?
plc如何实现3个连续动作?先简单看下plc的工作原理,当我们把编写好的程序下载到plc中它就开始对用户程序进行扫描这是它的核心工作,整个扫描过程称之为一个运...
PLC里面脉冲数是有限的,我想连续无缝脉冲怎么编写,我用的是信捷XC2PLC就是步进电机一直转不停?
用PLSF指令,条件满足就一直发脉冲了发送过程中也可以随意改变频率用PLSF指令,条件满足就一直发脉冲了发送过程中也可以随意改变频率
plc编程能连续编100步是什么水平?
1.连续编100步是一种较高水平。2.这是因为PLC编程需要对控制逻辑进行精确的设计和编写,而连续编100步意味着需要处理较为复杂的控制任务。这需要具备扎实的...
在西门子的PLC里,利用定时器指令编程产生连续方波输出,其周期为3秒,占空比为2:1?
开启一个100毫秒的定时器,定时3秒,3秒计时到将定时器复位让其自动重新计时,然后判断计时当前值,小于2秒时为1,大于2秒时为0,大概就这样吧,话说嘛叫占空比...
三菱plc如何控制步进电机连续运行?
回答如下:步进电机是一种开环控制的驱动方式,因此需要使用外部的控制器,如PLC来控制步进电机的运行。以下是控制步进电机连续运行的步骤:1.选择适当的PLC型...
在PLC中使用数学问题有哪些?
在PLC(可编程逻辑控制器)中使用数学问题主要涉及以下几个方面:算术运算:PLC可用于执行基本的算术运算,如加法、减法、乘法和除法。这些运算可用于各种应用,...
问一个问题:PLC中,在SCL编程时,如何让IF语句中,Then后面的两条语句连续执行?加什么符号?
SCL语言中,用BEGIN和END分别代替C语言中的“{”和"}",这样应该清楚了吧比如,C语言这样写main{inti,j,num;if(num==0){i=i+...
三菱PLC编程时,时间继电器需要设置两个小时,怎么编辑?谢谢?
三菱PLC编程时,时间继电器需要设置两个小时,怎么编辑查询三菱FX3系列的PLC编程手册,我们知道定时器定时的最长时间为3276.7秒也就是54分钟多,远远满足不了你...
三菱plc脉冲累加指令?
三菱PLC脉冲累加指令是一种用于累加脉冲信号的指令,可以将输入的脉冲信号进行计数,并将计数结果存储在指定的寄存器中。该指令可以用于各种计数应用,如计数器...