用户登陆 用户注册
您的位置:首页> 技术文章>内容正文
西门子 S7-300 PLC 从入门到精通的100个经典问题及解答(1)
[正文]:1:使用cpu 315f和et 200s时应如何避免出现“通讯故障”消息?  使用cpu s7 315f,  et 200s以及故障安全di/do模块,那么您将调用ob35 的故障安全程序。
而且,您已经接受所有监控时间的默认设置值,并且愿意接收“通讯故障”消息。
ob 35 默认设置为100毫秒。
您已经将f i/o模块的f监控时间设定为100毫秒,因此至少每100毫秒要寻址一次i/o模块。
但是由于每100毫秒才调用一次ob 35,因此会发生通讯故障。
要确保ob35的扫描间隔和f监控时间有所差别,请确保f监控时间大于ob35的扫描间隔时间。
s7分布式安全系统,一直到v5.2 sp1 和 6es7138-4fa00-0ab0,6 es7138-4fb00-0ab0,6es7138-4cf00-0ab0 都会出现这个问题。
在新的模块中,f 监控时间设定为150毫秒. 2:当dp从站不可用时,profibus上s7-300 cpu的监控时间是多少?       使用cpu的profibus接口上的dp从站操作profibus网络时,希望在启动期间检查期望的组态与实际的组态是否匹配。
在 cpu属性对话框中的startup选项卡上给出了两个不同的时间。
3:如何判断电源或缓冲区出错,如:电池故障?    如果电源(仅s7-400)或缓冲区中的一个错误触发一个事件,则cpu操作系统访问ob81。
错误纠正后,重新访问ob81。
电池故障情况下,如果电池检测中的batt.indic开关是激活的,则 s7-400仅访问ob81。
如果没有组态ob81,则cpu不会进入操作状态stop。
如果ob81不可用,则当电源出错时,cpu仍保持运行。
4:为s7cpu上的i/o模块(集中式或者分布式的)分配地址时应当注意哪些问题?    请注意,创建的数据区域(如一个双字)不能组态在过程映象的边界上,因为在该数据块中,只有边界下面的区域能够被读入过程映像,因此不可能从过程映像访问数据。
因此,这些组态规则不支持这种情况:例如,在一个 256 字节输入的过程映像的 254 号地址上组态一个输入双字。
如果一定需要如此选址,则必须相应地调整过程映像的大小(在cpu的properties中)。
5:在s7 cpu中如何进行全局数据的基本通讯?在通讯时需要注意什么?    全局数据通讯用于交换小容量数据,全局数据(gd)可以是:     输入和输出     标记     数据块中的数据     定时器和计数器功能     数据交换是指在连入单向或双向gd环的cpu之间以数据包的形式交换数据。
gd环由gd环编号来标识。
    单向连接:某一cpu可以向多个cpu发送gd数据包。
    双向连接:两个cpu之间的连接:每个cpu都可以发送和接收一个gd数据包。
必须确保接收端cpu未确认全局数据的接收。
如果想要通过相应通讯块(sfb、fb或fc)来交换数据,则必须进行通讯块之间的连接。
通过定义一个连接,可以极大简化通讯块的设计。
该定义对所有调用的通讯块都有效且不需要每次都重新定义。
6:可以将s7-400存储卡用于cpu 318-2dp吗?     在通常的操作中,只能使用订货号为6es7951-1k... (flash eprom)和6es7951-1a... (ram)的“短”> 存储卡。
 7:尽管led灯亮,为什么cpu 31xc不能从缺省地址124和125读取完整输入?     对于下列型号的cpu  ,请检查 24v 电压是否接入引脚 1。
led由输入电流控制。
引脚 1 上的 24v 电压需要做进一步处理。
  313c(6es7 313-5be0.-0ab0),313c-2dp (6es7 313-6ce0.-0ab0),313c-2ptp (6es7 313-6be0.-0ab0), 314c-2dp (6es7 314-6cf0.-0ab0),314c-2ptp (6es7 314-6bf0.-0ab0)  8:配置cpu 31x-2 pn/dp的pn接口时,当profinet接口偶尔发生通信错误时,该如何处理?     请确定以太网(profinet)中的所有组件(转换)都支持 100 mbit/s全双工基本操作。
避 免中心分配器割裂网络,因为这些设备只能工作于半双工模式。
9:在硬件配置编辑器中,“时钟”修正因子有什么含义呢?    在硬件配置中,通过cpu > properties > diagnostics/clock,你可以进入“时钟”> 域内指定一个修正因子。
这个修正因子只影响cpu的硬件时钟。
时间中断源自于系统时钟,并且和硬件时钟的设定毫无关系。
10:如何通过profibus dp用功能块实现在主、从站之间实现双向数据传送?     在主站plc可以通过调用sfc14 “dprd_dat“和sfc15 “dpwr_dat“来完成和从站的数据交换,而对于从站来说可以调用fc1 “dp_send“ 和fc2 ”dp_recv“完成数据的交换。
11:可以从s7 cpu中读出哪些标识数据?     通过sfc 51“rdsysst”可读出下列标识数据:可以读出订货号和cpu版本号。
为此,使用sfc 51和ssl id 0111并使用下列索引:    1 = 模块标识    6 = 基本硬件标识    7 = 基本固件标识 12:在含有cpu 317-2pn/dp的s7-300上,如何编程可加载通讯功能块fb14("get")和fb15("put")用于数据交换?    为了通过一个s7连接在使用cpu 317-2pn/dp的两个s7-300工作站之间进行数据交换,其中该s7连接是使用netpro组态的, 在s7通信中,必须调用通讯功能块。
模块fb14("get") 用于从远程cpu取出数据,模块fb15("put")用于将数据写入远程cpu。
功能块包含在step 7 v5.3的标准库中。
<   cpu 317-2pn/dp的通讯模块fb14("get")和fb15("put")的属性 : www.zggkzy.comfb14和fb15是异步通讯功能。
这些模块的运行可能跨越多个ob1循环。
通过输入参数req激活fb14或fb15。
done、ndr或error表明作业结束。
put和get可以同时通过连接进行通信。
注意:不能将库simatic_net_cp中的通讯块用于cpu317-2pn/dp。
13:对于紧凑cpu 313c-2 ptp和cpu 314-2 ptp作业同步处理需要注意什么?  在用户程序中,不可以同时编程send作业和fetch作业。
  即: 只要send作业(sfb 63)没有完全终止(done或error),就不能调用fetch作业(sfb 64)(甚至在req=0的时候)。
只要fetch作业(sfb 64)没有完全终止(done或error),就不能调用send作业(sfb 63)(甚至在req=0的时候)。
在处理一个主动作业(send作业、sfb 63或fetch作业、sfb 64)时,同时可以处理一个被动作业(serve作业、sfb 65)。
  14:可以将micromaster 420到440作为组态轴(位置外部检测)和cpu 317t一起运行吗?     可以,但在动力和精度方面,对组态轴的要求差别非常大。
在高要求情况下,伺服驱动simodrive 611u、masterdrives mc或sinamics s必须和cpu 317t一起运行。
在低要求情况下,micromaster系列也能满足动力和精度要求。
15:如何在已配置为dp从站的两个cpu模块间组态直接数据交换(节点间通信)? www.zggkzy.com    两个cpu站配置为dp从站,而且由同一个dp主站操作,它们之间的通信通过配置交换模式为dx可以完成直接数据交换。
16:如何使用sfc65,sfc66,sfc67 和 sfc68 进行通信?     对于单向基本通信,使用系统功能 sfc67 (x_get)从一个被动站读取数据,使用系统功能sfc68(x_put)将数据写入一个被动站(服务器)。
这些块只有在主动站中才调用。
对于一个双向基本通信,调用站中的系统功能sfc65 (x_send),在该站中想将数据发送到另一个主动站。
在同样为主动的主动接收站中,数据将通过系统功能sfc66 (x_rcv)记录。
     两种类型的基本通信中,每次块调用可以处理最多 76 字节的用户数据。
对于s7-300 cpu,数据传送的数据一致性是 8 个字节,对于s7-400 cpu则是全长。
如果连接到s7-200,必须考虑到s7-200只能用作一个被动站。
17:什么是自由分配 i/o 地址?    地址的自由分配意味着您可对每种模块(sm/fm/cp)自由的分配一个地址。
地址分配在 step 7 里进行。
先定义起始地址,该模块的其它地址以它为基准。
自由分配地址的优点:因为模块之间没有地址间隙,就可以优化地使用可用地址空间。
在创建标准软件时,分配地址过程中可以不考虑所涉及的 s7-300 的组态。
18:诊断缓冲器能够干什么?  更快地识别故障源,因而提高系统的可用性。
评估stop之前的最后事件,并寻找引起stop的原因。
   诊断缓冲器是一个带有单个诊断条目的循环缓冲器,这些诊断条目显示在事件发生序列中;第一个条目显示的是最近发生的事件。
如果缓冲器已满, 最早发生的事件就会被新的条目所覆盖。
根据不同的cpu,诊断缓冲器的大小或者固定,或者可以通过hw config中通过参数进行设置。
内容来自www.zggkzy.com电气自动化技术网 19:诊断缓冲器中的条目包括哪些?  1) 故障事件  2) 操作模式转变以及其它对用户重要的操作事件  3) 用户定义的诊断事件(用sfc52 wr_usmsg)     在操作模式stop下,在诊断缓冲器中尽量少的存储事件,以便用户能够很容易在缓冲器中找到引起stop的原因。
因此,只有当事件要求用户产生一个响应(如计划系统内存复位,电池需要充电)或必须注册重要信息(如固件更新,站故障)时,才将条目存储在诊断缓冲器中。
20:如何确定mmc的大小以便完整地存储step 7项目?      为了给项目选择合适的mmc,需要了解整个项目的大小以及要加载块的大小。
可以按照如下所述的方法来确定项目的大小:   1) 首先归档step 7项目。
然后在windows资源浏览器中打开已归档项目,并确定其大小(选中该项目并右击)。
这会告诉您归档文件的大小。
  2) 将块加载入cpu。
现在仍然需要选择"plc > module information > memory"。
在此,在" load memory ram + eprom"中,可以看到分配的加载内存的大小。
  3) 必须将该值和已经确定的归档项目的大小相加。
这样就可以得出在一个mmc上保存整个项目所需的总内存的大小。
21:cpu全面复位后哪些设置会保留下来?      复位cpu时,内存没有被完全删除。
整个主内存被完全删除了,但加载内存中数据,以及保存在flash-eprom存储卡(mc)或微存储卡(mmc)上的数据,则会全部保留下来。
除了加载内存以外,计时器(cpu 312 ifm除外)和诊断缓冲也被保留。
具有mpi接口或一个组合mpi/dp接口的cpu只在全部复位之前保留接口所采用的当前地址和波特率。
另一方面,另一个profibus地址也被完全删除,不能再访问。
     重要事项:重新设置pg/pc之后,与cpu之间的通讯只能通过mpi或mpi/dp接口来建立。
22:为什么不能通过mpi在线访问cpu?   如果在cpu上已经更改了mpi参数,请检查硬件配置。
可以将这些值与在"set pg/pc interface"下的参数进行比较,看是否有不一致。
    或者可以这样做:打开一个新的项目,创建一个新的硬件组态。
在cpu的mpi接口的属性中为地址和传送速度设置各自的值。
将"空"项目写入存储卡中。
把该存储卡插入到cpu 然后重新打开cpu的电压,将位于存储卡上的设置传送到cpu。
现在已经传送了mpi接口的当前设置,并且像这样的话,只要接口没有故障就可以建立连接。
这个方法适用于所有具有存储卡接口的s7-cpu。
23:错误ob的用途是什么?    如果发生一个所描述的错误(见文件1),则将调用并处理相应ob。
如果没有加载该ob,则cpu进入stop(例外:ob70、72、7 3和81)  s7-cpu可以识别两类错误:  1) 同步错误:  这些错误在处理特定操作的过程中被触发,并且可以归因于用户程序的特定部分。
  2) 异步错误:  这些错误不能直接归因于运行中的程序。
