西门子模块6ES7277-0AA22-0XA0实体经营
编程规则
规则1:三键控制[即用左右箭头键和OK键]于编程模式下输入线路。同时按左、右和OK三键进入编程模式。
在参数化模式下可以改变定时器值和参数。同时按ESC键和OK键,进入参数化模式。
规则2:从输出到输人(按从输出到输入的顺序输入线路)。
规则3:光标和光标移动,输入线路时有以下规定:当光标以下划线形式出现时,可以移动光标,用(左),(右),▲(上),(下)键在线路中移动光标,按OK键选择连接器/功能块,按 ESC键退出线路输入;当光标以实心方块形式出现时,可选择连接器/
功能块,用上或下键选择连接器/功能块,按 OK键确认选择;按ESC键返回到上一步。
规贝4:只能存储完整的程序,如输入一个不完整的程序,则LOGO!不能退出编程状态。
编程
[replyview]
LOGO!操作面板有三种显示模式:编程模式、运行模式和参数设置模式;有主菜单、编程菜单、PC/Card菜单、参数设置共四幅显示菜单和一幅运行监控画面,见图3—1。
1.切换到编程模式 将LOGO!接通电源,显示面板出现信息见图3—2。同时按左、右和OK键切换到编程模式。LOGO!显示主菜单,见图3—3。
左边有一个“>”指示出当前光标所在行的位置。按上或下键可上下移动“>”,选择LOGO!进入Program(编程菜单)、PC/Card(PC/Card菜单)和Start(运行启动)。现将“>”移到“program”,按OK键,则LOGO!切换到编程菜单,见图3—4。同样,按▲或下键可上下移动“>”,可以选择LOGO!进入 Edit Prg(编辑程序)、bbbbb(清除程序)和 SetClock(设置时钟)。现将“>”移到“Edit Prg”,然后按 OK键,则IOGO!显示个输出 Ql,见图3—5。使用上或下键可选择其它输出,由此开始输入用户程序。
现以第二讲中图2—13的实例来了解LOGO!的编程方法。
继电器KM(即 LOGO!的Q1)由开关 S1(LOGO!的输入I1)和开关S2(LOGO!的输入I2)经“OR”(或)功能块,再和开关S3(LOGO!的输入I3)经“AND”与功能块控制。LOGO!
的程序见图3—6。
2.输入程序 将图3—6的程序输入到LOGO!,一开始,LOGO!显示个输出,见图3—7。Q1的Q下划线表示光标。光标指示程序的当前位置,按▲,下,左或右键可移动光标。现在按左键。光标移动到左边,见图3—8(光标指示用户程序的位置)
在光标处输入个功能块。按OK键切换到输入模式,见图3—9(光标以内含向下箭头的方块形式出现,可选择连接信号端或功能块)。光标不再以下划线的形式出现,而是以闪烁的方块(内含向下箭头)出现。同时LOGO!提供个选择表Co(连接信号端),按上或下键可选择第二个选择表GF(基本功能块)或第三个选择表SF(特殊功能块)。根据图3—6,我们选择GF中的“与”功能块。当出现 GF后,按 OK键,则 LOG0!显示基本功能表中的个功能块,见图3—10。
基本功能块中的块是AND。
光标以方块形式出现,指示用户必须选择一个功能块。按▲或下键,会顺序显示其他基本功能块,直到出现你所需要的模块,然后按OK键,即选zhonggong能模块。现在我们选择“与”功能块,按OK键,屏幕显示见图3—11(光标以闪烁的下划线形式出现)。[upload=gif]“与”功能块方块图左边的三条横线表示信号输入端。该输入端可以是连接信号端Co,可以是基本功能块GF,也可以是特殊功能块SF。该例中为连接信号端Co。此时,按 OK键,LOGO!屏幕显示见图3—12(光标以带向下箭头的方块形式出现,可选择
连接信号端或功能块)。按▲或下键,可选择Co、GF或SF。根据图3—6,我们应该在Co中选择11,因此按OK键,屏幕显示见图3—13(光标以含有X的方块形式出现,可选择连接信号端)。
按上或下键,可选择输入信号端I1,I2,…,Q1,Q2,…,hi,lo,x,其中hi为常1(接通),1o为常O(断开),x为空(不接)。根据要求我们选择了I3,然后按OK键,IOGO!屏幕显示,见图3—14(光标以闪烁的下划线形式出现在第二个信号输入端)。
按OK键,LOGO!屏幕显示,见图3—15。同样,通过按上或下键和OK键来选择GF中的“或”功能块,屏幕显示见图3—16(光标以闪烁的下划线形式出现在个信号输入端)。
同上述一样的方法,我们可以在第二个方块图BO2的或门信号输入端选I1、I2和x(x表示无输入信号),见图3—17。按OK键,屏幕回到个方块图(BO1),见图3—18。在第三个输入信号端选择x,按OK键后,就完成了图2—13所示的 LOGO!逻辑程序的输入操作。
3.选择特殊功能块 如何选择并输入特殊功能块?现以一个照明灯 H控制为例作介绍,线路图见图3—19。
图中KT是一个断开延时继电器,开关S1和S2均断开20s后延时继电器KT触点断开,H熄灭。LOGO!的方块图见图3—20。
此主题相关图片如下,点击图片看大图:
图3—20与图3—6相比,可以看出是将基本功能块中的“与”功能块换成了特殊功能块中的断开延时继电器。其输入方法为选择“SF”,见图3—21。按OK键,屏幕出现个特殊功能块,然后按▲或下键选择断开延时继电器模块,见图3—22。选择好断开延时继电器模块后,按OK键,屏幕显示见图3—23(光标出现在Trg处,Trg输入端可以选择I信号端或Q信号端或功能块及已编好的LOGO!程序方块图)。
此主题相关图片如下,点击图片看大图:
根据图3—20和输入程序的方法,在Trg输入端连接下一个“或”功能块方块图BO2,R信号端不连接(接上“x”),T端为延迟时间的设置,应为20s(设置方法为光标移到T下),按OK键,屏幕呈现见图3—24(光标以方块形式出现在T的数据处)。可以用上、下、左、右键来改变T的值、时间单位和十/—的设置。时间单位可以为s(秒)、m(分)或h(小时),如果是s,则T右面的数字只能是O或5。+/-的设置表示:如果为+,则该参数允许在运行时修改;如果为-,则该参数不允许在运行时修改。现在我们
选择T=20.00s,按OK键,这样,图3—20的断开延时继电器模块LOGO!程序就编好了。
此主题相关图片如下,点击图片看大图:
用上述同样的方法,编出Q2、Q3、Q4的LOGO!方块图程序。
4、修改LOGO!程序 修改LOGO!程序归纳为如下步骤(根据模块的选择方法,按照下列步骤进行):
(1)将LOGO!切换到编程模式;
(2)从主菜单中选择“Program”;
(3)在编程菜单中选择“EditPrg”;
(4)如果要插入程序,则将光标移到被插入的信号端处,按OK键,然后选择BN(LOGO!方块)、Co(I或Q信号)、GF或SF。
(5)如果要删除程序方块,则将光标移到被插入的信号端处,按OK键,然后选择Co中的“x”;或将被删除程序方块的后一个功能块(也可能是I、Q信号)直接连接到被删除程序方块的前一个功能块(也可能是Q信号)的信号端即可。
5.修改类型错误 在LOGO!中很容易修改类型错误(如没有结束输入,按ESC键返回上一菜单;如已经结束输入,只是简单地再启动):
(1)将光标移到错误所在位置;
(2)切换到输入模式:OK;
(3)将正确的接线接到输入端。
如新的功能块和原有的功能块有相同的输入号,则只能替换一个功能块。一般说来,可删除原有的功能块并插入新的功能块,可插入任何类型的功能块。
6.显示中的“?” 如已输入—个程序并用韶C键退出“EditPrg”,则LOGO!检查所有功能块的所有输人信号端是否已正确连接。如有输入信号端或参数被遗忘,LOGO!会显示被遗忘的个位置,并将所有被遗忘的输入信号端和参数处标记“?”。
7.删除一个程序 按下列步骤删除:
(1)将LOGO!切换到编程模式:同时按左、右和OK键;
(2)将光标“>”移到“Program..”,然后按OK键;
(3)移动光标“>”到“bbbbbPrg”;
(4)确认“C1ear Prg”,按 OK键。
如不想删除程序,将光标“>”置于“No”,然后按 OK键。
如确认需要删除存储在LOGO!中的程序,将光标“>”置于“Yes”,然后按OK
键。
编程软件及其使用
LOGO!编程软件既能在计算机上编程,又能在计算机上对所编程序进行调试及仿真。
1.软件运行环境
(1)具有W1ndows3.1或更高的W1ndows95/98或Wlndows NT兼容个人计算机;
(2)硬盘空间容量7M以上。
2.软件安装 安装LOGO!软件,只需简单地遵照安装程序给出的指令,它告诉您如何启动安装程序。
(1)选择Setup.EXE并启动:
——在bbbbbbs3.1下通过FileMangager;
——在bbbbbbs95/98或下通过“开始”运行并在命令行输入A:\Setup;
(2)按照安装程序给出的指令操作。
3、使用LOGOl软件 LOGO!软件完全模仿了LOGO!的面板功能,因此对已了解LOGO!编程菜单的人来说是很容易的。
(1)运行LOGO!软件在W1ndows95/98中,通过开始、程序,Siemens LOGO! Soft V2.1Non Westerm启动运行。
(2)LOGO!软件编程说明
进入LOGO!软件后,显示见图3—25。
在PLC编程软件规范里,变量命名本身就是一门学问。
西门子S7-200PLC的符号表就是做变量命名工作的,毫不夸张的说,每一个使用S7-200的人都应该熟练掌握它,如果你对它不屑一顾,觉得自己从来不用它也同样可以做得很好,那么,你还不能算一个真正的程序员。
使用符号表,有程序可读性更好,资源分配一目了然,修改灵活,输入纠错等优点。
不喜欢使用符号表的,我猜测原因之一可能是怕麻烦,速度慢。其实这是认识上的误区,熟练使用符号表后输入速度反而要快。不相信吧?
1.符号表具有自动完成功能,当有几个变量频繁交替使用时,不需要记忆地址区别,只需要键入符号名的前几个字母,就会自动提示,所以输入反而要快。
2.做过指法强化训练的人应该有体会,当一个单词或汉字编码中有连续字符需要用同一只手甚至同一个指头输入时严重的影响输入速度,如果一篇文章中的汉字大多数编码都依次分布在左右两只手上,输入速度会高很多,而且不容易出错。
比如地址变量VW3234,六个字符全部使用左手输入,速度慢,且易出错。直接地址出错后较难检查出来,符号名出错的话立即会有在线提示,而且编译不会通过。符号名降低出错率实际上是提高了速度。
两个符号名使用的小技巧:
一.快速修改变量地址(在另一帖中已贴过)
1.符号名使用中(否则,先CTRL+Y切换)
2.在符号表中直接修改符号对应的变量地址
3.OK
用符号表修改址有有个好处是数据块中的地址也会同时修改,这个比查找替换好用(数据块中不能选中某部分后在局部范围内全部替换)
二、快速修改符号名(比如符号名S1已在多处使用,现在想将它改成S2)
1.符号名未使用(如正在使用,先CTRL+Y切换)
2.在符号表中直接修改符号名字
3.CTRL+Y,符号名有效
4.OK
注意上面两个小技巧中,符号名是否使用中的条件正好是相反的。
正是因为上面两条快速修改的技巧,后期内存规划非常方便。在编程前可以不考虑内存位置安排,只定义符号名,内存地址可以随便输入(当然不要重叠),这样着重于功能实现与调试,完成后按内存规划要求,将符号名剪切粘贴调整排序,后用Excel填充功能连续生成地址,一个程序使用到哪些内存,看看符号表一目了然。
增加一个比较另类的“技巧”,有时用这个方法比搜索准确高效
有时需要快速判断某变量或定时器是否重复使用,比如VW100
1.假设VW100的符号名是S1(如果没用定义一个),令符号名使用中
2.直接修改符号名为一个未用的符号(如后面随便加一个后缀)为S1_ttttt
3.编码代码(不是全部编译),下面输出窗口提示错误数(如果为1则只存在1处引用)
4.滚动输出窗口,双击错误提示行,可快速定位到引用处
5.切换到符号表里撤销修改
这个方法在需要查连续查看多个变量引用数时比较方便,界面不需要切换(用查找法会不断变化当前光标)
答:S7 SCL是符合EN 61131-3(IEC 61131-3)标准的文本语言,也就是说支持该标准的任意厂家的PLC均可以使用与之相似的语言编程,支持强大的数据处理运算功能,一般深受IT人员的喜爱。SCL是STEP 7软件的一个可选附件包,标准版的只有LAD,STL,FBD三种编程工具。它同STL、LAD、FBD属于同一个作用, SCL需要用单独的程序块来编写,需要编译后才能下载到CPU执行;LAD和STL可以在同一个程序块里编写。在STEP7没有安装SCL时,用其编辑的块都会以STL格式打开并显示。
S7 SCL包含的语言结构与编程语言Pascal和C相类似,所以只要接触过Pascal、Delphi、vb等编程语言者,实现S7-SCL语言的快速入门是非常容易的,不必了解继电器原理,而且,即使是做逻辑控制也只需简单的编程语句就可以完成,所以S7 SCL特别适合于习惯于使用编程语言的人使用。这种语言适合于处理复杂的逻辑和大量的数学运算,由于其具有语言的编程结构,因此和S7的STL语句表编程方式比较起来有着更加方便的控制方式,可以这样说,只要是必须使用语句表的地方,我们均可以考虑使用SCL。也许STL在执行时比SCL更加高效,但事实上也不一定,首先SCL可以编译成STL,同时SCL设计时可以优化编程,而STL若运用不当,可能还会将低效率。当然在目前的这种系列的PLC上,效率对于我们来说已是次要的,我们更关心的是编程结构。就像在PC机上,舍弃了汇编语言,而主要采用C/C++等语言。总体来说,SCL适合于编写标准功能块,由于在维护中,它和STL一样,不象Lad一样利于维护,因此这些标准功能块都应该有文档说明,以便用户了解其功能。STL源文件由文本组成,使用关键字在源文件中设定块结构、声明变量表和程序网络段,为将其编译成块,必须按一定规则编写其结构及语句。
当使用LAD(梯形图)/FBD(功能图)编程时,系统会自动添加严格的语法结构。而STL并不自动添加完整的语法结构(数据类型匹配,系统堆栈处理等)。应此LAD/FBD格式的程序可以转换为STL格式,而STL格式的程序并不一定可以转换为LAD/FBD。
SCL可以编译成STL。如果想再把STL完全转换成LAD,难度很大,或者说不可能。把STL程序按功能组拆成逐个网络,然后或许大部分可以转换成LAD,但是无法保持程序的完整性,零零散散无法阅读。
做PCS7项目,如果不学会SCL语言,做项目难度比较大,单纯使用CFC和SFC编程,由于工艺控制的复杂性和多样性,CFC图表会有大量的块,程序可读性不高,技术保密不了;用SCL编程可以把工艺联锁、工艺核心控制程序和工艺数据处理包装成一个FB块,CFC程序就简单多了。 PCS7是DCS系统,模拟量很多,而且程序一般都比较大。这种大型的程序通常都用语言工具来编写,例如SCL,CFC和SFC。他们编译以后生成STL,但是没有注释,阅读难度会非常大,一年都未必看的明白。工业控制软件发展到现在,大型程序通常都是用语言来编写,如SCL,CFC和SFC这样工作量会小很多很多。所以建议大家直接阅读学习SCL语言编写的程序。
对于STL、LAD、SCL等语言之间进行转换的问题,的确有些STL变成LAD是转不过来的。反过来行。LAD可以直接转SCL,但反过来不一定行,需要严格的按一定的格式写才能转回来,因为SCL是结构化编程语言,比LAD复杂。
总的来说,SCL适合软件工程师,LAD适合电气工程师,STL兼有优缺点,FBD适合电子工程师。
西门子PLC具有很完善的自诊断功能,如出现故障,借助自诊断程序可以方便的找到出现故障的部件,更换后就可以恢复正常工作。故障处理的方法可参看西门子S7-200PLC系统手册的故障处理指南。实践证明,外部设备的故障率远高于PLC,而这些设备故障时,PLC不会自动停机,可使故障范围扩大。为了及时发现故障,可用梯形图程序实现故障的自诊断和自处理。
1. 超时检测
机械设备在各工步的所需的时间基本不变,因此可以用时间为参考,在可编程控制器发出信号,相应的外部执行机构开始动作时起动一个定时器开始定计时,定时器的设定值比正常情况下该动作的持续时间长20%左右。如某执行机构在正常情况下运行10s后,使限位开关动作,发出动作结束的信号。在该执行机构开始动作时起动设定值为12s的定时器定时,若12s后还没有收到动作结束的信号,由定时器的常开触点发出故障信号,www.dqjsw.com.cn该信号停止正常的程序,起动报警和故障显示程序,使操作人员和维修人员能迅速判别故障的种类,及时采取排除故障的措施。
2. 逻辑错误检查
在系统正常运行时,PLC的输入、输出信号和内部的信号(如存储器为的状态)相互之间存在着确定的关系,如出现异常的逻辑信号,则说明出了故障。因此可以编制一些常见故障的异常逻辑关系,一旦异常逻辑关系为ON状态,就应按故障处理。如机械运动过程中先后有两个限位开关动作,这两个信号不会同时接通。若它们同时接通,说明至少有一个限位开关被卡死,应停机进行处理。在梯形图中,用这两个限位开关对应的存储器的位的常开触点串联,来驱动一个表示限位开关故障的存储器的位就可以进行检测。西门子PLC CPU里的暖启动,冷启动,热启动,它们之间到底有什么本质的区别?在实际应用中又有何真正的用处呢?
答:冷启动(Cold restart):所有的数据(过程映象,位存储器、定时器和计数器)都被初始化,包括数据块均被重置为存储在装载存储器(Load memory)中的初始值,与这些数据是否被组态为可保持还是不可保持无关。首先执行启动组织块OB102,并不是S7400所有CPU 都支持此功能。
暖启动(Warm restart):复位过程映象(PII,PIQ)以及非保持性位存储器(M)、定时器(T)和计数器(C)。定义的保持性存储器(M)、定时器(T)和计数器(C)会保存其后有效值。在有后备电池时,所有DB块数据被保存。没有后备电池时,由于没有非易失性存储区, DB数据和M,T,C均无法保持,这是300与S7-400 PLC大的不同。
首先执行启动组织块OB100。用户如果没有更改过启动类型,系统默认设为暖启动。
手动暖启动:STOP->RUN (在CPU属性中选择暖启动,CPU若是有CRST/WRST 选择开关, 则必须设为CRST 才能执行手动暖启动)
自动暖启动:Power Off->Power On(也就是给CPU上电时会执行自动暖启动,CRST/WRST 选 择开关对其没有影响)
热启动(Hot restart):只有在有后备电池时才能实现,所有的数据都会保持其后有效值。程序从断点处执行,在当前循环完成之前,输出不会改变其状态。启动时执行OB101。
只有S7-400CPU才能进行热启动。
手动热启动:STOP->RUN+WRST(在CPU属性中选择热启动,CPU 若是有CRST/WRST 选择开关,则必须设为WRST 才能执行手动热启动)
自动热启动:Power Off->Power On(热启动也就是给CPU上电时会执行自动热启动, CRST/WRST 选择开关对其没有影响)