西门子怀化PLC模块总代理
1、根据系统规模,确定是用PLC单机还是用PLC形成网络。并根据系统需要计算出PLC输人、输出点数.所选择的I'LC的总点数一定要留有一定裕量,一般留出10%的裕量。
2、根据PLC输出端所带的负载性质(直流、交流),电流性质(大电流、小电流),以及PLC输出点动作的频率和负载的性质(电感性、电阻性)等,确定PLC输出端的类型(继电器输出,晶体管输出,晶闸管输出)。
3、根据系统的大小合理选择PLC存储容量与速度,一般存储容量越大、速度越快,价格就越高。
4、电源干扰主要是通过供电线路的阻抗藕合产生的,是干扰进入PLC的主要途径之一。如果有条件,可对PLC采用单独供电,以避免其他设备的起停对PLC产生干扰。在干扰较强或对可靠性要求很高的场合。可在PLC的交流电源输人端加接带屏蔽的隔离变压器和低通滤波器。动力部分、控制部分、PLC与I/O电源应分别配线,隔离变压器与PLC, I/O电源之问采用双绞线连接。系统的动力线应有足够的截面积,以降低线路压降。
5、PLC上的DC24V电源容量小,使用时要注意其容量,作好短路保护措施。当负载需要外部DC24 V电源时,应注意电源的“-”端不要与PLC的DC24V电源的“-”端及“‘COM”端相连,否则会影响PLC的运行。
6、根据不同的负载选择输出形式,继电器输出的优点是不同公共点之间可带不同的交直流负载,且电压也可不同.带负载电流可达2A/点;其缺点是不适用于高频动作的负载。晶闸管输出的带负载能力为0. 2A/点,只能带交流负载,可适应动作,响应时间为1ms。晶体管输出适应于高频动作.响应时间短,一般为0.2ms左右,但只能带DC0.5A/点,每4点不得大于0.8A。
7、若PLC输出带感性负载,负载断电时会对PLC的输出造成浪涌电流的冲击。为此,对直流感性负载并接续流二极管,对交流感性负载并接浪涌吸收电路,可有效保护PLC。
8、对于PLC输出不能直接带动负载的情况,必须在外部采用驱动电路,还应采用保护电路和浪涌吸收电路,且每路有发光二极管(LED)指示。
9、PLC不能与高压电器安装在同一个开关柜内,与PLC装在同一个开关柜内的电感性元件,如继电器、接触器的线圈应并联RC消弧电路或续流二极管。PLC应远离强干扰源,如大功率晶闸管装置、高频焊机和大型动力设备等。
10、信号线与功率线应分开布线.不同类型线应分别装人不同管槽,信号应尽量靠近地线或接地的金属导体。当信号线长度**过300m时,应采用中间继电器转接信号或使用PLC远程I/O模块。
11、当模拟输人、输出信号距PLC较远时,宜采用4-20mA或0-10mA的电流传输方式。而不是电压传送方式。传送模拟信号的屏蔽层为一端接地。为了泄放高频干扰,数字信号线的屏蔽层应并联电位均衡线,并将屏蔽层两端接地 一套完整的PLC程序,并不仅仅是使系统能够运行起来这么简单,它也需要完整的注释、精良的架构、良好的可扩展性、完备的报警保护系统、运行前的模拟系统。下面就以STEP7的经验和大家分享一下。
一、完整的注释
在自动化领域,控制设备的竞争激烈程度,大家有目共睹,各个大鱼小虾,拼命的宣传自己的产品。可大家忘了,程序也是自己的产品,而作为一件有产品属性的程序,怎么可能不穿衣服,就光秃秃的骑马上阵呢?
程序的注释,起码应该有以下三个方面(STEP7为例):
1、系统注释:整套程序的版权公司和此套程序用途
2、程序块注释:此程序块的主要用途和作者
3、段注释:此段代码的用途
4、变量注释:重要性不再多言
而至于保密性的考虑,我觉得应该再程序的加密算法或者块的加密上考虑,而不应该用减少注释这种小聪明来实现。
二、精良的架构
PLC程序无论控制的是一个设备或者是以一套系统,在程序编写之前都应该按照功能或者区域设计好整个PLC程序系统的结构,尤其是几个人共用一套PLC系统的时候,一般来说结构应包括以下部分:
1、公共组织程序区:OB1、OB35、OB81....等(STEP7)
2、设备功能程序区:一些现成的可以多次调用的程序块,如单向电机、双向电机、模拟量转换
3、公共程序区:通讯功能、模拟量、数字量采集
4、功能区:如液压站功能区、入炉辊道功能区、出炉辊道功能区
5、报警功能区:根据需要或者在各个功能区后面,或者单独独立出来
6、数据块区:根据功能,划分成有规律的数据区
一个良好的结构,可以使人很容易看明白整套程序,具备良好的可读性
三、良好的扩展性
许多程序可能在进现场之前都已经编好,但是到了现场,可能还需要添加另外的程序,为了避免打乱整套系统的结构,我们需要在每个功能区预留一定的空间作为备用。
四、完备的报警保护系统
我们的PLC系统往往用于工业环境中,每一次的事故都会造成或大或小的损失,为了做到事故预处理或者在事故中将损失降到较小,我们必须重视PLC的报警和保护,在此将其摘出来作为系统的一个重要组成部分。
五、PLC程序模拟系统
为了保证现场的调试进度或者给客户展示,我们往往在进现场之前,要对自己的程序进行全自动的模拟。为此我们需要在程序中加入模拟程序部分,模拟程序部分在正常现场运行之后断开。为了使程序具备模拟功能,需要做以下工作:
1、将实际的PLCI/O点转换为PLC的中间变量或者数据块变量
2、根据工艺要求编写各个设备的模拟程序
1、PLC程序的经验设计法
在PLC发展的初期,沿用了设计继电器电路图的方法来设计梯形图程序,即在已有的些典型梯形图的基础上,根据被控对象对控制的要求,不断地修改和完善梯形图。有时需要多次反复地调试和修改梯形图,不断地增加中间编程元件和触点,最后才能得到一个较为满意的结果。这种方法没有普遍的规律可以遵循,设计所用的时间、设计的质量与编程者的经验有很大的关系,所以有人把这种设计方法称为经验设计法。它可以用于逻辑关系较简单的梯形图程序设计。
用经验设计法设计PLC程序时大致可以按下面几步来进行:分析控制要求、选择控制原则;设计主令元件和检测元件,确定输入输出设备;设计执行元件的控制程序;检查修改和完善程序。
2、经验设计法的特点
经验设计法对于一些比较简单程序设计是比较奏效的,可以收到快速、简单的效果。但是,由于这种方法主要是依靠设计人员的经验进行设计,所以对设计人员的要求也就比较高,特别是要求设计者有一定的实践经验,对工业控制系统和工业上常用的各种典型环节比较熟悉。经验设计法没有规律可遵循,具有很大的试探性和随意性,往往需经多次反复修改和完善才能符合设计要求,所以设计的结果往往不很规范,因人而异。
经验设计法一般适合于设计一些简单的梯形图程序或复杂系统的某一局部程序(如手动程序等)。如果用来设计复杂系统梯形图,存在以下问题:
1).考虑不周、设计麻烦、设计周期长
用经验设计法设计复杂系统的梯形图程序时,要用大量的中间元件来完成记忆、联锁、互锁等功能,由于需要考虑的因素很多,它们往往又交织在一起,分析起来非常困难,并且很容易遗漏一些问题。修改某一局部程序时,很可能会对系统其它部分程序产生意想不到的影响,往往花了很长时间,还得不到一个满意的结果。
2).梯形图的可读性差、系统维护困难
用经验设计法设计的梯形图是按设计者的经验和习惯的思路进行设计。因此,即使是设计者的**,要分析这种程序也非常困难,更不用说维修人员了,这给PLC系统的维护和改进带来许多困难。
PLC控制程序设计一般分为以下5个步骤:
1. 程序设计前的准备工作
程序设计前的准备工作就是要了解控制系统的全部功能、规模、控制方式、输入/输出信号的种类和数量、是否有特殊功能的接口、与其它设备的关系、通信的内容与方式等,从而对整个控制系统建立一个整体的概念。接着进一步熟悉被控对象,可把控制对象和控制功能按照响应要求、信号用途或控制区域分类,确定检测设备和控制设备的物理位置,了解每一个检测信号和控制信号的形式、功能、规模及之间的关系。
2. 设计程序框图
根据软件设计规格书的总体要求和控制系统的具体情况,确定应用程序的基本结构、按程序设计标准绘制出程序结构框图,然后再根据工艺要求,绘出各功能单元的功能流程图。
3. 编写程序
根据设计出的框图逐条地编写控制程序。编写过程中要及时给程序加注释。
4. 程序调试
调试时先从各功能单元入手,设定输入信号,观察输出信号的变化情况。各功能单元调试完成后,再调试全部程序,调试各部分的接口情况,直到满意为止。程序调试可以在实验室进行,也可以在现场进行。如果在现场进行测试,需将可编程控制器系统与现场信号隔离,可以切断输入/输出模板的外部电源,以免引起机械设备动作。程序调试过程中先发现错误,后进行纠错。基本原则是“集中发现错误,集中纠正错误”。
5. 编写程序说明书
在说明书中通常对程序的控制要求、程序的结构、流程图等给以必要的说明,并且给出程序的安装操作使用步骤等新建库操作步骤:
第一步:在Micro/WIN的File(文件)菜单中,选择CreatLibrary...(建立库)命令;或者用鼠标右键单击指令树的Libraries(指令库)分支,选择CreatLibrary...
第二步:在CreatLibrary对话框中选择哪些子程序要集成为指令库
第三步:在Properties(属性)标签中设置
*指令库名称
*要生成的库文件的目录路径
*版本信息
第四步:在Protection(保护)标签中设置密码
第五步:按OK按钮确定,输出指令库文件
指令库文件扩展名为.mwl,缺省情况下存在Micro/WIN安装目录下的lib文件夹中。库文件可以作为单独的文件拷贝、移动。
添加指令库:
第一步:在Micro/WIN的File(文件)菜单中选择Add/RemoveLibraries...(添加/删除指令库)命令;或者在指令树的Libraries(指令库)分支上单击鼠标右键,选择Add/RemoveLibraries...
第二步:按Add(添加)按钮,选择新定义的库文件路径。用户自定义库将自动添加到Micro/WIN指令树的Libraries分支下。
调用用户定义指令库
指令库的使用方法与子程序基本一样