西门子plc实现的数量检测控制程序,在传输带上传输工件,用传感器检测通过的产品数量,来看下整个产品数量检测控制程序的功能与实现过程。
1、程序功能
传输带传输工件,用传感器检测通过的产品数量,每通过24件产品,机械手动作一次(装箱)。机械手动作后,延时2s,机械手复位。
2、I/O分配
传输带启动按钮I0.0;传输带停止按钮I0.1;产品检测传感器I0.2;Q0.0接传输带运行电动机KM1;Q0.1接机械手KM2。
3、控制程序梯形图实例
在生产过程中,有很多模拟量存在,如压力、温度、流量、速度、PH值等。想实现自动化控制,这些模拟量需要进行处理。因此,PLC要加模拟量输入扩展模块。这样就提供了模拟量输入路径,则可以直接与现场的传感器、变送器直接相连接。
例如现场用的变送器,输出的标准信号4-20mA或1-5V,由于连接模拟量输入模块,将信号传输到每块模拟量输入模块。又因为模拟量输入模块的每个通道都有个A/D转换器,把输入的模拟量信号转换为CPU能够解决的数字量。例如西门子S7_200PLC,其模拟量输入扩展模块能把0-20mA或4-20mA或1-5V的模拟量处理为0-32000或6400-3200的数字量,以便于其CPU处理。由此可见,信号变化经历了物理量(P、T、L、F)到传感器到a/d转换器到显示。
假如现场一台测量液位的液位变送器,量程是0-10m,输出信号4-20mA,当液位高度为5m时,PLC如何处理而显示5m呢?这里有模拟量输入换算公式,在模拟量输入程序编写也要用的。传感器输出信号下限为0,转为程序编写的公式为Y=X/32000x10,如果信号输出下限为4m或1V,转换为程序编写的公式为Y=(X-6400)/25600x10。
实际高度为5m,那么液位变送器输出信号应该为12mA。送到模拟量输入模块,由A/D转换器转为19200。在PLC转为程序编写的公式,Y=(X-6400)/25600x10。其中,Y表示CPU处理好的实际值,X表示每个通道A/D转换器处理模拟量后的数字量。
以上述的例子,既然模拟量输入模块A/D转换器处理模拟量信号12mA为数字量19200。套用公式可知Y=5m,与现场液位变送器显示一致,测量是准确的。
写程序时先进行数据类型转换,然后再进行处理。把A/D转换器转为数字量的值处理为双整型,随后处理为实型,后用减、除、乘功能块,乘功能块输出值就是实际值Y。
移位寄存器指令SHRB是将DATA数值移入移位寄存器。S_BIT*移位寄存器的低位。N*移位寄存器的长度和移位方向(移位加 = N,移位减 = -N)。移位寄存器的大长度是64位的,可以正也可以负。我们要注意的是SHRB指令移出的每个位是被放置在溢出内存位(SM1.1)中的。
下面便以以下的程序来讲解指令的使用,用I0.2的上升沿来执行移位寄存器指令,那么就是一个扫描周期移一位的,指令中V100.0是移位寄存器的低位,I0.3里面存的是0或1的数值,指令*是移位加的,移位寄存器的长度是4。我们结合下面的时序图和移位的图来看,若V100为0000 0101,因为移位寄存器的长度是4,那么只有0101,当I0.3为1时,执行一次移位,把1移到移位寄存器的低位,把移出的位的值0放置到SM1.1中,那么SM1.1为0,当I0.3为0时,执行二次移位,把0移到移位寄存器的低位,把移出的位的值1放置到SM1.1中,那么SM1.1为1。
1)移位寄存器有3个数据输入端:
DATA:移位寄存器的数据输入端,数据类型为BOOL(位)。
S_BIT:组成移位寄存器的低位,数据类型为BOOL(位)。
N:移位寄存器的长度和移位方向,-64≤N≤64,当N 》0时为正向移位(从移位寄存器的低位移入,由高位移出),当N 《0时为反向移位(从移位寄存器的高位移入,由低位移出)。
2)移位寄存器的特点:
·移位寄存器的数据类型无字节型、字型、双字型之分,移位寄存器的长度N由程序*。
·移位寄存器的组成:
低位为:S_BIT;
高位的计算方法为:MSB=S_BIT+(|N|-1)/8。S7-200的编址均为8进制,相加时要字节和字节相加,位和位相加,并且逢8进1;例如:
S_BIT= V23.4,N=15,则MSB= V23.4+(15-1)/8=
移位寄存器的组成:V23.4~V23.7、V24.0~V24.7、V25.0、V25.1、V25.2,共15位。
·移位寄存器指令的功能是:当允许输入端EN有效时,如果N》0,则将移位数据DATA填入移位寄存器的低位(S_BIT);如果N《0,则填入到移位寄存器的高位,移位寄存器的其他位按照N*的方向(正向或反向),依次串行移位。
·移位寄存器的移出端与SM1.1(溢出)连接。
移位寄存器指令影响的特殊继电器:SM1.0(零),SM1.1(溢出)。当移位操作结果为0时,SM1.0自动置位;SM1.1的状态由每次移出位的状态决定。
影响允许输出ENO正常工作的出错条件为:SM4.3(运行时间)、0006(间接寻址),0091(操作数界),0092(计数区错误)。
下面再看一个程序案例,深入地来学习一下这个移位寄存器指令。
1、产品检测分拣机,输送带上的产品经过一台检测装置时,装置输出到I0.0,有产品时为1。I0.1检测产品的好坏,若I0.1为0则产品是好的,若I0.1为1则产品是坏的。在4个产品位置有一个推产品的气缸Q0.0。若检测的产品为坏时,到达4个产品位置时,Q0.0输出,气缸动作,产品被推出,1s后气缸退回,传送带继续工作,进行产品的检测。
下面就分析一下程序,检测装置检测到有产品时I0.0为1,I0.1检测产品的好坏,产品坏为1,*移位寄存器的低位为M0.0,移位寄存器的长度为4。因为在4个产品位置有一个气缸Q0.0,若I0.1为1时,到达4个产品位置时,那么就用M0.3驱动气缸动作,推出产品,同时做了一个定时器定时1s,1s后复位M0.3,气缸退回。
移位寄存器位( SHRB)指令将DATA数值移入移位寄存器。S_BIT*移位寄存器的低位。N*移位寄存器的长度和移位方向(当N是正的,从低位移到高位,当N是负数,就从高位移到低位)。SHRB指令移出的每个位被放置在溢出内存位(SM1.1)中。该指令由低位(S_BIT)和长度(N)*的位数定义。
注:已知低位,计算高位的方法:MSB.b=[(S_BIT字节)+([N]-1+(S_BIT位))/8]·[被8除的余数]
例如:如果S_BIT的字节和位分别是V33和4,N是14,以下计算显示MSB.b是V35.1。
MSB.b= V33+([14]-1+4)/8
= V33+17/8
= V33+2,余数为1
= V35.1
PLC系统设计的主要任务包括分析工艺流程,明确控制要求、确定控制方案、选择机型和输入输出设备选择及输入输出点分配,施工设计、总装调试等。
(一)分析工艺流程,明确控制要求,确定控制方案
首先要详细分析实际生产的工艺流程,工作特点及控制系统的控制任务、控制过程、控制特点,控制功能,明确输入,输出量的性质,充分了解被控对象的控制要求。
在分析被控对象的基础上,根据PLC的特点,与继电器控制系统和计算机控制系统进行控制方案的分析与比较,如果被控系统的应用环境较差,而安全性,可靠性要求较高,输入输出多为开关量,而用常规的继电器接触器实现,系统较复杂或难以实现,工艺流程经常改变,那么,用可编程序控制器进行控制将是合适的。
(二)选择机型
随着PLC的推广普及,PLC产品的种类和型号越来越多,功能日趋完善。从美国,日本、德国等国家引进的PLC产品及国内厂商组装或自行开发的PLC产品已有几十个系列。上百种型号。其结构形式、性能、容量、指令系统,编程方法、价格等各有不同,适用的场合也各有侧重。因此,合理选择PLC产品,对于提高PLC控制系统的技术经济指标起着重要作用。一般来说,各个厂家生产的产品在可靠性上都是过关的,机型的选择主要是指在功能上如何满足自己需要,而不浪费机器容量。PLC的选择主要包括机型选择,容量选择,输入输出模块选择、电源模块选择等几个方面。
(三)输入输出设备选择及输入输出点分配
在PLC控制系统中,通常用作输入器件的强电元件是控制按钮,行程开关、继电器等的触点。PLC的执行元件通常有接触器、电动机、电磁阀,信号灯等。要根据控制系统的需要进行选择。
(四)施工设计
与一般电气施工设计相同, PLC控制系统的施工设计需完成下列工作:画出完整的电路图;注明电气元件清单;画出电气柜内电器位置图和电器安装接线互连图。
(五)总装调试
1、程序调试
将设计好的程序用编程器输入到PLC中,进行编辑和检查,发现问题,立即修改和调整程序。
2、现场调试
现场安装完毕后,可对硬件和软件进行联调,实现对某些参数的现场确定和调整。
3、安全检查
后对系统的所有安全措施作彻底检查,准确无误后即可投入试运行,待一切正常后,将程序固化在有长久记忆功能的只读存储器EPROM中长期保存。
6ES72111BE400XB0 | CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI |
6ES72111AE400XB0 | CPU 1211C DC/DC/DC,6输入/4输出,集成2AI |
6ES72111HE400XB0 | CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI |
6ES72121BE400XB0 | CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI |
6ES72121AE400XB0 | CPU 1212C DC/DC/DC,8输入/6输出,集成2AI |
6ES72121HE400XB0 | CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI |
6ES72141BG400XB0 | CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI |
6ES72141AG400XB0 | CPU 1214C DC/DC/DC,14输入/10输出,集成2AI |
6ES72141HG400XB0 | CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI |
6ES72151BG400XB0 | CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72151AG400XB0 | CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO |
6ES72151HG400XB0 | CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO |