文档库 最新最全的文档下载
当前位置:文档库 › 西门子300PLC程序创建+CPU设置

西门子300PLC程序创建+CPU设置

西门子300PLC程序创建+CPU设置
西门子300PLC程序创建+CPU设置

本文档只是个人总结笔记,可能存在错误的地方,他人查看请慎重——潘

一:程序的创建(2种方式)

方式一

第一步进入软件,在“File”中选择“New Project Wizard~(新项目向导)”会弹出对话框“STEP 7 Wizard:New Project”,在该对话框里用鼠标左键点击“Preview<<(事先查看)”,会在该对话框下面出来个如图1的状态。

图1

第二步鼠标左击该图中“Next(下一步)”,进入选择CPU型号和CPU的MPI地址,一般MPI的地址都默认为2。

第三步在完成第二步后,用鼠标左击该对话框里的“Next”,来进行OB块的选择,这里OB1必须选择,其他的OB块要根据实际的需要再添加,也可以先不添加,等程序创建完后再添加。

第四步在第三步的该页面中有“Language For

Selected Blocks(选择块语言)”,这里有3个项目,只能选择其中的一个(STL语句表,LAD梯形图,FBD 功能图),根据个人喜好的编程语言选择其中一项。然后点击该页面中的“Next”。

第五步完成第四步后进入的是为新创建的程序命名,命完名后点击该页面的“Finish(完成)”即可。

方式二

第一步进入软件,点击软件中图标,该图标是新建项目的意思。会弹出“New Project(新建项目)”对话框。

第二步在对话框里有设置新程序的名字和保存的地址,完成后点击该对话框里的“OK”。

第三步完成第二步后进入程序界面,把鼠标放在新程序名字上,并用鼠标右键选择里面的“Insert New Project(插入新项目)”,在里面选择实际的PLC类型。第四步然后进入硬件组态,发现硬件组态中是空的,

需要自己编辑硬件组态。先要插入机架,

注释:配置机架的原则——1号槽为电源模块(在S7-300中,可以不配置电源模块)。2号槽为CPU模块。3号槽只能放置接口模块,如果一个S7-300PLC站只有主机架,而没有扩展机架,则主机架不需要接口模块,但是3号槽必须留空(实际的硬件排列仍然是连接的)。

第五步配置机架方法一:打开“Catalog(目录)”栏,会显示西门子所有跟PLC有关或可通讯的硬件目录栏,在这里可以配置所有的硬件。展开目录中SIMATIC 300(具体选什么要根据实物来确定,这里用CPU315-2DP举例),选择里面的“RACK-300”,该目录下的“Rail”就是所谓的“机架”,用鼠标点击并拖拽到硬件组态对话框中,这样一个机架有生成了。

第五步配置机架方法二:在空白的硬件组态对话框中,鼠标左键点击对话框上方的“Insert(插入)”,选择插入项目中的“Insert Object(插入对象)”然后弹出个小对话框,一次操作即可。

二:CPU网络的搭建

第一步完成程序的创建后,硬件组态对话框机架里

组态实际的CPU

第二步选择好CPU的时候会弹出来一个关于CPU设置的对话框,对话框上有2个项目,分别是“General(常规)”和“Parameters(参数)”.常规里的项目基本上不用动,我们只设置参数里的数据。

第三步在参数里设置CPU的地址,一般为了方便好记把地址设置为2。然后再“Subnet(子网络/分支网络)”里可以新建CPU的通信网络方式,这里可以创建2种以上的通信方式,前提是看CPU上支持几个通讯方式,315-2DP有2个网络,一个是MPI接口网络,还有个是DP接口网络,所以在设置的时候,CPU上的设置是MPI的,CPU下面的DP槽里设置的是DP网络的。在“Subnet”右侧有个“New~~(创建新网络)”按键,鼠标左键点击进入后,里面有“常规”“网络设定”。在网络设定里先设置通讯的方式,是MPI还是DP,然后再设定该通讯方式的传输速率即可,然后点“OK”。

注释:拿315-2DPCPU来讲,在插入CPU模块的时候,会弹出个通讯方式的设置,这个设置是PLC与外界通讯的接口设置,在315-2DP中就是设置DP接口的,而实际315-2DP上还带个MPI接口,MPI接口的设置系

