基于短信PLC冷库冰箱温度报警方案
可实现冷库冰箱温度超限报警,停电报警,传感器故障报警。
可以短信查询实时温度等,手机网页查看温度。
可以实现电脑温度显示,存储,查询,报表,打印等功能。
系统构成:
短信报警主机(可测8个温度),冷库冰箱温度传感器(-100度--+90度),文本显示器(选配),电脑(选配)
功能介绍:
1、冷库冰箱温度超标,发出报警短信准确告知冰箱或冷库编号,位置,温度,并拨号提醒。
2、冷库冰箱停电时发出短信报警,来电恢复时发短信提醒。
3、在维修冷库或取货物时,面板上撤防即可,不发出报警短信。
4、温度报警时现场喇叭发出报警声,可将喇叭接入值班室。
5、现场屏幕显示实时温度及报警信息,设置报警阀值(选配文本显示器)。
6、可将温度以短信的形式定时发送到手机,支持值班人员拨号查询温度。
7、手机号码可以通过短信随时增加,修改。
8、可实现电脑远程监控或者手机网页查看冷库温度。
西门子PLC标准化程序面向对象和面向过程的概念
面向对象和面向过程概念
“面向过程”(ProcedureOriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。
图 3‑1 : 面向过程编程方法
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了
面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
图 3‑2 : 面向对象编程方法
面向对象是把构成问题事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为
面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
在PLC中虽然没有面向对象编程的类等术语的概念,但在PLC中都能找到与面向对象中相类似概念的表达方法;
比如面向对象中类的概念在PLC可以通过UDT定义出来,不同的是PLC中可能需要多个UDT才能将一个对象的类完整表达出来;
面向对象中方法的概念在PLC中可以通过FB表达出来,同时FB的嵌套可以稍微的和面向对象中的继承类似;
而在标准化系统中,所有设备的性能属性都被归纳总结在工艺描述中,那面向对象的编程方法就是将其在程序系统中实例化出来;为便于理解,下文将用一个面向对象的编程思路来剖析“怎么将大象放进冰箱”;
3.2.面向对象和面向过程的不同表达
面向过程在面对这样的课题的时候,面向过程的编程人员就会二话不说针对分析这个需求之后列出了几个步骤:
把冰箱门打开。把大象装进去。把冰箱门关上。上面每一个步骤,程序员都会用一个函数或者功能来实现,比如定义了如下的功能块:
FB_OpenTheDoor();
FB_PushElephant();
FB_CloseTheDoor();
再通过排列组合完成客户的需求,顺利交工。
通过以上描述我们发现,程序员做的工作就是在接到需求以后,会把这些需求拆成一个一个的指令或者步骤,然后根据客户的需求串起来交给控制器去执行。和上面面向过程的定义是一致的,而且现实中的编程人员(PLC)大部分可能都是这样的做法。
我们以为这样就结束了?但是后续交流客户又说还要实现以下功能:
【我要把大象装冰箱,但是门别关,敞着就行】
【我还需要冰箱的冷藏温度调到10°】
。。。。。。
这个时候我们就必须得把整个程序系统通读一遍,找出可以用的函数(如果没有就再定义一个),最后依次调用它们。随着客户后续要求的不断提出,最后整个系统越来越杂乱无章难以管理,程序员不堪重负。
面向对象面向对象思维,从另一个角度来解决这个问题。面向对象是把【对象】作为程序的基本单元,我们控制过程中的驱动器,传感器,智能设备都可以归纳为对象。那么对象到底是什么呢?对象就是对事物的一种抽象描述。人们发现,现实世界中的事物,都可以用「数据」和「能力」来描述。比如我要描述一个人,「数据」就是他的年龄、性别、身高体重,「能力」就是他能做什么工作,承担什么样的责任。
例如你可以让「狗」这个对象「吃狗粮」,就可以把「吃狗粮」的命令发给「狗」让其执行,然后我们就实现了「狗吃狗粮」的需求。
如何进行面向对象的编程呢?根据上面课题的需求,演示按照面向对象是怎么编程的。
3.3.对象属性
第一步,提炼对象属性。分析这个需求里面我们要面对的对象是显而易见的,大象和冰箱都是这个需求中明确的实体对象。
装进这个动作是一串的指令,其实包括两方面的动作:打开(冰箱)+装(大象);那这个需求的对象就如下表;
表3-1 : 对象提炼清单表
第二步,对象属性分析对象。属性分析就是描述对象特征,像上文说的一样,可以用一些数据和能力来描述,如下表所示提炼的对象的数据和能力。
表 3-2 : 对象属性分析表
在PLC编程过程中,除了分析这个对象属性以外,其实我们还要做的就是将对象属性和我们程序结构相关联,细化到程序中就如下表所示。
表 3-3 : 对象属性实例化分析表
3.4.对象编程
3.4.1.冰箱的编程
参数说明: 可以来自HMI或者信息管理系统,包括冷藏室温度设置和冷冻室温度设置;
输入说明 :
存储:向冰箱下达存储指令,存储指令包括的信息有存储的对象(大象),存储的位置(冷冻室还是冷藏室)等;
取件:向冰箱下达取件指令,存储指令包括的信息有取件的对象(大象),取件的位置(冷冻室还是冷藏室)等;
启停命令:此信号为True的时候冰箱启动,否则冰箱停止运行;
输出说明:
冷冻室门的开关:True表示冷冻室打开,False表示冷冻室关闭;
冷藏室门的开关:True表示冷藏室打开,False表示冷藏室关闭;
启停状态:True:冰箱已经启动,False:冰箱停止运行;
属性说明:
三维尺寸:冰箱的外在存储,包括长宽高的尺寸;
冷藏室:当前温度以、当前剩余空间、载重能力;
冷冻室:当前温度以、当前剩余空间、载重能力;
逻辑信息 :包括运算逻辑以及运行状态;
运算逻辑信息,比如储存对象不符合当前冰箱的容量、取件对象在冰箱里面不存在、大象重量超重(以上信息冷藏冷冻是分别存储的);
运行状态数,比如冰箱是否启动,是否有故障等等;
将以上信息概括后可以在一个统一的模型中(后续有模型说明)得到体现,具体见下图所示:
图 3‑3 : 冰箱在PLC中的程序模型
3.4.2.大象的编程
参数: 没有;
输入说明:
进冰箱:True表示要求大象进入冰箱,False无定义;
出冰箱:True表示要求大象走出冰箱,False无定义;
输出说明:
正向行走:True表示大象进冰箱方向行走,False无定义;
反向行走:True表示大象出冰箱方向行走,False无定义;
属性说明:
三维尺寸:大象的体积,包括长宽高的尺寸;
重量:大象的总重量;
智商:大象的智商;
将以上信息概括后可以在一个统一的模型(后续有模型说明)中得到体现,具体见下图所示:
图 3‑4 : 大象在PLC中的程序模型
如此,就将冰箱和大象的模型在程序中得以再造,只要将这两个模型在程序中建立接口关系,那客户的需求将大象装进冰箱就很容易得以实现。此时,只要我们给大象下达走进冰箱的指令,冰箱就会在得到信息后打开对应门,大象自己就走进去了。
若此时大象体积太大或者超重(数据来自传感器),冰箱模块还会告知系统不能装载大象的原因。
同时,后续客户有其他需求的时候,只要在给冰箱的输入信息中说明,冰箱就会执行相应的动作,比如门打开就好或者冷冻温度设置到-18°等等其他需求;
3.5.其他说明
通过上述的描述发现大象和冰箱有两个相同点:
1.两个控制对象的控制模型是一样的;
2.两个控制对象有一个相同的Function:正反转;
表 3-4 : 对象正反转定义表
现假设冰箱对象的程序名为FB_FrIndentityge,大象的程序名为FB_Elephant。那后续的项目中只要有这两个对象,我们要做的工作就是将程序名实例化而已。
面向过程只是着眼于当前工艺需求,编程简便快捷但后续维护和再次使用比较困难,也无法形成对应模型知识库,相关技术及知识得不到累积和传承。
面向对象就是在制造东西,是将现实中的对象在程序中再造一次。面向对象编程工作量大且需要具备相当的能力将对象的属性提炼总结出来,但面向对象的程序具有模块化,接口化等特点,便于后续的维护和使用,利于形成行业知识库,技术可以得到累积、发展、传承和更新。
随着技术发展,冰箱的能力会越来越先进,那对于程序员来说要做的工作就是与时俱进更新FB_Fridge的功能,这样FB_Fridge的版本就会从原始版本跟着时代的更新发展到更多的版本。这样,对于冰箱这个对象,我们的再造功能已经完成而且我们还能按照客户需求选择不同版本的程序来满足客户(客户的冰箱可能是老款)的需求;
表3-5 : 两种编程方法优缺点对比
3.6.后记
上述就是以一个非控制实体为列演示的面向对象的编程思路,在实际编程中最重要的就是要把对象详细拆分正确,而这些就是前面两章从机械和电气两方面对设备工艺的详细拆分;
不要看上述工艺的拆分,这是最考验工程师能力的地方;往往很多标准化设备由于工艺理解不到位,或者工艺总结没有细致详细,到实际工作就发现某个已经做好的标准化设备,由于其中很小的一个改动或者客户的一个不同要求的提出,这个标准的设备就又无法适用需求;
所以,前面两章节是整个标准化系统最重要的环节,这两个部分做的很好,后面章节就是将整个工艺在控制器中搭建出来,只是一个思想的执行者而已;
所以,工艺部分的理解和拆分的标准化,才是我们整个标准化的灵魂;这也应了一句话就是,程序就是工艺;
相关问答
西门子PLC与电脑连接不上,提示(在线:不能装载所挑选的驱动程...
然后重启系统,重装驱动,修复PLC软件,并设置好通讯参数。有用(0)回复zhezhemao1可能是编程电缆的问题,建议用西门子原装电缆有用(0)回复of8scei3egt您好...
西门子840D系统PLC肿么查看-ZOL问答
安装STEP7软件,PC和840DNCU联接,下载PLC程序,可以在STEP7上看到程序有用(0)回复jiaweiai121还需安装840Dtoolbox,或者有的PCU50上就安装有...
西门子S7-200PLC怎样接线cpu226,L端接24v正,M端接0v还是L、M...
如果你的PLC是继电器输出型的,则输出端的L24V的正负都可以接,但如果L接24V正,负载的公共端就接负;L接负,负载的公共端就接正。输入端M和输出端L一样,正负都可以...
西门子冰箱显示一道杠不制冷?
测温元件坏了或与西门子plc的连接有故障,导致没有变化,显示一条直线。在pLC输入侧断开输入,看什么情况?输入一个4-20mA或0-10v的值,看输入要求选取,应可正...
普通家用空调和洗衣机是PLC控制么?
空调,冰箱这些东西都不是PLC控制的!是单片机控制的,因为这些东西的工作程式是固定的,而且还要考虑成本,单片机的优势在于大批量生产,价格优势比较好。PLC...
三菱plcd8036使用说明?
是否便于冰箱散热。而且还需要检查家庭的电源情况,是否接地,是否为专用线路。在使用前用户要仔细阅读附带的产品说明书...首先,要注意冰箱摆放的位置是否合...
德国西门子公司PLC简介
一、概述德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。西门子(SIEMENS)公司的PLC产品包含L...
西门子PLC和电脑485通讯,同样的程序,同样的通讯线,一台电脑,...
可以与多台PLC通讯,我做过的项目最多的是32个S7300的系统通过以太网通讯。而PLC本身之间也传递数据,当时建立的是冗余双环网。理论上可以是254个。但是数据多...
昆仑通态触摸屏7062KX(只有一个串口)怎么同时联接plc和变频...
用PLC与变频器连接,一般没有直接用触摸屏与变频器连接的有用(0)回复fkrukdz...新飞冰箱BCD-160TKX质量怎么样?397浏览4回答创新声卡KX如何设置支持物理5...
松下plc怎么跟电脑连接?具体方法是什么呢?
[回答]松下的产品一般都设计的比较精密,比如大家在使用松下plc的时候,若想要和电脑进行连接,就需要购买一根专用的usb线,然后将usb线的两端分别连接到电脑...