这些错误包括优先级类的错误,自动化系统中的错误(故障模块)或者冗余的错误。
24:在dp从站或cpu315-2dp型主站里应该编程哪些“故障 obs”?    在组态一个作为从站的cpu315-2dp站时,必须在step7程序中编程下列ob以便评估分布式i/o类型的错误信息:  ob 82 诊断中断 ob 、ob 86 子机架故障 ob 、ob 122 i/o 访问出错   1) 诊断ob82:如果一个支持诊断,并且已经对其释放了诊断中断的模块识别出一个错误,它既对进入事件也对外出的事件向 cpu 发出一个诊断中断的请求。
操作系统然后调用 ob82。
在 ob82 自己的局部变量里包含有有缺陷模块的逻辑基地址和 4 个字节的诊断数据。
如果你还没有编程 ob82, 则 cpu 进入“停止”模式。
你可以阻断或延迟诊断中断 ob ,并通过 sfc 39 - 42 重新释放它。
内容来自www.zggkzy.com   2) 子机架故障ob86:如果识别出一个 dp 主站系统或一个分布式 i/o 站有故障(既对进入事件也对外出的事件),该 cpu 的操作系统就调用 ob 86 。
如果没有编程 ob 86 但出现了这样一个错误, cpu 就进入“停止”模式。
你可以阻断或延迟 ob86 并通过 sfc 39 - 42 重新释放它。
3) i/o 访问出错ob122:当访问一个模块的数据时出错,该cpu的操作系统就调用ob 122。
比方说,cpu在存取一个单个模块的数据时识别出一个读错误,那么操作系统就调用ob 122。
该ob 122以与中断块有相同的优先级类别运行。
如果没有编程ob 122,那么cpu由“运行”模式改为“停止”模式。
25:为什么在某些情况下,保留区会被重写?   在step 7的硬件组态中,可以把几个操作数区定义为“保留区”。
这样可以在掉电以后,即使没有备份电池的话,仍能保持这些区域中的内容。
如果定义一个块为 “保留块”,而它在 cpu 中不存在或只是临时安装过,那么这些区域的部分内容会被重写。
在电源接通/断开之后,其他内容会在相关区里找到。
26:为何不能把闪存卡的内容加载入s7 300 cpu?   你的项目在闪存卡上。
现在要用它加载 s7 300 。
但加载结束后发现 cpu 的 ram 中仍是空的。
出现此问题的原因是你的程序里有无法处理的,"错误的"组织块(比如说, ob86 没有 dp 接口)。
在重新设置和重新启动 cpu 后, ram 仍是空的。
诊断缓冲区对这个"无法加载"的块会提示一些信息。
27:当把 cpu315-2dp 作为从站,把 cpu315-2dp 作为主站时的诊断地址     在组态一个 cpu315-2dp 站时,你使用 s7 工具 “h/w config” 来分配诊断地址。
如果发生一个故障,这些诊断地址被加入诊断 ob 的变量 “ob82_mdl_addr” 里。
你可在 ob82 里分析此变量,确定有故障的站并作出相应的反应。
下面是如何分配诊断地址的例子:    第 1 步: 通过 cpu315-2dp 组态从站并赋予一个诊断地址,比如 422。
    第 2 步: 通过 cpu315-2dp 组态主站    第 3 步: 把组态好的从站链接到主站并赋予一个诊断地址,比如 1022。