统是已经默认好的,所以弹出的对话框里只设置DP 网络的,而不能设置MPI网络的。

三:CPU启动设置

第一步 CPU启动的设置:大多数S7-300CPU只有暖启动(Warm restart)模式,启动时过程映像和不保持定时器,计数器及标志存储器被清除,CPU会自动调用OB100一次,然后开始循环执行OB1。

注释:对于CPU318-2DP和S7-400CPU还具有热启动(Hor restart)和冷启动(Cold restart)模式。OB100 暖启动(常用)(必选)

OB101 热启动(必选)

OB102 冷启动(必选)

以上三个OB项目在使用相应的CPU时,必须选择其中一个,具体选择要看CPU支持的类型。

第二步 CPU启动监视时间的设置:启动监视时间的用处——用于判断CPU设定的组态与实际组态是否相同。具体分2种,第一种是CPU收到各个模块已经准备就绪的信号的最长时间“Finished message from modules”,第二种是CPU把参数分配到各个模块的最

大时间“Transfer of parameters to modules”。在第一种情况下,如果CPU还没有收到所有模块准备就绪的信号,就认为实际组态与设定的组态不同(默认设置时间是650ms)。

在第二种情况下,如果CPU把参数分配到各个模块的最大时间(从收到模块的准备就绪的信息后开始计时),如果超过该时间仍然没有分配完所有模块的参数,就认为实际组态与设定的组态不同(默认设置时间是100ms)。

组态不同时启动:

二在CPU启动设置中有个关于超时处理的选择,这个选择针对不同的CPU会有不同的选择。例如在CPU315-2DP上的选择为:程序中设定的组态与扫描的组态不匹配时,是否启动CPU。如图二

图二

如果超时了,CPU会报警,根据如图二的设定会决定CPU在超时的状态下是否启动CPU,图二中的设定是CPU如果超时了,CPU还会启动运行,但运行的内容仅限与已经组态在网络中的设备,因超时而未组态上的设备无法运行。

附图:CPU启动设置,如图三

图三

在图三的设置中,可以看出CPU的启动分3大功能,分别是:

①CPU设定组态与实际组态不同时启动

②CPU启动模式

③CPU监视时间

四:CPU循环/时钟存储器(Cycle/Clock Memory)设置

在一个扫描循环周期如果超过了这个时间,CPU就会进入停机状态,如果在程序中了OB80程序,则可以在OB80中处理超时的错误,此时扫描监视时间会加倍。但如果伺候扫描时间仍然超过了加倍以后的时限,CPU 就会进入停机状态。

扫描循环周期“Scan cycle monitoring time”默认150ms

扫描超时加倍时限“Scan cycle load from communication”默认20ms

重要:程序中存在OB80,“扫描超时加倍时限”才有效果,有意义,否则设置的加倍时限也是摆设。

时钟存储器

时钟存储器占用1个字节,其中每个位都有不同的频率/周期,具体的排列方式如图四:

图四

时钟存储器的起始字节名字设置在“Cycle/Clock Memory”的“Clock memory(时钟存储器)”中,如图五:

图五

在图五中使用的时钟存储器该字节的起始地址为5。

小结:CPU中时间的定义

①CPU收到各个模块已经准备就绪的信号的最长时间“Finished message from modules”

②CPU把参数分配到各个模块的最大时间“Transfer of parameters to modules”

③扫描循环周期“Scan cycle monitoring time”(这个可能根据程序量的大小来定)

④扫描超时加倍时限“Scan cycle load from communication”(这个可能根据程序量的大小来定)

CPU设置中OB85的设置

OB85并不是所有的CPU都支持,315-2DP不支持OB85功能。

OB85的作用:用于处理程序循环错误的OB块,例如在更新过程映像区时出现的I/O错误(可能原因:一个信号模块被移走时)。在这里可以设置当出现I/O 错误时OB85的调用方式:

①No OB85 call up——不调用OB85。

②At each individual access——选择该项则每一个I/O错误都会调用一次OB85。

③Only for incoming and outgoing errors——错误的处理只执行一次,可以避免OB85频繁调用导致的循环时间增加。

五:保持存储器(Retentive Memory)设置

根据实际程序要求,有的时候并不需要保存数据,在需求实时数据的时候不能用保存存储器。

在315-2DP中,保持存储器主要4大功能,分别为:①工作存储区的保持Number of memory bytes starting with——默认16

②定时器的保持Number of S7 timers starting with TO——默认0

③计数器的保持Number of S7 counters starting with CO——默认8

④数据块的保持如图六

图六

作用:工作存储区,定时器和计数器的保持可以分别指定从MB0 T0 C0开始,需要保持的位存储区,定时器和计数器的数目。具体的CPU最多可以保持的位存储区,定时器和计数器的数目可以从相关的产品手册查到。

例如,在{Number of Memory Bytes Starting with MB0}中填入“16”,则当系统从掉电后再上电,或者从STOP 模式转为RUN时,MB0~MB15这16字节中的内容会保持原先的状态,而没有设为保持的位存储区将被初始化为0.

数据块的保持:在这里可以定义需要保持的数据块中的某些区域,对于具备后备电池的CPU来说,DB中的数据总是保持的,无需再这里进行设置。仅当CPU没有后备电池时,这些设置才有效。

附完整图,如图七:

图七

六:Diagnostics/Clock(诊断/时钟)设置

第一步:System Diagnostics(系统诊断)

这个项目中我们最常用的就是“Report cause of STOP(报告停机理由)”。该项目设置功能的多少取决于CPU的具体型号。

第二步:Clock(时钟)

如图八:

图八

Synchronization——同步,泛指时钟同步,可以设置CPU时钟在PLC内部或MPI网络上作为Master(主动方)还是作为Slave(被动方),或者None(不使用时钟同步)。

Correction factor(校正因子)单位ms,用于校准系统时钟的误差,例如:每24H快3S,则应该在此处填入“-3000”。

七:Protection(保护)设置

此项目中包含2项,1是保护的等级,2是操作的模式315-2DP的CPU不支持此功能,317-2DP的CPU支持此功能。

第一步:Protection Level(保护的级别)

①No protection——没有保护:CPU面板上的保护开关决定保护方式

②Write-protection——写保护:不管CPU面板上的保护开关在什么位置,只能读取PLC程序,不能修改程序。

③Write/read protection——写/读保护:不管CPU 保护开关在什么位置上,都禁止读取PLC程序和修改程序。

附图九

问题:如果有密码怎么能破解?

图九

第二步:Mode(操作的模式)

① Process mode ——过程模式:通常设备正常投入运行阶段时采用这种模式,在该模式下,系统的测试功能受到限制,可以设置允许测试功能(例如监控或修改变量)占用的循环时间。断点测试和单步执行测试都不能实现。

② Test mode——测试模式:设备处于调试阶段时,可以选择该模式。在这种模式下,所有测试功能都不

受限制,但是测试会带来循环时间的增加。

系统默认的是Test mode,详情请看图九。

八:Communication(通讯)设置

315-2DP的CPU不支持此功能,317-2DP的CPU支持此功能。

每一个通讯都要占用CPU的一个通讯连接资源,在设置中,要给CPU预留一定的连接数。通讯中可以为:

Number——数字/号码/数量/数例如:number one PG——编程器

OP——操作面板

S7 Standard/S7 Basic Communication——标准通讯:在此项目设置中,要给CPU预留一定的连接数。

S7 Communication——S7通讯:在此项目设置中,要给CPU预留一定的连接数。

Already configured——已经配置/已经设定

Maximum number of connection——最大连接数

详情如图十

图十

九:Interrupts(中断)设置

此项目中包含以下三项

① Hardware Interrupts——硬件中断:硬件中断可以在配置的信号模块(DI,DO,AI,AO)中定义。当发生一个硬件中断时,OB40会被调用。

② Time-Delay Interrupts——延迟中断:当某一事件产生时,延时中断组织块OB20经过一定事件后被执行。延时中断的触发条件由用户程序定义,OB20的调用必须通过系统功能SFC32实现。SFC32的使用如图十一:

图十一

● OB_NR 延时中断OB块号

● DTIME 延时时间

● SIGN 用户自定义信号

● RET_VAL 返回错误代码

用于延时中断的系统功能还有SFC33和SFC34。

③ Interrupts——异步错误中断:异步错误是PLC 的功能性错误,与程序执行无关。发生异步错误后会调用相应的处理OB。每一个异步错误处理OB的调用条件可以参考STEP 7 的在线帮助。

十:Time-of-Day Interrupts(日期时间中断)设置

相关文档