28:需要为s7-300 cpu的dp从站接口作何种设置,才可以使用它来进行路由选择?     如果使用cpu作为i-slave,并且该cpu也起s7 路由器的作用,那么请注意如下事项:    用于路由选择的从站的dp接口必须设置为活动状态。
这可以在hw config中完成:在dp接口的属性对话框中,选项" commissioning/test operation"或"programming, status/modify..."必须激活。
关于这些设置的注意事项可以在下表中获得。
对于s7 路由连接,有 4 种可用的连接资源-与其它任何连接资源无关。
没有使用pg/op的连接资源或s7基本通信。
    如果必须通过dp接口来建立一个与位于其机架上的通信伙伴连接时(如在 cp 343-1 中),也要使用一个路由连接。
而对于通过mpi接口与一个位于其机架上的通信伙伴的连接,则不使用路由连接资源,因为在这种情况下,能够直接到达伙伴。
注意事项:这不适用于cpu 318。
29:为什么当使用s7-300 cpu的内部运行时间表时,没有任何返回值?    当对cpu 312ifm到316-2dp参数化系统功能块 sfc2, sfc3 和 sfc4 时,为一个运行时间表规定了一个大于 "b#16#0"的标识符,那么将出错并且所需的功能也无法用。
此种情况下,将在块的" retval"输出处输出标识符 "8080h" 。
    说明:对于这些 cpu,只有一个计时器可用。
因此你应该只用标识符 "b#16#0"。
在一个周期块(ob1, ob35)里一定不能调用系统功能 sfc2 "set_rtm",而是应该在重启动ob(ob100)调用它。
你也可以通过外部触发器来启动该块。
不然的话,该块将老是复位运行计时表,永远完成不了计数。
30:变量是如何储存在临时局部数据中的?    l 堆栈永远以地址“0”开始。
在 l 堆栈中,会为每个数据块保留相同个数的字节,作为存放每个块所拥有的静态或局部数据。
当某个块终止时,那么它的空间随之也被重新释放出来。
指针总是指向当前打开块的第一个字节。
31:在cpu经过完全复位后是否运行时间计数器也被复位?    使用s7-300时,带硬件时钟(内置的 “实时时钟”)和带软件时钟的 cpu 之间有区别。
对于那些无后备电池的软件时钟的 cpu,运行时间计数器在 cpu 被完全复位后其最后值被删除。
而对于那些有后备电池的硬件时钟的 cpu,运行时间计数器的最后值在 cpu 被完全复位后被保留下来。
同样, cpu 318 和所有的 s7-400 cpu 的运行时间计数器在 cpu 被完全复位后其最后值被保留。
内容来自www.zggkzy.com电气自动化技术网 32:如何把不在同一个项目里的一个s7 cpu组态为我的s7 dp主站模块的dp从站?    缺省情况下, 在step 7里只可以把一个s7 cpu组态为从站,如果说该站是在同一个项目中的话。
该站然后在“profibus-dp > 已经组态的站”下的硬件目录里作为“cpu 31x-2 dp”出现。
用这种途径,可以设置起 dp 主站与 dp 从站间的链接。
    还存在一个选项,可把一个与主站不在同一个项目里的s7 cpu组态为从站。
进行如下: 按常规组态dp从站。
    从网上下载要用作从站的s7-300 cpu的gsd文件。
该文件位于客户支持网址的“profibus gsd 文件 / simatic”下。
      打开simatic manager 和硬件配置。
      打开“选项 ; 安装新的 gsd...”,把刚下载的 gsd 文件插入硬件目录 。
(注意:此过程中在 hw config 中无须打开任何窗口)


网站首页 培训课程 维修指南
技术文章 家电专栏 供应信息
求购信息 培训资讯 展会信息
电脑专栏 教程下载 资料下载
常用软件 PLC教程 PLC资料
变频伺服 低压电器 维修资料
人机界面 自控仪表 工控机类
文章标题: 搜文章
中国工控资源网手机版 2012
电话:010-67577139 13811659603
培训咨询QQ:657167934 471895637 销售咨询QQ:623769457
联系邮箱:zggkzyw@163.com
 京ICP备11002135号
报时(2026-04-02 14:22:58) 流量统计