西门子s7-300 150 个问题解答 - 中国自动化网-工业互...

61
西门子 S7300 150 个问题解答 1:使用 CPU 315F ET 200S 时应如何避免出现“通讯故障”消息?使用 CPU S7 315FET 200S 以及故 障安全 DI/DO 模块,那么您将调用 OB35 的故障安全程序。而且,您已经接受所有监控时间的默认设置值,并 且愿意接收“通讯故障”消息。 OB 35 默认设置为 100 毫秒。您已经将 F I/O 模块的 F 监控时间设定为 100 秒,因此至少每 100 毫秒要寻址一次 I/O 模块。但是由于每 100 毫秒才调用一次 OB35,因此会发生通讯故障。 要确保 OB35 的扫描间隔和 F 监控时间有 所差别,请确保 F 监控时间大于 OB35 的扫描间隔时间。 S7 分布式安全系统,一直到 V5.2 SP1 6ES7138- 4FA00-0AB06ES7138-4FB00-0AB06ES7138-4CF00-0AB0 都会出现这个问题。 在新的模块中,F 监控时间设定为 150 毫秒. 2:DP 从站不可用时,PROFIBUS S7-300 CPU 的监控时间是多少?使用 CPU PROFIBUS 接口上的 DP 从站操作 PROFIBUS 网络时,希望在启动期间检查期望的组态与实际的组态是否匹配。在 CPU 属性对话框 中的 Startup 选项卡上给出了两个不同的时间。 3:如何判断电源或缓冲区出错,如:电池故障? 如果电源(S7400)或缓冲区中的一个错误触发一个事件,则 CPU 操作系统访问 OB81。错误纠正后,重新 访问 OB81。电池故障情况下,如果电池检测中的 BATT.INDIC 开关是激活的,则 S7-400 仅访问 OB81。如果 没有组态 OB81,则 CPU 不会进入操作状态 STOP。如果 OB81 不可用,则当电源出错时,C PU 仍保持运行。 4:为 S7 CPU 上的 I/O 模块(集中式或者分布式的)分配地址时应当注意哪些问题? 请注意,创建的数据区域(如一个双字)不能组态在过程映象的边界上,因为在该数据块中,只有边界下面的区 域能够被读入过程映像,因此不可能从过程映像访问数据。 因此,这些组态规则不支持这种情况:例如,在一 256 字节输入的过程映像的 254 号地址上组态一个输入双字。 如果一定需要如此选址,则必须相应地调整 过程映像的大小(CPU Properties )5:在 S7 CPU 中如何进行全局数据的基本通讯?在通讯时需要注意什么? 全局数据通讯用于交换小容量数据,全局数据(GD)可以是:输入和输出标记数据块中的数据定时器和计数器功 能数据交换是指在连入单向或双向 GD 环的 CPU 之间以数据包的形式交换数据。 GD 环由 GD 环编号来标识。单 向连接:某一 CPU 可以向多个 CPU 发送 GD 数据包。双向连接:两个 CPU 之间的连接:每个 CPU 都可以发 送和接收一个 GD 数据包。必须确保接收端 CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFBFB

Upload: duongkhanh

Post on 14-Mar-2018

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

西门子S7-300 150 个问题解答

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 毫秒才调用一次 OB35,因此会发生通讯故障。要确保 OB35 的扫描间隔和 F 监控时间有所差别,请确保 F 监控时间大于 OB35 的扫描间隔时间。S7 分布式安全系统,一直到 V5.2 SP1 和 6ES7138-

4FA00-0AB0,6ES7138-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 不可用,则当电源出错时,C PU 仍保持运行。4:为 S7 CPU 上的 I/O 模块(集中式或者分布式的)分配地址时应当注意哪些问题?请注意,创建的数据区域(如一个双字)不能组态在过程映象的边界上,因为在该数据块中,只有边界下面的区域能够被读入过程映像,因此不可能从过程映像访问数据。 因此,这些组态规则不支持这种情况:例如,在一个 256 字节输入的过程映像的 254 号地址上组态一个输入双字。 如果一定需要如此选址,则必须相应地调整过程映像的大小(在 CPU 的 Properties 中)。5:在 S7 CPU 中如何进行全局数据的基本通讯?在通讯时需要注意什么?全局数据通讯用于交换小容量数据,全局数据(GD)可以是:输入和输出标记数据块中的数据定时器和计数器功能数据交换是指在连入单向或双向 GD 环的 CPU 之间以数据包的形式交换数据。GD 环由 GD 环编号来标识。单向连接:某一 CPU 可以向多个 CPU 发送 GD 数据包。双向连接:两个 CPU 之间的连接:每个 CPU 都可以发送和接收一个 GD 数据包。必须确保接收端 CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB 或

Page 2: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端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 (6ES7313-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取出数据,

Page 3: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

模块 FB15("PUT")用于将数据写入远程 CPU。 功能块包含在 STEP 7 V5.3 的标准库中。CPU 317-2PN/DP 的通讯模块 FB14("GET")和 FB15("PUT")的属性 :FB14 和 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 模块间组态直接数据交换(节点间通信)?两个 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 里进行。先定义起始地址,该模块的其它地址以它为基准。自由分配地址的优点:因为模块之间没有地址间隙,就可以优化地使用可用地址空间。在创建标准软件时,分配

Page 4: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

地址过程中可以不考虑所涉及的 S7-300 的组态。18:诊断缓冲器能够干什么?更快地识别故障源,因而提高系统的可用性。评估 STOP 之前的最后事件,并寻找引起 STOP 的原因。诊断缓冲器是一个带有单个诊断条目的循环缓冲器,这些诊断条目显示在事件发生序列中;第一个条目显示的是最近发生的事件。如果缓冲器已满, 最早发生的事件就会被新的条目所覆盖。根据不同的 CPU,诊断缓冲器的大小或者固定,或者可以通过 HW Config 中通过参数进行设置。19:诊断缓冲器中的条目包括哪些?1)故障事件2)操作模式转变以及其它对用户重要的操作事件3)用户定义的诊断事件(用 SFC52 WR_USMSG)

在操作模式 STOP 下,在诊断缓冲器中尽量少的存储事件,以便用户能够很容易在缓冲器中找到引起 STOP 的原因。因此,只有当事件要求用户产生一个响应(如计划系统内存复位,电池需要充电)或必须注册重要信息(如固件更新,站故障)时,才将条目存储在诊断缓冲器中。20:如何确定 MMC 的大小以便完整地存储 STEP 7 项目?为了给项目选择合适的 MMC,需要了解整个项目的大小以及要加载块的大小。可以按照如下所述的方法来确定项目的大小:1)首先归档 STEP 7 项目。然后在 Windows 资源浏览器中打开已归档项目,并确定其大小(选中该项目并右击)。这会告诉您归档文件的大小。2)将块加载入 CPU。现在仍然需要选择"PLC > ModuleInformation > Memory"。在此,在" Load

memory RAM + EPROM"中,可以看到分配的加载内存的大小。3)必须将该值和已经确定的归档项目的大小相加。这样就可以得出在一个 MMC 上保存整个项目所需的总内存的大小。21:CPU 全面复位后哪些设置会保留下来?复位CPU 时,内存没有被完全删除。整个主内存被完全删除了,但加载内存中数据,以及保存在 Flash-

EPROM 存储卡(MC)或微存储卡(MMC)上的数据,则会全部保留下来。除了加载内存以外,计时器(CPU 312

IFM 除外)和诊断缓冲也被保留。具有 MPI 接口或一个组合MPI/DP 接口的 CPU 只在全部复位之前保留接口所采用的当前地址和波特率。另一方面,另一个 PROFIBUS 地址也被完全删除,不能再访问。重要事项:重新设

Page 5: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

置 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 重新释放它。2)子机架故障 OB86:如果识别出一个 DP 主站系统或一个分布式 I/O 站有故障(既对进入事件也对外出的事件),该 CPU 的操作系统就调用 OB 86 。如果没有编程 OB 86 但出现了这样一个错误, CPU 就进入“停止”模式。你可以阻断或延迟 OB86 并通过 SFC39 - 42 重新释放它。3)I/O 访问出错 OB122:当访问一个模块的数据时出错,该 CPU 的操作系统就调用 OB 122。比方说,CPU

在存取一个单个模块的数据时识别出一个读错误,那么操作系统就调用 OB 122。该 OB 122 以与中断块有相同的优先级类别运行。如果没有编程 OB 122,那么 CPU 由“运行”模式改为“停止”模式。

Page 6: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

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"。 在一个

Page 7: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

周期块(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 被完全复位后其最后值被保留。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 中无须打开任何窗口)通过“选项 > 更新目录”来更新硬件目录。现在可以组态你的 DP 主站。将可以在 “PROFIBUS-DP > 更多现场设备 > SPS” 下发现作为从站的该 S7-300 CPU 。注意:如果是手动来结合该 DP 从站, 要确保总线参数,该 DP 从站的 PROFIBUS 地址 和它的 I/O 组态在两个项目里必须相同。33:无备用电池情况下断电的影响与完全复位一样吗?不一样。在 CPU 被完全复位的情况下,其硬件配置信息被删除(MPI 地址除外),程序被删除, 剩磁存储器也被清零。在无备用电池和存储卡的情况下关电,硬件配置信息(除了 MPI 地址) 和程序被删除。然而,剩磁存储器不受影响。如果在此情况下重新加载程序,则其工作时采用剩磁存储器的旧值。比方说,这些值通常来自前 8 个计数器。如果不把这一点考虑在内,会导致危险的系统状态。建议:无备用电池和存储卡的情况下断电后,总是要做一下完全复位。

Page 8: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

34:以将 2 线制传感器连接到紧凑型CPU 的模拟输入端吗?可以将 2 线制和 4 线制的传感器连接到 CPU 300C 的模拟输入端。使用一个 2 线制传感器时,在硬件组态中将“I = 电流”设置为测量类型,与 4 线制传感器的设置一样。注意事项:请注意紧凑型CPU 仅支持有源传感器(

4 线制传感器)。如果使用无源传感器( 2 制传感器),必须使用外部电源。警告:请注意所允许的最大输入电流 。2 线制传感器在出现短路时可能会超出最大允许电流。技术数据中规定的最大允许电流是 50mA(破坏极限)。对于这种情况(例如,对 2 线制传感器加电流限制或与传感器串联一个 PTC 热敏电阻),确保提供足够保护。35:SM322-1HH01 也能在负载电压为交流 24 V 的情况下工作吗?是的,您也可以在负载电压为交流 24 V

的情况下使用 SM322-1HH01。36:要确保 SM322-1HF01 接通最小需要多大的负载电压和电流?SM322-1HF01 继电器模块需要 17 V 和 8 mA 才能确保开闭正常。对于触点的寿命来说,这样的值比手册上提供的这个模块的值(10V 和 5 mA)更好。手册的规定值应该认为是最低要求值。37:需要为哪些 24V 数字量输入模块(6ES7 321-xBxxx- ...)连接电源?下表说明了 24V 数字量输入模块的电源插针连接 (L+ / M) 。38:在 ET200M 里是否也能使用 SM321 模块(DI16 x 24V)?模块 SM321 (MLFB 6ES7 321-7BH00-0AB0) 也可在 ET200M里使用。其中 CPU 31x-2DP 作为 DP 主站或者是通讯处理器 CPCP342-5 作为 DP 主站。同样该模块可以通过 ET200M 和 S7-400 通讯处理器 CP443-5

连接到一个 S7-400 CPU。39:SM323 数字卡所占用的地址是多少?

SM323 模块有 16 位类型(6ES7 323-1BL00-0AA0)和 8 位类型(6ES7 323-1BH00-0AA0)两种。对于 16 位类型的模块,输入和输出占用“X”和“X+1” 两个地址。如果 SM323 的基地址为 4 (即 X="4";插槽为 5),那么输入就被赋址在地址 4 和 5 下面, 输出的地址同样也被赋址在地址 4 和 5 下面。在模块的接线视图中,输入字节“X”位于左边的顶部,输出字节“X”在右边的顶部。对于 8 位类型的模块,输入和输出各占用一个字节,它们有相同的字节地址。若用固定的插槽赋址,SM323 被插入槽 4, 那么输入地址为 I 4.0 至 I 4.7,输出地址为 Q 4.0 至 Q 4.7。40:在不改变硬件配置的情况下,能用 SM321-1CH20 代替 SM321-1CH80 吗?SM321-1CH20 和 SM321-1CH80 模块的技术参数是相同的。区别仅在 SM321-1CH80 可以应用于更广泛的

Page 9: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

环境条件。因此您无需更改硬件配置。31:在 CPU 经过完全复位后是否运行时间计数器也被复位?使用 S7-300 时,带硬件时钟(内置的 “实时时钟”)和带软件时钟的 CPU 之间有区别。对于那些无后备电池的软件时钟的 CPU,运行时间计数器在 CPU 被完全复位后其最后值被删除。而对于那些有后备电池的硬件时钟的 CPU,运行时间计数器的最后值在 CPU 被完全复位后被保留下来。同样, CPU 318 和所有的 S7-400 CPU 的运行时间计数器在 CPU 被完全复位后其最后值被保留。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 中无须打开任何窗口)通过“选项 > 更新目录”来更新硬件目录。现在可以组态你的 DP 主站。将可以在 “PROFIBUS-DP > 更多现场设备 > SPS” 下发现作为从站的该 S7-300 CPU 。注意:如果是手动来结合该 DP 从站, 要确保总线参数,该 DP 从站的 PROFIBUS 地址 和它的 I/O 组态在两个项目里必须相同。33:无备用电池情况下断电的影响与完全复位一样吗?不一样。在 CPU 被完全复位的情况下,其硬件配置信息被删除(MPI 地址除外),程序被删除, 剩磁存储器也被清零。在无备用电池和存储卡的情况下关电,硬件配置信息(除了 MPI 地址) 和程序被删除。然而,剩磁存储器不受影响。如果在此情况下重新加载程序,则其工作时采用剩磁存储器的旧值。比方说,这些值通常来自前 8 个计数器。如果不把这一点考虑在内,会导致危险的系统状态。建议:无备用电池和存储卡的情况下断电后,总是要做一下完全复位。34:以将 2 线制传感器连接到紧凑型CPU 的模拟输入端吗?可以将 2 线制和 4 线制的传感器连接到 CPU 300C 的模拟输入端。使用一个 2 线制传感器时,在硬件组态中将“I = 电流”设置为测量类型,与 4 线制传感器的设置一样。注意事项:请注意紧凑型CPU 仅支持有源传感器(

Page 10: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

4 线制传感器)。如果使用无源传感器( 2 制传感器),必须使用外部电源。警告:请注意所允许的最大输入电流 。2 线制传感器在出现短路时可能会超出最大允许电流。技术数据中规定的最大允许电流是 50mA(破坏极限)。对于这种情况(例如,对 2 线制传感器加电流限制或与传感器串联一个 PTC 热敏电阻),确保提供足够保护。35:SM322-1HH01 也能在负载电压为交流 24 V 的情况下工作吗?是的,您也可以在负载电压为交流 24 V 的情况下使用 SM322-1HH01。36:要确保 SM322-1HF01 接通最小需要多大的负载电压和电流?SM322-1HF01 继电器模块需要 17 V 和 8 mA 才能确保开闭正常。对于触点的寿命来说,这样的值比手册上提供的这个模块的值(10V 和 5 mA)更好。手册的规定值应该认为是最低要求值。37:需要为哪些 24V 数字量输入模块(6ES7 321-xBxxx- ...)连接电源?下表说明了 24V 数字量输入模块的电源插针连接 (L+ / M) 。38:在 ET200M 里是否也能使用 SM321 模块(DI16 x 24V)?模块 SM321 (MLFB 6ES7 321-7BH00-0AB0) 也可在 ET200M里使用。其中 CPU 31x-2DP 作为 DP 主站或者是通讯处理器 CPCP342-5 作为 DP 主站。同样该模块可以通过 ET200M 和 S7-400 通讯处理器 CP443-5

连接到一个 S7-400 CPU。39:SM323 数字卡所占用的地址是多少?

SM323 模块有 16 位类型(6ES7 323-1BL00-0AA0)和 8 位类型(6ES7 323-1BH00-0AA0)两种。对于 16 位类型的模块,输入和输出占用“X”和“X+1” 两个地址。如果 SM323 的基地址为 4 (即 X="4";插槽为 5),那么输入就被赋址在地址 4 和 5 下面, 输出的地址同样也被赋址在地址 4 和 5 下面。在模块的接线视图中,输入字节“X”位于左边的顶部,输出字节“X”在右边的顶部。对于 8 位类型的模块,输入和输出各占用一个字节,它们有相同的字节地址。若用固定的插槽赋址,SM323 被插入槽 4, 那么输入地址为 I 4.0 至 I 4.7,输出地址为 Q 4.0 至 Q 4.7。40:在不改变硬件配置的情况下,能用 SM321-1CH20 代替 SM321-1CH80 吗?SM321-1CH20 和 SM321-1CH80 模块的技术参数是相同的。区别仅在 SM321-1CH80 可以应用于更广泛的环境条件。因此您无需更改硬件配置。31:在 CPU 经过完全复位后是否运行时间计数器也被复位?使用 S7-300 时,带硬件时钟(内置的 “实时时钟”)和带软件时钟的 CPU 之间有区别。对于那些无后备电池的软件时钟的 CPU,运行时间计数器在 CPU 被完全复位后其最后值被删除。而对于那些有后备电池的硬件时钟的

Page 11: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

CPU,运行时间计数器的最后值在 CPU 被完全复位后被保留下来。同样, CPU 318 和所有的 S7-400 CPU 的运行时间计数器在 CPU 被完全复位后其最后值被保留。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 中无须打开任何窗口)通过“选项 > 更新目录”来更新硬件目录。现在可以组态你的 DP 主站。将可以在 “PROFIBUS-DP > 更多现场设备 > SPS” 下发现作为从站的该 S7-300 CPU 。注意:如果是手动来结合该 DP 从站, 要确保总线参数,该 DP 从站的 PROFIBUS 地址 和它的 I/O 组态在两个项目里必须相同。33:无备用电池情况下断电的影响与完全复位一样吗?不一样。在 CPU 被完全复位的情况下,其硬件配置信息被删除(MPI 地址除外),程序被删除, 剩磁存储器也被清零。在无备用电池和存储卡的情况下关电,硬件配置信息(除了 MPI 地址) 和程序被删除。然而,剩磁存储器不受影响。如果在此情况下重新加载程序,则其工作时采用剩磁存储器的旧值。比方说,这些值通常来自前 8 个计数器。如果不把这一点考虑在内,会导致危险的系统状态。建议:无备用电池和存储卡的情况下断电后,总是要做一下完全复位。34:以将 2 线制传感器连接到紧凑型CPU 的模拟输入端吗?可以将 2 线制和 4 线制的传感器连接到 CPU 300C 的模拟输入端。使用一个 2 线制传感器时,在硬件组态中将“I = 电流”设置为测量类型,与 4 线制传感器的设置一样。注意事项:请注意紧凑型CPU 仅支持有源传感器(

4 线制传感器)。如果使用无源传感器( 2 制传感器),必须使用外部电源。警告:请注意所允许的最大输入电流 。2 线制传感器在出现短路时可能会超出最大允许电流。技术数据中规定的最大允许电流是 50mA(破坏极限)。对

Page 12: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

于这种情况(例如,对 2 线制传感器加电流限制或与传感器串联一个 PTC 热敏电阻),确保提供足够保护。35:SM322-1HH01 也能在负载电压为交流 24 V 的情况下工作吗?是的,您也可以在负载电压为交流 24 V 的情况下使用 SM322-1HH01。36:要确保 SM322-1HF01 接通最小需要多大的负载电压和电流?SM322-1HF01 继电器模块需要 17 V 和 8 mA 才能确保开闭正常。对于触点的寿命来说,这样的值比手册上提供的这个模块的值(10V 和 5 mA)更好。手册的规定值应该认为是最低要求值。37:需要为哪些 24V 数字量输入模块(6ES7 321-xBxxx- ...)连接电源?下表说明了 24V 数字量输入模块的电源插针连接 (L+ / M) 。38:在 ET200M 里是否也能使用 SM321 模块(DI16 x 24V)?模块 SM321 (MLFB 6ES7 321-7BH00-0AB0) 也可在 ET200M里使用。其中 CPU 31x-2DP 作为 DP 主站或者是通讯处理器 CPCP342-5 作为 DP 主站。同样该模块可以通过 ET200M 和 S7-400 通讯处理器 CP443-5

连接到一个 S7-400 CPU。39:SM323 数字卡所占用的地址是多少?

SM323 模块有 16 位类型(6ES7 323-1BL00-0AA0)和 8 位类型(6ES7 323-1BH00-0AA0)两种。对于 16 位类型的模块,输入和输出占用“X”和“X+1” 两个地址。如果 SM323 的基地址为 4 (即 X="4";插槽为 5),那么输入就被赋址在地址 4 和 5 下面, 输出的地址同样也被赋址在地址 4 和 5 下面。在模块的接线视图中,输入字节“X”位于左边的顶部,输出字节“X”在右边的顶部。对于 8 位类型的模块,输入和输出各占用一个字节,它们有相同的字节地址。若用固定的插槽赋址,SM323 被插入槽 4, 那么输入地址为 I 4.0 至 I 4.7,输出地址为 Q 4.0 至 Q 4.7。40:在不改变硬件配置的情况下,能用 SM321-1CH20 代替 SM321-1CH80 吗?SM321-1CH20 和 SM321-1CH80 模块的技术参数是相同的。区别仅在 SM321-1CH80 可以应用于更广泛的环境条件。因此您无需更改硬件配置。41:进行 I/O 的直接访问时,必须注意什么?需要注意在一个 S7-300 组态中,如果进行跨越模块的 I/O 直接读访问(用该命令一次读取几个字节),那么就会读到不正确的值。 可以通过 hardware 中查看具体的地址。42:SM321 模块是否需要连接到 DC 24V 上?不需要,如果是 MLFB 为 6ES7 321-1BH02-0AA0 的 SM 321

Page 13: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

模块,就不再需要连接 DC 24V 了。见图:43:在 STEP 7 硬件组态中如何规划模拟模块 SM374?在硬件目录中如何找到此模块?模拟模块 SM374 可用于三种模式中:作为 16 通道数字输入模块,作为 16 通道数字输出模块,作为带 8 个输入和 8 个输出的混合数字输入/输出模块。现在把 SM374 按照您需要模拟的模块来组态,就是说;如果把 SM 374 用作为一个 16 通道输入模块,则组态一个 16 通道输入模块 - 推荐使用:SM 321: 6ES7321-

1BH01-0AA0,如果把 SM 374 用作为一个 16 通道输出模块,则组态一个 16 通道输出模块 - 推荐使用: SM 322: ES7322-

1BH01-0AA0,如果把 SM 374 用作为一个混合输入/输出模块,则组态一个混合输入/输出模块( 8 个输入,8

个输出) - 推荐使用:SM 323:6ES7323-1BH01-0AA0。44:当测量电流时,出现传感器短路的情况,模块 6ES7

331-1KF0.-0AB0 的模拟量输入 I+是否会被破坏?当测量电流时,出现传感器短路的情况,模块 6ES7331-

1KF0.-0AB0 的模拟输入 I+不会被破坏。该模块具有内置的过流保护功能。> 模块中每个 50 欧姆的电阻器前面具有一个 PTC 元件,用于防止模块的输入通道被破坏。请注意,输入电压允许的长期最大值为 12V,短暂(最多 1 秒)值为 30V。45:如果切断 CPU,则 2 线制测量变送器是否继续供电?如果变送器模块插入位置“D”,且模块在引脚 1 和引脚 20 上由外部电压供电,则 2 线测量变送器继续供电。即使切断 CPU,其供电电流仍维持不变。46:用 S7-300 模拟量输入模块测量温度(华氏)时,可以使用模块说明文档中列出的绝对误差极限吗?不可以直接使用指定的误差极限。基本误差和操作误差都以绝对温度和摄氏温度说明。必须乘以系数 1.8 将其转换为华氏温度单位。例:S7-300 AI 8 x RTD:指定的温度输入操作误差是+/-1.0 摄氏度。当以华氏温度测量时,可接受的最大误差是+/-1.8 华氏度。47:为什么用商用数字万用表在模拟输入块上不能读出用于读取阻抗的恒定电流?几乎所有的 S5/S7 模拟输入设备仍然以复杂的方式工作,即,所有的通道都依次插到仅有的一个 AD 转换器上。该原理也适用于读取阻抗所必需的恒定电流。因此,要读的流过电阻的电流仅用于短期读数。对于有一个选定接口抑制"50Hz"和 8 个参数化通道的 SM331-7KF02-0AB0 ,这意味着电流将会约每 180ms 流过一次,每次有 20ms 可读取阻抗。

Page 14: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

48:为什么 S7-300 模拟输出组的电压输出超出容差?端子 S+和 S-作何用途?下列描述适用于所有模拟输出模块 SM 332:当使用模拟输出模块 SM 332 时,必须注意返回输入 S+和 S-

的分配。它们起补偿性能阻抗的目的。当用独立的带有 S+ 和 S-的电线连接执行器的两个触点时,模拟输出会调节输出电压,以便使动作机构上实际存在的电压为所期望的电压。如果想要获得补偿,那么执行器必须用 4 根电线连接。这意味着对于第一个通道,需要:输出电压通过针脚 3 和针脚 6 连接到执行器。分配执行器的针脚 4

和针脚 5。如果不想获得补偿,只需在前面的开关上简单的跨接针脚 3-4 和针脚 5-6。注意事项:因为打开的传感器端子 (S+ 和 S-),输出电压被调节到最大值 140 mV (用于 10V)。g 对于此分配,无法保持 0.5 %的电压输出使用误差限制。49:如何连接一个电位计到 6ES7 331-1KF0-0AB0?

电位计的采样端和首端连接到 M+,末端连接 M-,并且 S- 和 M-连接到一起。注意: 最大的可带电阻是 6K,如果电位计支持直接输出一个可变的电压,那么电位计的首端应该连接 V+,M 端连接 M-。50:如何把一个PT100 温度传感器连接到模拟输入模块 SM331?PT100 热电阻随温度的不同其电阻值随之变化。如果有一恒定电流流经该热电阻,该热电阻上电压的下降随温度而变化。恒定电流加在接点 Ic+ 和 Ic-上。模拟模块 SM331 在 M+和 M-电测定电流的变化。通过测定电压就可以确定出温度。PT100 到模拟输入组有三类连接:4 线连接可得到最精确的测定值。***注意:1)3 线连接用的公式仅表明了模拟输入模块 SM331 (MLFB 号为 6ES7 331-7Kxxx-0AB0)b " 的实际测定过程。2)在 S7-300 系列中,存在一些通过多次测定的模拟输入端。它们规定出公共返回线的线电阻并作数学补偿。所获精确度几乎与 4线连接可比美。这样模块的一个例子就是 SM331(MLFB 号 6ES7331-7PF00-0AB0)。3)所给出的公式仍然适用于主要的物理关系,但并不包含确定 PT100 电阻的有效测定过程。51:可以将 HART 测量转换器连接到 SIMATIC S7-300 系列常规的模拟输入模块吗?如果不需要 HART 测量转换器的其它 HART 特性,还可以使用其它 S7-300 模拟输入模块。例如,可以使用模块 6ES7331-7KF0x-0AB0 或一个带隔离的 4 通道模块(如 6ES7331-7RD00-0AB0)。为此,将积分时间要设置为 16.66ms,20ms 或 100ms。对于连接到手持式设备,或与手持式设备通信,电路中必须串接一个 250-

Page 15: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

Ohm 的电阻。注意事项:如果要通过控制器(比如说,SIMATIC PDM)来编程 HART 测量转换器,必须使用一个相应的 HART 模块(例如,6ES7331-7TB00-0AB0 或 6ES7 332-5TB00-0AB0)。52:如何避免 SM335 模块中模拟输入的波动?下列接线说明适于下列MLFB 的模拟输入/输出模块:6ES7335-7HG00-0AB0 、6ES7335-7HG01-0AB0 检查是否正在使用的安装在绝缘机架上的未接地传感器或检查您的传感器是否接地。安装在绝缘机架上的传感器:尽可能通过最短路径(可能的话,直接连接到前端的连接器)将接地端子 Mana (针6)连接到测量通道M0(针 10),M1(针 12),M2(针 14)和 M 3(针 16)以及中央接地点(CGP)。接地传感器:确保传感器有良好的等电位连接。然后把从 M 到 Mana 和到中央接地点的连接隔离起来。请将屏蔽层置于两侧。53:在 S7-300F 中,是否可以在中央机架上把错误校验和标准模块结合在一起使用?在 S7-300F 的中央机架上,可以混合使用防错和非防错(标准)数字 E/A 模块。为此,就像在 ET200M 中一样,需要一个隔离模块(MLFB: 6ES7195-7KF00-0XA0),用来在中央和扩展机架中隔离防错模块和标准模块。请遵守以下安装原则:标准模块(IM、SM、FM、CP)必须插到隔离模块左侧的插槽中,防错数字 E/A 模块必须插到隔离模块右侧的插槽中。54:可以将来自防爆区 0 或防爆区 1 的传感器 / 执行器直接连接到 S7-300 Ex(i) 模块吗?不能连接来自防爆区 0 的传感器/执行器。但可以直接连接来自防爆区 1 的传感器/执行器。Ex(i) 模块是按照 [EEx ib] IIC 测试的。因此,模块上有两道防爆屏障。然而,必须获得[EEx ia]认可才能用来自防爆区 0 的传感器 /执行器。(模块上将应该有三道防爆屏障)。55:在 SIMATIC PCS 7 中使用 FM 355 或者 FM 355-2 要特别注意什么?举个例子,如果您想在一个冗余的 ET 200M 站中使用 FM 355 或者 FM 355-2 ,那么请注意以下的重要事项:

有两个功能块可用于连接 FM 355。举个例子,如果需要使用“运行过程中更换模块” (热插拔)功能,您可以使用订货号为 6ES7153-2BA00-0XB0 的 IM 153-2 HF 接口模块的高级特性。在这种情况下,当使用“硬件配置”软件进行组态时,您必须激活“运行过程中更换模块”( 热插拔)功能。IM 153-2 和所有的 SM/FM/CP 都要插在激活的总线模块上 (订货号 6ES7 195-7Hxxx-0XA0)。56:将第一个 FM 352-5 的输出与第二个 FM 352-5 的输入直接相连时,有哪些注意事项?

Page 16: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

如果要将两个 FM352-5 互连,在 6ES7 352-5AH10-0AE0(P 型沉没输出)上即可实现。6ES7 352-5AH00-0AE0 有 M 型沉没输出,该输出只有在每个输出端先加一个插拔电阻时才可用,推荐插拔电阻的规格: 2,2 kOhm/ 0,5 W. 确保开关盒内有短路连接。此种情况下的操作频率可高达 100 kHz。57:可以在不用 PG 的情况下更换 FM353/FM354 吗?可以。FM353 (MLFB No. 6ES7 353-1AH01-0AE0)和 FM354(MLFB No. 6ES7 354-1AH01-0AE0)可以不用 PG 就进行更换。要求:使用组态包 FM353 V2.1 或组态包 FM354 V2.1 以及 STEP7 版本 V3.1 或更高版本。步骤:当完成了 FM 和系统的启动后,必须创建一个系统数据块(SDB >=1000)并将它储存在 PG 上。在这个SDB 中储存 FM 的全部参数化数据(DB/横移程序,机器数据,递增尺寸表等)。 把此 SDB传送到 CPU 或者传送到 CPU 的存储卡上。57:在 FM 350-2 上如何通过访问 I/O 直接读取计数值和测量值?FM 350-2 允许最多 四个计数值或测量值直接显示在模块 I/O 上。可通过使用“指定通道”功能来定义哪个单个测量值要显示在 I/O 区。根据计数值或测量值的大小,必须在“用户类型”中将数据格式参数化为“Word”或“Dword”。如果参数化为“Dword”,每个“用户类型”只能有一个计数值或测量值。如果参数化为“Word”,可以读进两个值。在用户程序中,命令 L PIW 用于 Word 访问,L PID 用于 Dword 访问。58:应该如何连接 Siemens 6FX2001-5 (Up=24V; SSI)绝对值编码器?见图:59:FM357-2 用绝对编码器时应注意什么?

FM357-2 的固件版本为 V3.2/V3.3 在下列情况下绝对编码器的采样值可能会不正确, FM357-2 固件版本为 V3.4 时这些问题将被解决。1) FM357-2 启动失败。例如,在启动窗口中定义的时间内掉电。2) FM357-2 在运行中拔插编码器的电缆。3) 模拟的情况下。例如,FM357-2 在无驱动的情况下准备运行。60:如何把一个初始值快速下载进计数器组 FM350-1 或 FM450-1 中?对于有些应用场合,重要的是,当达到某个比较值时要尽快地把计数器复位为初始值。此外,通常在复位时需要进行一系列计算,以确定下一个比较值(以便优化原料的交点)。没有标准功能 FCCNT_CTRL 也可以选择进行一次复位。

Page 17: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

为了快速把计数器复位,如下进行来组态计数器: 在计数器模块的“属性”对话框中的“基本参数”区内,将选项 生成中断设成“是”,然后将中断选择设成“过程”。这样,在复位时会生成一个中断。 在“输出”参数标志中组态数字输出 DQ0,以便在达到比较值时激活它。 在“输入”参数标志中的“设置计数器”域中,设置选项“多个”。注意事项:在关联通道数据块中,必须将位 DBX 27.0 或 DBX27.1 ( CTRL_DQ0) 设置为 1,以便使设置按正确的方向进行。在“中断释放”参数标志中,选择选项“设置计数器”,以便在数字输入 SET

处出现一个上升沿时触发该中断。 功能模块 FM 350-1 / FM 450-1 的数字输入 I2 是用于把计数器重置为初始值的。该输入与数字输出 Q0 相连接(同 FM 350-1 / FM 450-1)。注意事项:在关联通道的数据块中,必须预先将数据双字 DBD14(LOAD_VAL)设置为初始值(如 L#0)。数据双字 DBD18 (CMP_V1)必须设置成比较值。必须通过在 FC 上置相应的触发位一次来用 FCCNT_CTRL 把这些值传送到 FM 去61 为什么在 FM350-1 中选 24V 编码器,启动以后,SF 灯常亮,FM350-1 不能工作?

要检查一下,首先在软件组态中要选择编码器类型(为 24V),再检查一下,FM350-1 侧面的跳线开关,因为缺省的开关设置为 5V 编码器,一般用户没有设置,开机后,SF 灯就会常亮。另外,还可以看看在线硬件诊断,可以看看错误产生的原因,是否模板坏了。62: FM350-1 的锁存功能是否能产生过程中断?

FM350-1 的锁存功能是不能产生过程中断,但是可以产生过零中断。FM350-1 的装载值必须为零,随者锁存功能的执行(DI 的上升沿开始),当前的计数值被储存到另一地址然后置为初始值零,产生过零中断,在 OB40 中可以读出中断并相应的锁存值。 锁存值也可以从 FM350-1 的硬件组态地址的前 4 个字节中读出。63: 在 FM350-1 中,怎样触发一个比较器输出?

FM350-1 中自带的输出点具有快速性、实时性,不必要经过 CPU 的映像区处理。输出点一般对应于比较器,首先在硬件组态中定义比较器输出类型,如:输出值为 1 或为脉冲输出,然后在程序中设置比较值。在 FM350-1 中,地址在通讯 DB(UDT 生成)块中为 18(比较值 1)、22(比较值 2),类型为 DINT,然后激活输出点28.0(DQ0)、28.1(DQ1),

这样比较器就可以工作了。64 :在 FM350-2 中,工作号的作用是什么?

工作号是 S7-300CPU 与 FM 进行通讯的任务号,每次的交换数据只是部分数据交换,而非全部数据,这样可以

Page 18: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

减少 FM 的工作负载,工作号又分写工作号和读工作号,例如在 FM350-2 中指定 DB1 为通讯数据块,如果把写工作号 12 写入到 DB1.DBB0 中,把 200 写入到 DB1.DBD52 中,再调用 FC3 写功能,这样第一个计数器的初始值为 200,

这里工作号 10 的任务号是写第一个计数器的初始值,DB1.DBB0 为写工作号存入地址,DB1.DBD52 为第一个计数器装载地址区,同样读工作号 100 为读前 4 路,101 为读后 4 路计数器,读工作号存入地址为 DB1.DBB2。 但写任务不能循环写,只能分时写入。65:如果对于 4-20 mA 模拟量输入模块来说,小于 4 mA 后转换的数字量是多少?

如果小于 4ma,那么将会是输出负值,例如 -1 对应的是 3.9995mA,而 1.185 mA 时,这个数值是-4864

(10 进制)但是如果小于 1.185mA,如果禁止断线检测,这个值是 8000(16 进制)如果有断线检测,会变成7FFF(16 进制)。66:怎样对模拟量进行标准化和非标准化?可以使用以下功能块:1.在块 FC164 中,x 和 y 都是整数。2. FC165 中 x 是整数,y 是实数。3. FC166 中 x 是实数,y 是整数。4. FC167 中 x 和 y 都是实数。67:S7 系列 PLC 之间最经济的通讯方式是什么?MPI 通讯是 S7 系列 PLC 之间一种最经济、数据量最小的一种通讯,需要做连接配置的站通过 GD 通讯,GD

通讯适合于 S7-300 之间,S7-300、S7-400、MPI 之间一些固定数据的通讯。不用作连接的 MPI 通讯适用于S7-300 之间、S7-300 与 400 之间、S7-300/400 与 S7-200 系列 PLC 之间的通讯,建议在 OB35(循环中断 100ms)

中调用发送块,在 OB1(主循环组织块)调用接收块。68:整个系统掉电后,为什么 CPU 在电源恢复后仍保持在停止状态?整个系统由一个 DP 主站 S7-300/400 以及从站组成。而从站通过一个主开关被切断了电源。由于内部的 CPU

电压缓冲器,CPU 仍继续运行大约 50ms 到 100ms。此阶段里 CPU 识别出所连接的从站的故障。如果没有编程 OB86 和 OB122 的话,CPU 就会因为这些有故障的从站而继续保留在停止状态。69:在点到点通信中,协议 3964(R)和 RK 512 之间的区别是什么?

Page 19: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

这两个协议的主要区别在于消息报头和响应消息的不同。使用 RK 512,提供有最高的数据完整性,程序 3964(R) 当传送信息数据时,程序 3964(R)将控制字符(安全层)添加到信息数据上。这些控制字符激活通信伙伴,检查数据是否全部接收,是否无错误。70:当一个 DP 从站出故障,如何在输入的过程映像被清成“0”以前保存它们?当一个 DP 从站出故障时,OB86(通过 S7-300/400)被调用。可用下列方法“保存”输入的过程映像:1. 把从站的所有输入循环地复制到一个独立的区里。2.如果从站出问题,则 OB86 被启动。在此 OB 里你可设一个标志位来可防止进一步的循环复制操作。3. 当从站返回总线后,你把 OB86 里的标志位复位。71:对模拟量模块而言,如何处理未使用的通道?如果模块带有 MANA : 短接所有的未使用通道的 M-到 MANA ,如果可能,连接 MANA 到接地极,把模块的测量模式设置为: 0 - 20/+ -20mA. ,短接未使用的 COMP+/COMP-. IC+ / IC-可以保持悬空。如果模块不带有 MANA : 把所有未使用的通道M-连接到使用通道的 M-.等在输入端 UCM > 2.5V 时,连接所有未使用的 M-到cpu

的接地或系统的接地. 把模块的测量模式设置为: 0 - 20/ +-20mA. ,短接未使用的 COMP+/COMP-. IC+ /

IC-可以保持悬空。对于 SM 331-7NF10-0AB0 模块在 4 通道模式:禁止未用的通道,这些输入端悬空即可对于 Ex 模块 SM 331-7RD:未使用的通道可以保持悬空 72:上位机与 plc 进行通讯,硬件都需要哪些?可以参照下图:73:CP5511/5611 诊断测试后产生错误代码,代码的含义是什么?0x0300 Cannot find module:

Please check whether the CP5511 is installed and slotted properly.

Check the interrupt and address assignments. Information on further procedures is available

also in the STEP 7 Online Help under "Setting the PG/PC Interface", in the paragraph on

"Checking the

interrupt and address assignments". More information is also available in the STEP 7 Readme

file ("Start > SIMATIC > Productnotes"), in section 4.4.1 under "Built-in MPI onboard and the MPI

PC

module -> Setting interrupts and addresses".0x0312 Incorrect configuration parameters:

Deinstall the CP5511 and reinstall it again. For this you click the"Select" button in the PG/PC

Page 20: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

interface (Fig. 1). Mark the CP5511 with the cursor in the right window (Fig. 3). Then click the

"Deinstall" button. Now, (after restarting STEP 7) you can mark the CP5511 in the left window

and click the "Install" button. For this activity you need to have administrator rights to your PC

(see STEP

7 Readme file, section 3.1).0x0313 Baud rate does not correspond with network or incorrect

interrupt:

Check the transfer speed (Baud rate) in the PG/PC interface and in the hardware configuration.

The Baud rate must not be greater than the Baud rate that is supported by the slowest user.

The PROFIBUS addresses configured in the hardware configuration must match the addresses of

the system configuration.

Check the interrupt and address assignments. Information on further procedures is available in

the STEP 7 Online Help under "Setting the PG/PC interface", in the paragraph on "Checking the

interrupt and address assignments" (Index: Check interrupt assignment). More information is

also available in the STEP 7 Readme file ("Start > SIMATIC > Product notes"), in section 4.4.1

under "Built-in MPI onboard and the MPI PC module -> Setting interrupts and addresses".

0x0316 Hardware ressource already busy:If this error message occurs after the installation of

the CP5511

in "Setting PG-PC interface 0x031a Cannot find any active PB/MPI network:Activate the function

"PG/PC is the only master on the bus" in the Properties of the PG/PC interface (see Fig. 4). This

disables an additional safety function against bus faults. You get to this mask via the

"Properties" button - see Fig. 1. The requirement is that the interface parameters used are set

to "CP5511(MPI)".

0x0318 Interrupt occupied:This message appears in most cases in Windows NT. In the BIOS of

your computer change the "PnP" setting to "No". You get to the BIOS of your computer by

restarting your PC and hitting the F2 key.

0x031b Synchronization error:

Please check the bus parameters on the bus. These must match the bus parameters configured

Page 21: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

in the hardware configuration.Check the installation of the bus cable.0x031c AMPRO2 system

error:

Activate the function "PG/PC is the only master on the bus" in the Properties of the PG/PC

interface (see Fig. 4). Please check whether all the terminators for the PROFIBUS network are

connected properly.

It is also possible that the STEP 7 drivers are not installed or have been deleted or that an

incorrect driver has been installed. In this case we recommend sending the CITAMIS.str file to

Customer

Support for checking.

Another possible cause might be that the hardware is defective.0x0320 Cannot find DLL/VXD as

file:

On your PC please find the file specified in the Windows Explorer via "Tools > Find >

Files/Folders". Either the file is not on your computer or it is found twice. Please rename the file

in the

Windows system directory and then restart Windows.

In the Registry, the references to the files are missing. Access to the required parameters from

the Registry is not possible.

Perhaps you don't have the required access rights or the system database is damaged.

The drivers are not compatible with the operating systems.

73:哪些软件里含有 CP5511,CP5512,CP5611,RS232PC-Adapter 的驱动?如果安装了相应的软件后包含“Set PG/PC Interface …”组件,那么这些软件都含有CP5511,CP5512,CP5611,RS232 PC-Adapter 的驱动,只需在“Set PG/PC Interface …”-

>“Select…”->选择相应的驱动,然后“Install-->”即可。具体的软件有 Step7,Step7 MicroWin,Simatic

Net,WinCC,Protool,Flexible,PCS7。74:当试图通过 TeleService 建立 PRODAVE MPI 和样列程序之间的通讯时,为什么会出现出错消息 4501?调制解调器没有响应,并产生了出错消息 4501。在这个情况下,工作站的规范不正确。 在 TeleService 对话框中检查工作站的名称和工作站(standort)规范。此处可能有个不正确的缺省设删除“station”(“standort”)域中

Page 22: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

的缺省名,或输入正确的工作站名。那么就可以使用调制解调器在 PRODAVE MPIY 和 TeleService 之间建立连接。75:是否可以将数据块的当前值作为初始值从 AS 传送到项目中?可以。从 AS 中“ONLINE,打开相关数据块(DB).使用软盘图标“OFFLINE”保存DB.

通过“File > Generate Source”在 DB 中产生 STL 源代码. 通过手动操作将 BEGIN 和 END_DATA_BLOCK

行之间的当前值与相应的声明(初始值)逐行 连接起来,从而得到下列声明语句:STRUCTwordVar :

WORD := W#16#ABCD;...

END_STRUCT ;编译 STL 源代码。76:在通讯任务中,在哪些 OB 中必须调用 SFB?在启动型OB(如用于 S7-300 的 OB100 和用于 S7-400 的 OB100 和 OB101)和循环模式 OB(OB1)中,必须调用数据通讯或程序管理(把 PLC 切换到 STOP 或 RUN)所需的所有 SFB。 OB100 是启动型OB,并在重新启动 CPU 时运行。例如,在该 OB 中,用标记 M1.0 和 M0.1 来释放第一个通讯触发器。77:怎样编程间接访问一个 ARRAY 类型变量的元素?一个位、字节或者字符域的尺寸是按照字节限制排列的——在所有其它情况下是按照字对齐的。表 T6-1 中给出了一个域的存储示例。操作系统计算域中单个元素末端位置的位地址。域被分配到从下一个字地址(或字节地址)。下一个数据类型从下一个整字开始(或者整字节).

声明部分:在声明部分,必须定义一个与将被间接寻址的 ARRAY 有着同一结构的 ARRAY。不一定非要将 ARRAY 声明为IN-OUT 变量;也可以声明为 TEMP、IN 或 OUT 变量。网络:域宽度(OFFSET)在网络中定义。ARRAY 中的单个元素的最小常规数据宽度是一个字节;即使在两个变量之间定义一个 BOOL。有必要确定相关的域的宽度和确定下一个期望域的起始地址。可使用下面的算法: 地址(指数):b = 元素长度*(指数 - 1)创建具有不同数据类型的结构时,必须注意,在特定的环境下可能会自动插入填充字节。保存ARRAY 数据类型

Page 23: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

示例:ARRAY [1..2,1..3] OF 整数 将生成下列域:多维域是按照顺序保存的。在本例中整数 [1,1]后面是整数[1,2],整数 [1,3]后面是整数 [2,1]。78:STEP 7 以哪种格式存储 POINTER 参数类型?STEP 7 以 6 个字节保存 POINTER 参数。表 4-1 显示了用于保存 POINTER 参数类型的内存区域以及每个字节中保存的数据。POINTER 参数类型保存了下列信息: DB 号(如果 DB 中没有保存任何数据时为 0)。 CPU 中的内存区域(表格中列出了不同内存区域的十六进制代码)。数据的地址(按照Byte.Bit 格式)。如果将形式参数声明为 POINTER 参数类型,则只需要指定内存区域和地址。STEP 7 自动将输入项目的格式转换为指针格式。79:因为总是要首次调用 Alarm8P(SFB35)块,怎样避免 OB 1初始化过程花费太长时间?

激活(首次调用)报警块 Alarm(SFB33)、A larm_8(SFB34)和 Alarm_8P(SFB35)比简单地执行作业检查需要多花费 2 到 3 倍的运行时间。当传送告警时,块的运行时间也会同样长。 然而警报通常不会成群发生,当编程时,需要注意警报块的首次调用,因为此处用到的所有块需要很长的运行时间,因此被调用 OB 的运行时间在某些情况下将显著增加。将警报块的首次调用移动到 OB 100/101/102,可以将较长的运行时间转换到启动过程。此处处理时间也会较长,但是由于与模块的参数设置同时进行,启动时间不会太长。80:当不能卸载 STEP 7 时,该怎么办?设法通过控制面板卸载 STEP 7。如果安装文件已损坏,卸载程序常会出错,并伴随出错信息。 另外STEP 7 CD

包含文件 SimaticSTEP7.msi。可以通过这个文件卸载 STEP 7。81:加密的 300PLC MMC 处理方法如果您忘记了您在 S7-300CPU Protection 属性中所设定的密码,那么您只能够采用 siemens 的编程器PG(6ES7798-0BA00-0XA0)上的读卡槽或采用带USB 接口的读卡器(USB delete◊S7 MemoryCard◊prommer 6ES7792-0AA00-

0XA0),选择 SIMATIC Manager 界面下的菜单 File 选项删除MMC 卡上原有的内容,这样MMC 就可以作为一个未加密的空卡使用了,但无法对 MMC 卡进行 jie 密,读取MMC 卡中的程序或数据。82: 以 314C 为例计数时如何清计数器值?有两种方法:

Page 24: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

1:在参数设置中“Gate function”选“Cancel count”软件门为 0,在为 1 时,值将清零,2:利用写“Job”的方式,写计数值的任务号为 1。83:CP342-5 能否用于 PROFIBUS FMS 协议通讯?CP342-5 支持 PROFIBUS DP 协议,不能用于 PROFIBUS FMS协议通讯,同样CP343-5 只支持 PROFIBUS

FMS 协议,不能用于 PROFIBUS DP 协议通讯,而 CP342-5 和 CP343-5 都支持 PROFIBUSFDL 的链接方式;84:为什么 CP342-5 FO 无法建立通讯?如何配置?CP342-5 FO 不支持 3MB,6MB 的通讯速率,如果您购买的是 5.1 版本的 CP342-5,而 STEP7 中没有V5.1 版的 CP342-5 时,则可以插入一个 V5.0 版的 CP342-5 模块,功能不受影响。CP342-5 在 S7-300 系统中的安装位置与普通的 S7-300 I/O 模块一样,可以插在 4 至 11 这 8 个槽位中的任何一个。85:CP342-5 的 3 中工作方式有什么区别?No DP 方式下:可以用 CP342-5 通讯口进行 S7 编程或进行 PROFIBUS 的 FDL 连接,连接人机界面;DP Master 方式下:CP342-5 除了作为网络中的 PROFIBUS 主站之外,也可用于 S7 编程、FDL 连接和连接人机界面。DP delay time参数一般不需设定,除非您采用 FDL 连接时,要与 DP 的 I、O 点刷新时间相一致,才根据 PROFIBUS 网络性能进行调整;DP Slave 方式下:CP342-5 除了作为网络中的从站之外,如果选择了 The module is an active node on the PROFIBUS subnet 选择框,那么 CP 342-5 也可用于 S7 编程 、FDL 连接和连接人机界面,否则 CP342-5 只能作为从站使用;86:CP342-5 最多能完成多少数据交换?一套 S7-300 系统中最多可以同时使用 4 块 CP342-5 模块,每块 CP342-5 能够支持 16 个 S7

Connection,16 个 S5-CompatibleConnection。当 CP342-5 处在 No DP 模式下工作时,最多同时支持32 个通讯链接,而处在 DP Slave 或 DP Master 模式下时,最多同时支持 28 个通讯链接。CP342-5 作为PROFIBUS DP 主站时,最多链接 124 个从站,和每个从站最多可以交换 244 个输入字节(Input)和 244

个输出字节(Output),与所有从站总共最多交换 2160 个输入字节和 2160 个输出字节。CP342-5 作为从站时,与主站最多能够交换 240 个输入字节和 240 个输出字节。CP342-5 可以最多连接 16 个操作面板(OP)以及最多创建 16 个 S7 Connnection。87:如何实现在从站断电、通讯失败或从站通讯口损坏等现象出现时,主站能够不停机?需要在您的 STEP7 项目中插入相应组织块。插入这些组织块时,不需要编程内容,当从站断电、通讯失败等现象出现时,主站只报总线故障,但不停机。这样,无论从站先上电,还是主站先上电,系统都能正常运行:

Page 25: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

在 S7-300 中加入 OB82、OB86、OB122; 在 S7-400 中加入 OB82~OB87、OB122;88:CP342-5 连接上位机软件或操作面板时应该选择什么工作模式?如果您只是用 CP342-5 连接上位机软件或操作面板(OP),这时通讯采用的是 S7 协议,那么建议您选择No

DP 模式,并且不需要调用 FC1(DP_SEND)和 FC2(DP_RECV)功能块,它们只是在 PROFIBUS DP 通讯时才使用;89:为什么系统上电后,即使 CP342-5 开关已经拨至 Run,但始终处于 STOP 状态?应当检查 STEP7 程序和组态是否正确(删除程序,只下载硬件组态)、检查 CP342-5 连接的 24V 电源线是否正常、M 端是否与 CPU 的 M 端短接、通讯电缆连接是否正确(确认通讯电缆未内部短路),CP 的 firmware

是否正确。如果您确认可以排除以上原因,那么可能您的 CP342-5 已经损坏,请更换;90:如何用 CP342-5 组态 PROFIBUS 从站?1.在 STEP7 中生成一个新的项目,并插入一个 S7-300 站。2.在硬件组态窗口中选择一个 S7300 的导轨以及相应的 CPU。3.硬件组态窗口中,在路径 "SIMATIC 300 > CP 300 >PROFIBUS > CP342-5" 选中于您订货号和版本号对应的 CP342-5,插入到 S7300 站对应的槽位中,注意如果您购买的是 Version5.1,而组态中只能够找到Version5.0,您可以选用 Version5.1 替代Version5.0.。4.在插入 CP342-5 的过程中,会弹出一个 PROFIBUS 属性窗口,请点击”New…”按钮,创建一个PROFIBUS 网络 PROFIBUS(1) ,并设定 CP342-5 作为从站的站地址为 3。5.双击CP342-5,打开 CP342-5 的属性窗口,在"OperatingMode" 标签页下选择"DP Slave" 选项,此时会弹出一个警示窗口,告知您如果要用 CP342-5 实现 CPU 和 PROFIBUS 从站的通讯,必须调用FC1(DP_SEND)和 FC2(DP_RECV)功能块,实现 CPU 与 CP342-5 之间的数据交换,而 CP342-5 与PROFIBUS 的数据交换是自动完成的,不用编程。FC3 和 FC4 用于诊断和通讯功能的控制,一般不用调用。6.点击OK ,存盘编译。.

91:如何用 CP342-5 组态 PROFIBUS 主站?1.在 STEP7 的 SIMATIC Manager 窗口中在插入一个 S7300 站;2.重复以上组态从站步骤的 2-4 步,注意插入 CP342-5 时,不能点击”new…”按钮,而直接用鼠标选中以上创建的 PROFIBUS(1)网络,点击OK;在"Operating Mode"标签页中选择"DP Master"选项;

Page 26: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

92:采用 CP342-5 的 DP 通讯口与采用 CPU 集成的 DP 通讯口进行通讯有什么不同,这两种通讯口功能有什么不同?可以通过 CPU 集成的 DP 通讯口或 CP443-5 模板的 DP 通讯口,调用 Load/Transfer 指令(语句表编程,如图 2)、Mov 指令(梯形图编程)或系统功能块 SFC14/15 访问从站上的 I/O 数据;如果您使用 342-5 模块的DP 通讯口进行通讯,那么您就不能使用 Load/Transfer 指令(语句表编程)、Mov 指令(梯形图编程)直接访问 PROFIBUS 从站的 I/O 数据。采用 CP342 进行 PROFIBUS

通讯包括两个步骤:1.CPU 将数据传输到 CP 通讯卡的数据寄存器当中;2.数据从 CP342-5 的数据寄存器当中写到 PROFIBUS 从站的 Output 数据区(反过来就是 CPU 读取从站Input 数据的过程);CP342-5 与从站的 Input/Output 数据区的通讯过程是自动进行的,但是您还必须自己手动的调用功能块 FC1(”SEND”)和 FC2(”RECV”),完成CP342-5 与 CPU 之间的数据交换。93:功能块 DP_SEND、DP_RECV"的返回值代表什么意思,如何理解?"DP_SEND"功能块包括有"DONE","ERROR" 和 "STATUS"三个参数,用来指示数据传输的状态和成功与否。"DP_RECV"功能块包括有"NDR", "ERROR", "STATUS" 和 "DPSTATUS"四个参数,用来指示数据传输的状态和成功与否。您可以定义相应的数据地址区,存放这些返回值,分析返回的值的意思,当 Error=False,STATUS=0,DONE=True,NDR=True 时,说明CPU 与 CP342-5 之间的数据交换成功进行。94: DP 从站,CP 模板以及 CPU 之间的数据通讯过程是如何进行的?使用 CP342-5 模块,无论调用"DP_SEND" 功能块还是"DP_RECV" 功能块,您都不能直接读写某个PROFIBUS 从站的 I/O 数据。CP342-5 模块有一个内部的 Input 和 Output 存储区 ,用来存放所有PROFIBUS 从站的的 I/O 数据,较新版本的 CP342-5 模板内部存储器的 Input 和 Output 区分别为 2160 个字节,Output 区的数据循环写到从站的输出通道上,循环读出从站输入通道的数值存放在 Input 区,整个过程是 CP342-5 与 PROFIBUS 从站之间自动协调完成的,您不需编写程序。您可以在 PLC 的用户程序中调用"DP_SEND"和"DP_RECV"功能块,读写CP342-5 这个内部的存储器。95:通过 CP342-5,如何实现对 PROFIBUS 网络和站点的诊断功能?用功能块"DP_DIAG" (FC 3) 可以在程序中对 cp 模块进行诊断和分析,可以通过 job 类型如 DP 诊断列表,诊断单个 dp 状态,读取 dp 从站数据,读取 cp 或 cpu 的操作模式,读取从站状态等等

Page 27: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

96:为什么当 CP342-5 模块作为 PROFIBUS DP 主站,而 ET200(如 IM151-1 或 IM153-2)作为从站时,CP342-5 上的 SF 等不停闪烁?当 S7-300 系统中的 CP342-5 作为 DP 主站,下挂 IM153-2 模块时,IM153-2 只能作为 DP 主站,而不是S7 从站运行。 可以采取通过 GSD 文件将 ET200 从站组态进你的系统。随后 IM153 模块可作为 DP 标准从站运行。为此,您必须将 GSD 文件安装到硬件目录中(通过菜单序列 Tools > "Install new GSD file")。在更新了硬件目录后您会在"PROFIBUS-DP > Additional Field Devices".中发现 DP 从站。97:11.2. 在 STEP7 中打开一些对象时出错是什么原因?有的时候您在打开某些项目中的对象时,STEP7 会弹出报错窗口,错误信息为 ’*.dll’文件无法被装载,代码是 257:5,界面如下:可以看出,上面的错误信息是一个或多个对象不能被显示,出现这种错误的原因是您没有安装与要打开对象相关的软件包。98:如果想通过上位或触摸屏对 PLC 中 S5TIME 类型的参数进行设定,有什么方法?1、从上位机写整型数 INT 或实数 REAL 到 PLC,首先该数值需包含以毫秒为单位的时间值,在写入 PLC 的数据存储区后,利用 ITD(Integer to Double Integer)或 RND(Real to Double Integer with Rounding

Off)将该值转换为双整形,然后将该值写到类型为 TIME 的变量里,在程序中调用 FC40,将 TIME 转换成S5TIME 即可。2、从上位机写WORD 到 PLC,首先该数值需包含以某时基为单位的时间值,在写入 PLC 的数据存储区后,用Word Logic 下的 WOR_W 指令将该值与其时基相或,再利用 MOVE 指令将得到的数值写入 S5TIME 类型的变量中。3、如果使用 WinCC 作为上位软件,或上位软件支持 32 位带符号浮点数,可以从上位写 32 位带符号浮点数到 PLC 中定义为 TIME 的变量,然后在程序中调用 FC40,将 TIME 转换成 S5TIME 即可。99:STEP 7 中相关时间处理和转换的功能块有哪些?SFC 0 "SET_CLK" 设置 CPU 时钟SFC 1 "READ_CLK" 读出 CPU 时钟FC 3 "D_TOD_DT" 从 DATE_AND_TIME 中取出 DATE。FC 6 "DT_DATE" 从 DATE_AND_TIME 中取出 the day of the

week,即星期几FC 7 "DT_DAY" 从 DATE_AND_TIME 中取出时间

Page 28: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

FC 8 "DT_TOD"

FC33 用于 S5TIME 到 TIME 的转换FC40 用于 TIME 到 S5TIME 的转换100:如何实现带电拔出或插入模板,即热插拔功能?硬件要求:

使用普通的 S7-300 导轨和 U 型总线连接器是不能实现热插拔功能的,您必须购买有源总线底板,才能实现该功能。另外,您在配置时,必须使用 MLFB 6ES7 153-1AA02-0XB0 版本以上的接口模块,因为它支持 DP 协议的 DPV1 版本,而 MLFB IM153-1AA00-0XB0 模块是不支持该功能的。目前您能够购买到的 IM153 接口模块都支持热插拔,只有 2-3 年以前的 IM153 接口模块不支持热插拔。软件要求:您必须在 STEP7 5.1 版本以上进行配置;如果您采用 S7-400 CPU 或 S7-400 CP 作为 DP 主站,那么您可以直接在 IM153 的属性窗口的"Operating

Parameters"标签页里配置热插拔功能。1:在 STEP7 的硬件组态窗口的 PROFIBUS DP 目录中选择相应 IM153 模块,可以看出该模块支持“module exchange in opration”(热插拔);2:将 IM153 模块拖到 PROFIBUS 总线上;3:选择 I/O 模块,插入到 ET200M 站的各个槽位中;4:双击 ET200M 站,打开属性窗口,选中“Replace modulesduring operation“(热插拔)选项;5:属性窗口中提供了 ET200M 站热插拔功能所需的有源总线导轨的订货号;6:属性窗口中提供了该型号 IM153,插入的 I/O 模块对应使用的有源总线底板的订货号;除了以上的硬件组态之外,还要向 S7-400 中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122 等组织块。当 ET200M 从站上进行模块的热插拔时,中断组织块 OB83 , OB85,OB122 被调用。如果您采用 S7-300 CPU 或 CP 342-5 作为 DP 主站,那么您只能够通过安装GSD 文件的方式将 IM153 模块组态成DP 从站,并双击 IM153,打开它的属性窗口,进行设置。否则您在 STEP7 的硬件组态窗口中直接将PROFIBUS DP 目录 ET200M 文件夹下 IM153 模块挂在 PROFIBUS 总线上。101:我如何做到对自己的程序块进行加密保护?您能够通过 STEP7 软件的 KNOW_HOW_PROTECT 功能实现对您程序代码的加密保护。如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即 IN, OUT 和 IN/OUT 等类型的

Page 29: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。如何实现程序块保护:1.打开程序编辑窗口 LAD/FBD/STL;2.将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File—>Generate source 生成);3.在 LAD/FBD/STL 窗口中关闭您的程序块,并在 SIMATICManager 项目管理窗口的 source 文件夹中打开上一步所生成的 source 文件;4.在程序块的声明部分,TITLE 行下面的一行中输入”KNOW_HOW_PROTECT”;5.存盘并编译该 source 文件(选择菜单 FileàSave,FileàCompile);6.现在就完成了您程序块的加密保护;102:我如何做到对自己的程序块进行 jie 密?取消对程序块的加密保护1. 打开程序块的 Source 源文件;2. 删除文件中的 KNOW_HOW_PROTECT;3. 存盘并编译该 source 文件;现在程序块的加密保护已经取消。注意: 如果没有 STL source 源文件,您是无法对已经加密的程序块进行编辑的;103:在冗余电源配置中,电源模块掉电,调用那个 OB 可以防止CPU停机?通过在程序中添加OB83 可以防止CPU 停机而添加OB81 不能防止CPU 停机。通常我们很容易以为 OB81 就是处理所有电源故障的 OB 块,但对于冗余电源配置中,某个电源模块掉电故障,实际上 CPU 当作模块插拔故障来处理,因此需调用 OB83。104:WinCC 作为 Modbus 主站,进行浮点数读取时数据不正确是什么原因?WinCC 作为 Modbus 主站,进行浮点数读取时,Tag 的类型应当选为浮点数 32 位,注意地址偏移为 32 的整数倍+1(即 33、65、97),如果采用选用 Input Bits/Output Bits 方式读写(Function

Code01,02),在 PLC 当中应当将一个字的高低 8 位进行对调。如果选用 Input Words/Output Words 方式读写(Function Code 03,04),在 PLC 当中将一个双字的高低 16 位进行对调,S7300 Modbus 程序块的浮点数处理存在误差,大致在 0.5%左右。105:CP341 modibus 通讯时,modibus 功能码如何设定?Function Code 01,05,15 对应 M,Q,T,C 等数据区,可读可写,具体的字节范围由您在 modbus 从

Page 30: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

站组态时设定。Function Code 02 对应 M,I 数据区,只读,具体的字节范围由您在 modbus 从站组态时设定。Function Code 03,06,16 对应 DB 区,可读可写,在 modbus 从站组态时设定对应的 DB 块。Function Code 04 对应 DB 区,只读,在 modbus 从站组态时设定对应的 DB 块。106: CP34x 的通讯连接电缆中,自己制作电缆应该注意哪些?如果你使用自己制作的电缆,那么必须使用带屏蔽外壳的 D 型接头,屏蔽线应当和接头的外壳连接,禁止将电缆的屏蔽层和 GND 连接,否则会造成通讯接口的损坏,请注意 RS232 不支持热插拔,所以一定要断电后在插拔通讯电缆;107: 在用 CP340,CP341 与第三方产品通讯时(如 PC 机,用 VB,VC 读数据)怎样识别联线是否是好的?在用 CP340,CP341 与 PC 机通讯时,常常读不出数据,这样有两个方面原因。其一,在 PLC 侧程序是否正确。用上升沿触发 P_Send,可以看见 TXD 灯闪,这样可以判断 PLC 侧程序没问题;

其二,PC 侧 VB,VC 程序的问题及电缆线的联接好坏,无从知道,如果联线没问题,就可以集中精力在 PC 侧找原因,

判定联线是否接好,显得非常重要,有一个小方法可以测出。在 PLC 侧修改CP340 用 ASCII方式传送,在发送 DB

块中写几个字符形式的数据(chat 如'1','2','A'等)并间隔触发 P_Send 功能块。在 PC 侧修改串口参数与 PLC 一致,如波特率,数据长度,停止位,奇偶校验,无握手信号等。在 Windows 下附件中打开"Hyper Terminal"建立一个直接到串口的连接,这样就可以读到从 PLC 中发送的数据如‘12A’等。同样用"Send Text File"的功能,把一些字符送到 PLC。这样如果联接电缆是好的,那么可以简单地判断问题是出在哪里。108:如何使用 CP341 模板实现 Modbus 主站或从站通讯,我应当定购那些产品?

1)CP341 模块: 6ES7 341-1xH01-0AE0 (x:= A: RS232; x:= B:TTY; x:= C: RS422/485)

2)**(MODBUS master): 6ES7 870-1AA01-0YA0 或者**(MODBUS slave): 6ES7 870-1AB01-0YA0

109:每当断电重启后,CP341 模板和调制解调器(如 SATEL 的 modem)之间的通讯出错是什么原因?这是因为 DTR 、 RTS 信号默认为 0 造成的,可以在 OB1 中调用 FC6 (V24_SET). 参数 RTS 和 DTR 设置为"TRUE".

110:配置"CP 340 RS232C"打印工作应注意什么?调用功能块 FB4"P_PRINT"打印字符信息。功能块 "P_PRINT"传送信息给通讯处理器 CP340,CP340 发送信息给打印机把信息打印出来。为了打印这些信息必须知道参数"P_PRINT","PointerDB","Variables

Page 31: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

DB"和"Format String"的相对关系。111:CP 341 / CP 441-2 需要多少许可证(License)?在任何情况下,每一个 MODBUS 站都需要一个单独的许可证。6ES7 870-1AA01-0YA0 包含软件 CD,文档(PDF 文件)和硬件狗。如果在同一个站使用几个 CP341 或 CP441 通讯处理器,则每个 CP 都需要一个MODBUS 许可证副本(copy license),即不带手册和软件的 MODBUS Dongle,只有一个硬件狗,订货号为6ES7870-1AA01-0YA1。注意事项:对于有两个接口的 CP 441-2,仅需要一个许可证,并且每个接口都可以使用任何协议。112:关于 CP34x 串行通讯中的起始位、数据位、校验位、停止位的说明?CP34x 通讯模板与其他设备进行通讯时,串口传输的是一个 10 位或 11 位的数据帧,在模块的 Parameters

属性窗口中您可以设置数据帧的格式,对这个 10 或 11 位组成的数据帧的组成遵循以下规则:帧的第一位必须是起始位,始终为 1,不能修改;起始位之后是 7-8 位数据位,由用户收发的数据组成;数据位之后是校验位,odd 奇校验,even 偶校验,any 不校验但校验位为 0,none 无校验位;校验位之后是停止位,可以设为 1-2 个位,始终为 1,不能修改;113:如何通过单向通信从 S7-300 / 400 访问 S7-200 上的数据?通过 MPI,从带有 X_PUT / X_GET 的 S7-300 / 400 可以访问几个 S7-200 CPU。在这种情况下,g S7-300 /

400 是主站,S7-200 是从站。对于 CPU22x 系列的 S7-200 CPU,可以在 19,2 kBd 和 187,5kBd 下工作。从某个固件状态起,CPU21x 系列的 S7-200 CPU 只能控制波特率 19,2 kBd。114:使用通讯处理器(CP340, CP341, CP441-2, CP441-1)时对于协议 3964(R) 和 RK512 可以使用 2 线和 4 线模式吗?在点对点通讯中,在使用上述的通讯处理器时,只能在 4 线模式中执行协议 3964(R) 和 RK512.

115:当传输字符串或 ASCII 字符应注意什么?

当传送字符串必须确认最高为 254 字符。一个 STRING(character string)的数据格式最大 256 字符,包括 254

个字符,最大的字符长度在字符串的第一字节中定义,实际长度在第二个字节中定义,接下来的是字符ASCII 格式。当传送字符串数据时,指针必须指向用户数据的第一位而不是字符串的第一个位。116:通过 PROFIBUS-DP 使用 SFC 58/59 或者 SFB 52/53 进行通信时,存在通信限制吗?

Page 32: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

当使用写操作标签和读操作标签(SFC 58/59 或者 SFB 52/53)时,存在根据 CPU 而定的对活动工作的限制:CPU 31x-2DP: 每个 DP 链上允许同时进行 4 个写操作和 4 个读操作。CPU 317, CPU 318-2: 每个 DP 链上允许同时进行 8 个写操作和 8 个读操作。CPU 41x-2DP: 每个 DP 链上允许同时进行 8 个写操作和 8 个读操作。在外部链上,每个 SFC/SFB 同时进行的写操作和读操作的数目总共不能超过 32。因此,每个 CPU

和 SFC/SFB 上可以同时进行最多40 个(内部链上 8 个 + 外部链上 32 个)作业。如果在 PROFIBUS Net 上运行几个通信伙伴,请确保不要激活比指示值更多的作业。一个 SFC/SFB 可能持续几个 CPU 循环周期.

117:MPI/DP 接口的分配如何定义?118:可以用模拟输入模块 SM 331-7NF00 进行参数设置的最大干扰频率是多少?通过硬件配置,可以设置参数为 400Hz 的最大干扰频率。通过特殊的滤波器可以得到这个数值。最小的有效综合时间是 10ms——这样就可抑制 100Hz 的干扰频率。模块的最小基本执行时间(释放所有通路)

是 140ms.

119:关于机架故障,在编程 OB86 时需要注意哪些事项?只要检测出机架故障,操作系统就会调用 OB86,例如:报告机架故障(例如:缺少 IM 或 IM 故障导致连接电缆中断), 机架的分布式电源故障, 在总线系统 PROFIBUS-DP 的主站系统中,DP 从站发生故障。在 S7-300 和 S7-400 中处理故障的方法不同:在 S7-300 中,当中央机架出现故障时,不调用 OB 86;只有分布式机架发生故障才调用它。在 S7-400 中,非分布式或分布式机架出现故障的情况下,均调用 OB 86。120:关于 300 的硬件安装配置应该注意什么?通常一套 S7-300 PLC 系统有一个主机架,安装有 CPU 的机架称为主机架,当主机架上的 I/O 模块(最多 8

块)上的控制点数不够时,可以再增加 1-3 个扩展机架,每个扩展机架最多可安装 8 个 I/O 模块,装在 4 到11 槽,3 个扩展机架最多安装 24 个 I/O 模块。在使用扩展机架时,需要机架(Rack),电源模块(PS),接口模块(IM),连接电缆 368,S7-300 的模块(信号模块、通讯模块、功能模块等)。S7-300 的安装机架是一种导轨。你可以使用该导轨,安装S7-300 系统的所有模板。S7-300 既可以水平安装,也可以垂直安装。

Page 33: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

要注意其允许的环境温度为:垂直安装:0 至 40°C、水平安装:0 至 60°C、 CPU 和电源必须安装在左侧或底部。121:如何判断电源出错,如:电池故障?如果电源(仅 S7-400)或缓冲区中的一个错误触发一个事件,则 CPU 操作系统访问 OB81。错误纠正后,重新访问 OB81。电池故障情况下,如果电池检测中的 BATT.INDIC 开关是激活的,则 S7-400 仅访问 OB81。如果没有组态 OB81,则 CPU 不会进入操作状态 STOP。如果 OB81 不可用,则当电源出错时,CPU 仍保持运行。122:如何诊断模拟量模板?CPU 可以中断用户程序的执行处理诊断报警块 OB 82。在用户程序中你可以调用 OB 82 中的 SFC 51 或 SFC 59 以从模板中获得更为详细的诊断信息。诊断信息在 OB 82 退出之前都是一致的当 OB 82 退出时将对模板作出诊断中断响应。123:对于小功率输入的触发器,如何避免线路损坏?将触发器连接到 SM322-8BF,如果它的 1 信号功率输入低于 10mA(例如 1mA),则可能会报告线路损坏 。 不建议禁用“Wire breakage”诊断,因为这将禁用所有的诊断,并且当 SM322-8BF 在一定电流范围(0.5 到10mA)内工作时,可能无法安全地开关。补救措施:接一个与触发器平行的电阻,这样至少有 10mA(24V ca.

2.4 kOhm)的电流。该电阻应该直接安放在触发器上,从而可以方便检测线路损坏。124:如何为 S7 318-2 CPU 进行操作系统更新?创建一个操作系统更新卡所必需的条件:1. S7 存储卡的类型:2 MB 的闪存,订货号 6ES7953-8LM00-0AA0、6ES7 951-1KL00-0AA0

2. STEP 7 V3.1 或更新版本3. 具有外部 PROM 编程器的 PC 或者编程设备(PG),用于编程存储卡使用 STEP7 创建操作系统更新卡的步骤:1. 下载所需的 CPU 文件;2. 双击文件名将文件解压缩;3. 在 Simatic Manager 中执行“File/S7 Memory Card/Delete”,删除微存储卡内容;4. 在 Simatic Manager 中选择“PLC/Update CPU Operating System”对操作系统进行编程。选择目标目录并“打开”CPU_HD.UPD文件,开始编程过程;5. 当标准鼠标指针重新出现时,即完成对操作系统更新卡的编程。

Page 34: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

执行操作系统更新:1. 切断 CPU 所处机架的电源(PS);2. 在 CPU 中插入准备好的操作系统更新卡;3. 接通 CPU 所处机架的电源(PS);4. 操作系统从微存储卡传送到内部CPU 闪存 EPROM。此时,将点亮CPU 的所有 LED(INTF、EXTFFRCE、<

span

lang="EN-GB">CRST、RUN、< span lang="EN-GB">STOP);5. 大约 2 分钟后完成操作系统更新,此时STOP LED 将慢速闪动=>请求系统存储器复位;6. 切断电源,插入操作所需的微存储卡;7. 接通电源,CPU 执行一次自动存储器复位,之后立即进入准备就绪状态。.

注意:为执行更新,必 须从模块中拆除电池.

125:模拟量模板的信号转换时间如何计算?转换时间由基本转换时间和模板的以下其它处理时间组成1)电阻测试 2)断线监控基本转换时间直接取决于模板量输入模板的转换方法积分方法瞬时值转换对于积分转换方法积分时间将直接影响转换时间积分时间取决于你使用 STEP 7 所设置的干扰频率抑制。126:是否可能在两个 DP 从站之间运行一个 DP 网络?不能。不可能建立从站-从站通信。总是需要一个主站来操作 DP 网络。智能从站可以访问其它从站的初始值(直接数据通信),但是总是需要 DP 主站来控制DP 网络。 智能从站也可以不使用 DP 网络而独自工作(单机工作),但是它们不能作为 DP 主站来提供服务。仅可以与模块接口共同工作。127:对于有些模拟量输入模板你可以使用 STEP 7 设定模拟值的平滑指数,它能起到什么作用?使用平滑指数:模拟值的平滑指数可以保证进一步处理的稳定模拟信号;这对于模拟值与被测值之间的缓慢变化相适应非常重要,例如温度测量时。平滑原理:被测值可以通过数字滤波进行平滑平滑可以通过模板根据转换数字化模拟值的规定数量计算平均值来实现;用户可以在最多四个等级赋值平滑参数无低平均高这四个等级决定了用于平均计算的模拟信号数量;所选平滑等级越高所平滑的模拟值将越稳定时间越长直到在一个阶跃响应后适用所平滑的模拟信号。128:模拟信号电缆应该单端接地还是 2 端接地?

Page 35: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

为了减少电子干扰对于模拟信号应使用双绞屏蔽电缆模拟信号电缆的屏蔽层应该两端接地。但是如果电缆两端存在电位差将会在屏蔽层中产生等电线连接电流造成对模拟信号的干扰在这种情况下你应该让电缆的屏蔽层一点接地。129:模拟量信号为:7FFFH,是什么原因?每个模拟量输入模板都可提供被测值 7FFFH 与发现故障时的参数赋值无关,该被测值可以是上溢故障或通道无使能130:防止静电放电危险一般有哪些措施?保证良好的接地:在处置对静电敏感的设备时应确保人体工作表面和包装有良好的接地这样可以避免充上静电。避免直接接触:只在不可避免的情况下才接触对静电敏感的设备例如在维修时手持模板但不要接触元件的针脚或印刷板的导体用这种方法使放电能量不会影响对静电敏感的设备如果必须在模板上进行测量在开始测量之前必须先接触接地的金属部分使人体放电这种方法只适用于接地的测量设备。131:S7-300/400 PLC 支持哪些寻址方式?

1)直接寻址1.直接地址:例如 I0.0,Q1.7,PIW256,PQW512,MD20,T15,C16,DB1.DBB10,L10.0 等2.符号寻址:例如 qq,ww.aa 等2)间接寻址1.存储器间接寻址:16 位指针,例如 OPN DB[MW2] 32 位指针,例如 A I[MD0]

2.寄存器间接寻址:32 位指针,例如 A I[AR1,P#0.0],A[AR1,P#0.0]

3)S7-300/400 寻址方式图解132:如何使用指针?指针用来指向一个地址。使用这种寻址方式的优点在于可以在程序运行过程中实现变址。 指针用于存储器间接寻址程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符、以及一个偏移量(偏移量必须在方括号内给出)。下面给出一个双字格式的指针的例子:L P#8.7 把指针值装载到累加器 1

T I[MD2] 把指针值传送到 MD2

A I[MD2] 查询 I8.7 的信号状态

Page 36: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

= Q[MD2] 给输出位Q8.7 赋值存储区域内部寻址及交叉寻址 :程序中采用这些寻址方式的语句包含一个指令以及下列内容:地址标识符、地址寄存器标识符、偏移量。地址寄存器(AR1、AR2)及偏移量必须写在方括号内。存储区域内部寻址例程 :指针不包含指示存储区域的信息:L P#8.7 把指针值装载到累加器 1

LAR1 把指针从累加器 1 装载到 AR1

A I[AR1,P#0.0] 查询 I8.7 的信号状态= Q[AR1,P#1.1] 给输出位Q10.0 赋值偏移量 0.0 不起作用。输出 Q10.0 等于 8.7 (AR1) 加偏移量 1.1。结果是 10.0 ,而不是 9.8。存储区域交叉寻址例程 :在存储区域交叉寻址中,指针中包含指示存储区域的信息(例子中为 I 和 Q)。L P#I8.7 把指针值及存储区域标识装载到累加器 1

LAR1 把存储区域 I 和地址 8.7 装载到 AR1

L P#Q8.7 把指针值和地址标识符装载到累加器 1

LAR2 把存储区域 Q 和地址 8.7 装载到 AR2

A [AR1,P#0.0] 查询输入位 I8.7 的信号状态= [AR2,P#1.1] 给输出位Q10.0 赋值偏移量 0.0 不起作用。输出 Q10.0 等于 8.7 (AR2) 加偏移量 1.1。结果是 10.0 ,而不是 9.8,133.如何用一个变量作索引实现在一个域中读一个元素或写一个元素?一个域(数据类型为 ARRAY)是几个相同数据元素的连接。在源代码中一个单空间域的声明执行如下:My_Array: ARRAY[4..11] OF INT;

它标识了一个数据类型为“INTEGER”的 8(=11-4+1)元素单空间域。为了访问域中的一个元素,输入域名并在方括号中输入希望访问的元素的号码,比如:My_Array[6]。在 S7-SCL (结构化控制语言 - 符合 IEC 1131-3 的结构化文本)

可以使用变量做索引:i:INT:=46

My_Array[i]:=0

Page 37: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

在 FBD/LAD/STL 中,索引必须是个常量,因此限制了可使用的域的范围。134:怎样访问复合数据类型数组单元的变量?复合数据类型数组单元中的变量只有通过单独的函数才能访问。作为传送参数这个函数拥有期望的数组数量并以数组[0]作为起始地址。对此函数的要求是数组置于一个数据块中并且数组[0]不被当前数据使用。这就决定了从参数传送来的地址并将指定的数组拷贝到作为处理区的数组[0]。接下来可对数组进行符号处理。然后它被拷贝回原始的数组号。首先用这些参数定义并计算数组[0]的地址和要处理的数组数量。将这些值保存在函数的临时变量内。L P##Field_Start // 输入地址域[0]

LAR1

L D [AR1,P#0.0] // 把这些地址保存在类型为 ANY 的临时变量中T LD 0 // temp 'firststruc' = LD 0-9

T LD 10 // temp 'sourcestruc' = LD 10-19

L D [AR1,P#4.0]

T LD 4

T LD 14

L W [AR1,P#8.0]

T LW 8

T LW 18

L LD 16 // 定义期望数组的地址LAR1

L #Indices

L LW 12

*I

SLD 3

+AR1

TAR1 LD 16

然后用 SFC20 (BLKMOV)将要处理的数组拷贝到数组[0]。就可以根据应用需求,对索引数组通过符号访问。 然

Page 38: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

后用 SFC20(BLKMOV)将数组[0]拷贝回原始区域。135:能否在 STEP 7 中使用间接寻址编写循环程序?可以,间接寻址允许寻址地址在程序运行期间才可以确定的操作数。这意味着,程序的一部分可以重复执行。在每个运行周期内,循环编程为所使用的操作数分配不同的地址。136:ANY 指针类型的参数如何被传送出块边界?下面的例子解释了系统功能块 SFC50“RD_LGADR”(读模块逻辑地址)内参数的确定。例如,为功能块 FB1 编程可分为下面几个步骤:• 声明一个 IN 变量“test”和一个 TEMP 变量“test2”,类型都为 ANY(图 1)。• 将 SFC50 的参数“PEADDR”传送到变量“test2”(图 1)。• 通过为 ANY 指针“test”赋值,将数据传送到临时变量“test2”中。语句 L P##test 首先将地址装载到Accu1,然后通过 LAR1 语句装载到地址寄存器 AR1 中(可能是 LAR1 P##test 的简化格式)。通过寄存器间接寻址将 ANY 指针(10 字节长)中的地址信息读出:代码 注释0 L W[AR1,P#0.0] 读出当前Accu1 中参数数据类型的代码。2 L W[AR1,P#2.0] 读出 Accu1 中的重复因数。重复因数表明通过参数类型ANY 传递的数据类型的大小。4 L W[AR1,P#4.0] 读数据块的号或者从 ANY 指针中读出“0”(这个对应于 ANY 指针的第 4 到第 5 字节)。6 L D[AR1, P#6.0] 将区域指针读入 Accu1。每次读地址寄存器 AR1 之后,数据被保存或者缓存(如 T LW 0)在临时变量“test2”中(ANY 指针)。按照Network 1 中的语句顺序,传送到功能块 FB1 的 ANY 指针被复制到临时变量“test2”中。137:怎样通过交叉区域寄存器间接寻址访问功能块的本地数据或者功能?这里必须预先定义本地数据。您可以使用下列语句访问 FB 或 FC 的本地数据:对于存储器间接指针寻址,本地变量必须声明为临时变量(temp):L P##Lokalvariable

LAR1

L W[AR1,P#X.x]

此处不能使用变量类型“Input”、“Output”和“In_Out”,将被语法检查视为非法。138:怎样编程间接访问一个 ARRAY 类型变量的元素?一个位、字节或者字符域的尺寸是按照字节限制排列的——在所有其它情况下是按照字对齐的。表 T6-1 中给出

Page 39: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

了一个域的存储示例。操作系统计算域中单个元素末端位置的位地址。域被分配到从下一个字地址(或字节地址)。下一个数据类型从下一个整字开始(或者整字节).

声明部分:在声明部分,必须定义一个与将被间接寻址的 ARRAY 有着同一结构的 ARRAY。不一定非要将 ARRAY 声明为IN-OUT 变量;也可以声明为 TEMP、IN 或 OUT 变量。网络:域宽度(OFFSET)在网络中定义。ARRAY 中的单个元素的最小常规数据宽度是一个字节;即使在两个变量之间定义一个 BOOL。有必要确定相关的域的宽度和确定下一个期望域的起始地址。可使用下面的算法:地址(指数):b = 元素长度*(指数 - 1)

创建具有不同数据类型的结构时,必须注意,在特定的环境下可能会自动插入填充字节。保存ARRAY 数据类型 :示例:ARRAY [1..2,1..3] OF 整数 将生成下列域:多维域是按照顺序保存的。在本例中整数 [1,1]后面是整数[1,2],整数 [1,3]后面是整数 [2,1]。139:STEP 7 以哪种格式存储 POINTER 参数类型?STEP 7 以 6 个字节保存 POINTER 参数。表 4-1 显示了用于保存 POINTER 参数类型的内存区域以及每个字节中保存的数据。iPOINTER 参数类型保存了下列信息:DB 号(如果 DB 中没有保存任何数据时为 0)。CPU 中的内存区域(表格中列出了不同内存区域的十六进制代码)。数据的地址(按照Byte.Bit 格式)。如果将形式参数声明为 POINTER 参数类型,则只需要指定内存区域和地址。STEP 7 自动将输入项目的格式转换为指针格式。140:如何间接访问 I/O 地址区域?下面演示了一个间接访问 PA 区域的例子。您具有对输出模块只写访问和对输入模块只读访问的权利FUNCTION_BLOCK FB 2

TITLE =

VERSION : 0.1

VAR_INPUT

TargetAddress : DWORD := DW#16#FF; //Target address by

Page 40: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

PA address range

OutputValue : DWORD ; //Output value

P_Typ : BOOL ; //1=PE range, 0=PA range

END_VAR

VAR_OUTPUT

InputValue : DWORD ; //Input value

END_VAR

VAR_TEMP

TargetTmp : DWORD ;

END_VAR

BEGIN

NETWORK

TITLE =

U #P_Typ;

SPB PEA;

L #TargetAddress;

T #TargetTmp; //Load target address in the tempor 鋜 e store

SLD 3; //Calculate the formate of pointer Byte.Bit

T #TargetTmp; //Initialisation of temp variable with target

address in L-Stack

L #OutputValue; //Load output value

T PAD [#TargetTmp]; //Transfere output value to target

address

SPA End;

PEA: L #TargetAddress;

T #TargetTmp; //Load target address in the tempor 鋜 e store

SLD 3; //Calculate the formate of pointer Byte.Bit

Page 41: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

T #TargetTmp; //Initialisation of temp variable with target

address in L-Stack

L PED [#TargetTmp]; //Load output value

T #OutputValue; //Transfere output value to target address

End: CLR ;

END_FUNCTION_BLOCK

141:应用软件冗余当一个长度错误出现导致CPU 处于 STOP 模式应该作些什么?

当在 OB100 中设置软件冗余功能块 FC100 时,必须注意下列情况:参数 IEC_NO 的背景数据块必须至少有两个字的长度,同样应用于冗余用户程序的参数 DB_NO 的数据块也必须时这样。142:在 S7 程序中,有许多 FC、FB 块, 我怎样对其中的一些块进行保护, 而其它的块可以是开放的呢?

1) Step7 中, 可以先任意打开一块如 OB1, 在"file"中选择"Generate Source"或快捷方式"Ctrl+T",弹出一个画面,填写"objectname"如"tt",然后按OK 确认,就会再弹出另一个画面,左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边,如 FB1、FB2 等等, 然后退出所有的程序块,再进入 SIMATIC Manager

中。2) 在 S7 Program Sources 找到文件 tt,双击 tt 打开,在第四行中加入"Know_How_Protect", 然后编译, 无错后存盘。这样 FB1、FB2就被保护住,如想去掉保护,在 tt 中去掉"Know_How_Protect"编译存盘即可。注意: 千万不要丢失或删除源文件(如 tt), 否则程序被保护, 用户可以另存到其它目录中,或 Export Source 到硬盘中,再删除源文件,这样别人只能看到未保护的块。143:SFB41,SFB42,SFB43 和 FB41,FB42,FB43 的区别?SFB41(CONT_C),SFB42(CONT_S),SFB43(PULSEGEN)块和FB41(CONT_C),FB42(CONT_S),FB43(PULSEGEN)的区别:SFB41,42,43 与 FB41,42,43 的参数设置是一样的。SFB41,42,43 只能用于 CPU314IFM;FB41,42,43 可用于 CPU313 以上的 CPU(除CPU314IFM),因为 SFB41,42,43 集成于 CPU314IFM 中,而在普通 CPU 中没有这些块。144:如何在多例兼容功能块中找到变量地址?在多例兼容功能块中,为块参数和静态本地数据加载与地址寄存器 AR2 有关的绝对地址。如果要在情景数据块中找到变量的绝对地址,则必须把域内指针(只是 AR2 的地址)加载到变量地址。

Page 42: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

样例:

TAR2 //将地址寄存器加载到累加器 AC1(偏移量)

UD DW#16#00FF_FFFF // 关闭区域 ID

L P##variable //加载变量地址+D // 增加偏移量和变量地址LAR1 // 保存地址寄存器 AR1 中的结果这样可在 AR1 中获得绝对地址以进行进一步处理。当功能块作为本地实例调用时,总要使用该方法。比如,在一个功能块中创建可做为类型“FB”的静态变量的功能块。这样所调用的情景数据块的数据偏移量就存储到情景数据块中。单个实例的偏移量在 AR2 中。如果不调用作为本地实例的功能块,则可以结束计算。值‘ 0’就在地址寄存器中。注意事项:如果改变程序中的地址寄存器 AR2,那么也改变了变量的偏移量地址。因此就不能保证再对变量进行正确访问。在这种情况下,必须预先保存AR2,并 在对程序动作完之后将其 复位为初始状态。样例:

TAR2 // 在累加器中加载偏移量地址T #save // 比如,静态本地数据域 0 中的变量L DID 0 // 地址绝对是由 DI 加载的 beds L AR2 // 核对145:怎样才能访问上一函数的本地数据?如要访问以前的本地数据(“V-e > L”数据),可以传送一自创建 ANY 指针或绝对地址到被调用的 FC。如果传送的是自创建 ANY 指针,区域指针会指向其本地数据,而这是无意义的。> 因此“V”区域码必须置于 ANY

指针中。此码必须准确传送。当指定绝对地址时可由编译器完成此工作。常规程序结构:以 ANY 指针或绝对(地址)方式传送:LAR1 P##target //本地定义的 ANY 变量初始地址L W#16#87 //为“V”区域载入码T LB[AR1,P#6.0] //传送到 ANY 变量CALL FCxy

source1: = #target //传送自创建的 ANY 指针

Page 43: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

source2: = P#L 0.0 BYTE 8 //传送完全 L 数据区绝对寻址与通过 ANY 指针寻址的区别:下图显示了绝对寻址与通过自创建 ANY 指针寻址间的区别。在这种情况下“ 87”码不传送,因此 ANY 指针指向其本地区域。146:怎样在 DB 内进行间接寻址?请参照:在 DB 内进行间接寻址例子147:下面是一个在 STEP7 软件中实现简单指针寻址的例子程序,您可以参考它的结构实现您的指针寻址功能?siemens 指针寻址例子_cpu315

148:绝对地址和符号寻址的定义和区别是什么?在 STEP 7 程序中要用到 I/O 信号、位寄存器、计数器、定时器、数据块及功能块。在程序中可以采用直接地址,或者更便于读程序的符号寻址,例如 Motor_A_On, 或采用你的公司或行业常用的代码。这样在你的用户程序中就可以通过符号来寻址。绝对地址:绝对地址由地址标识符和存储器的位置组成,例如 Q1.0,I1.1, M2.0, FB21 等。符号地址 :如果为绝对地址指定一个符号名,程序会更便于阅读和查错。STEP 7 可以自动将符号名翻译成所需的绝对地址。如果要用符号名存取ARRAY、STRUCT、数据块、局部数据、逻辑块、以及用户自定义数据类型, 必须首先为绝对地址指定一个符号名。例如,可以为 Q0.0 指定一个符号名MOTOR_ON,然后在程序中将 MOTOR_ON 作为一个地址使用。使用符号地址更容易将您的过程控制项目中的元件与程序中的元件相对应。注意:在符号名中不允许使用两个连续的下划线,例如MOTOR__ON。编程支持 :LAD、FBD、STL 中地址、参数、块名可用绝对地址或符号表示。用菜单命令View > Display > Symbolic Representation,可以切换绝对地址和符号地址为了使用符号地址编程更加容易,可以同时显示绝对地址和符号名。使用菜单命令 View > Display > Symbol

Information 来激活。这就意味着 STL 语句的注释包含了更多的信息。不能在该界面下进行修改,只能在符号表(symbol table)或变量声明表(variabledeclaration table)中进行修改。

Page 44: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

149:S7-300/400 系统存储区域共有多少种?S7 CPU 的系统存储区域分为下表中列出的地址区域。在程序中可以根据相应的地址直接读取数据。150:如何把一个 DATE_AND_TIME 变量转换为 STRING 变量?为了以日期/时间字符串(STRING)形式显示DATE_AND_TIME变量,必须 DATE_AND_TIME 变量的专用字节转换为相应的 CHAR 字符。读取DATE_AND_TIME 变量的专用字节并从这两位数所在 ASCII 码中创建专用位。将确定了的 CHAR 字符存储在字符串的期望位置。示例:L 字节年SLD 12

SRW 4

SRD 8

L W#16#3030

+ I

T 数字字符年也可以用相反顺序将一个 STRING 格式的日期/时间字符串转换为一个 DATE_AND_TIME 变量1. 怎么使用 MPI/DP-RS232

问:我要将 CPU314 与电脑连接通信应该怎么办?是否用 MPI/DP-RS232 连接器,要怎么用啊?

答:第一步,将适配器(PC Adapter)与 RS232 电缆相连。适配器的 MPI/DP 口插入 CPU 的编程口,RS232 电缆与 PC 的串口连。第二步,进入"开始"->"设置"->"控制面板"->"SET PG/PC

Interface"。点选“ Access Point of the Application ” =S7ONLINE ( STEP7 ),“ Interface

Parameter Assignment”=PC Adapter(MPI)。第三步,点“Properties”进入属性设置,MPI 设置内容:选中“PG/PC is the only master on the bus”,其余内容沿用默认值,或根据 CPU 的状态变更。Local Connection 设置:COM Port="硬件连接的串口",Transmission Rate="PC" Adapter 的 拨码位置。 确认后退出设置,如果上下位机参数一致的话,此时连机

Page 45: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

就会成功。2. IW 和 PIW 有什么区别问:STEP7 在实际应用中 IW 和 PIW 有什么区别?答:我个人理解:对于没有相应的映像缓冲区的输入地址,一定采用 PIW 指令,而一般外 设输入地址,都是没有映像缓冲区的。对于有映像缓冲区的输入地址,一般使用 IW,表示 取映像缓冲区内数据,但也可用 PIW,表示直接取地址内的数据而非映像缓冲区的数据, 相当于立即读取。对于输出亦是如此。3. 模拟信号接地问题问:我用的 SM331 8*12bit 模块信号有时正常有时不正常,后来我把 COMP-跟信号的 M- 接起来就好了,但我同时发现他们之间接电容也可以,是怎么回事??模块的 COMP-端、 各信号的 M-端和模块 24 伏供电的 M 端之间电气上有什么关系??答:对隔离输入模板,.摸板参考地 Mana 与 CPU 的电源地 M 没有电连接。因此 Mana 与 M 有电位差时,必须采用隔离输入模板。但是,如果电位差超过 Eiso,则必须建立 Mana 与 M 之间的连接。对 SIEMENS 的模板,Eiso=75VDC 或 60VAC。对非隔离输入模板,则必须建立 Mana 与 M 之间的连接。 为抑止信号地 M-与 Mana 之间 的共模干扰,不同传感器的接地方式不同,限于篇幅以及图解困难,难以细说。一般原则是, 建立信号地与模板的地、模板地与(CPU)系统地的连接。如果有干扰环流,则将取消模 板地与系统地的连接,让模拟地悬浮。另外,屏蔽推荐双端接地,如果有干扰环流,则改为 单端。4. cp342-5 的放置位置有要求吗?放在轨道的什么地方最合适问:cp342-5 的放置位置有要求吗?放在轨道的什么地方最合适?答:CP342-5 工作原理是, 首先通过硬件配置将各 DP 子站的分布 I/O 映射到 CP342-5 的内 存,然后再通过 FC1(DP_SEND)、FC2(DP_RECV)实现 CPU 与 CP342-5 的数据交换。数据 传递的过程如下:FC1

CPU 内存————->CP342-5 ——————->DP 子站的输出FC2

CPU 内存<————-CP342-5 <——————-DP 子站的输入程序中我们控制的只是 CPU 与 CP342-5 之间的通讯,而子站与 CP342-5 的数据交换是由

Page 46: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

CP342-5 根据硬件配置自动完成的。关于 cp341 与 MM440 通讯问:我用 s7-300(cp341)与 MM440 的 com 口(29 30)通讯控制变频器 2 个 PZD,4 个 PKW 具体参数设置如下:P003=3;P700=5;P1000=5;P2011=1;P2012=2;P2013=4;其他参数采用工厂设置。仿照 USS-S7 中的例程进行编程;但是只能向变频器发送 PZD参数(控制字 1 和主设定值), 但不能返回任何参数。CP341 的指示灯只显示不断发送,接受灯不亮。在数据块 dbnd(DB100)中的 DBW6(通讯状态字)的值为 0200;DBW8(通讯故障字) 的值为 0080;不知是什么意思?答:CP341(RS422/485)采用(RS485)ASCII 码协议。CP341 如果采用手册中的接线 方式(11+,4-)则 cp341 的接收发送灯同时亮,但是不能进行数据传输;如果接线为(9+,2-)则出现前述情况,即只能向变频器发送 PZD 参数(控制字 1 和主设定值),但不能返回 任何参数。如果你只接了 9、2 的话,现象则说明你的参数设置没有问题。在 4 线方式下,9、2 是发送 端。11、4 是接受端,没有接线自然没有数据返回。对 MM440 应该用 2 线方式,接线是11(CP341)————-29(mm440)4(CP341)————-30(mm440)且 2 与 4、9 与 11 要短接,你接了吗?此外,在 PKW 中你的任务识别标记 ID 和参数号填对了吗?5. 315-2DP 与 ET200M

问:通过 DP 相连,CPU 地址为 2,ET200M 地址为 5,硬件上地址设置正确。 在项目管理器 里把软硬件组态好了以后,把 SIMATIC300 STATION 传给 PLC,显示 SF 错误,ONLINE 情况下, OB1 不运行。如果把 HARDWARE 再传一遍,则 SF 错误无,OB1 可运行,现在再把 SIMATIC300 STATION 传给 PLC,则重新有 SF 错误。我原来以后,把 SIMATIC300 STATION 传给 PLC 一次,相当于软硬件组态都传一次,请 问各位高手,这样正常吗?答:我想楼上的各位可能没有看清楚 royal 的问题:他通过 HARDWARE 下载+OB 下载, 没有问题,这样可以排除是组态和程序的问题。他只有在用 STATION 下载时才出现故障,SF 灯亮。所以原因不是很明确。我个人认为是不是 royal 并没有将 HARDWARE 进行“编译保存”,因此他的程序块内没有“SYSTEMBLOCKS”,所以才出现他所说的现象。请 royal 在试一试!

Page 47: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

6. S7-300PID 的 FB41CONT_C 功能及参数设定问:请教各位高手,本人现用到西门子 S7-300(CPU315)做整流系统的 PID 控制,具体 是由 AI 模块输入 4-20MA 信号(既A 柜/B 柜饱和电抗器控制电流信号反馈和机组 A 柜/B 柜直流电流信号反馈),通过 CPU

调用 PID 功能块,实现自动闭环控制,最后由 AO 模块 输出一个 4-20MA 的信号给稳流系统(既 A 柜/B柜电流给定反馈)。现请教:1、具体应调用 S7 的 PID 中的哪些功能块。我是直接在 OB1 里边调用 FB41,不 知可否。2、PID 标准块 FB41 的输入输出参数如何整定,PV_PER、SP_INT、PV_IN 有何区别。3、GAIN、TI、TD 如何整定。4、MAN_ON、PVPER_ON 怎么用,是直接在 FB41 的输入端写吗?答:原理上,PID 的调节节奏应该与其采样周期一致,这是数学模型应与物理过程一致的要 求。这也就是 FB41

要在 OB35 中周期调用且 OB35 的周期要与 FB41 采样周期一致的原因。当然,在 OB1 或其他 FC、FB 中调用 FB41 也是可以的,此时最好将 OB1 参数区中扫描周 期作为 FB41 的采样周期。本人在管道恒流恒压的 PID 过程控制中,也曾在 FC 中无条件连续调用 FB41,PID 效果也 还令人满意。我个人认为,精度要求不高的应用中,简单调用也是可以的。FB41 参数的设置很灵活,可根据自己的习惯或应用的方便选择。下面是一种方式。MAN_ON :激活 PID 手动调节给定值 MAN 的使能位,可用 PID 手自动转换位来触发。 PVPER_ON :是 PID

输入输出参数“PERIPHERAL 化”的使能位,即将参数看成 0~27648 之间的整数。换个说法,就是 PID 的反馈值直接取自相应 AIW 通道,而 PID 输出则直接给 出到 AQW 通道。参数整定由 FB41 完成。可用调节装置的启动标志来触发本位。MAN :PID 手动调节给定值,当“MAN_ON=1”时有效。CYCLE :采样周期。根据物理量变化快慢定,一般要求与 FB41执行的周期一致。SP_INT:PID 的设定值。注意设定值与反馈值的单位一致。为了避免错误,建议将 SP_INT转换为-100.0~100.0%之间无量纲的百分数,输入到 FB41 时,注意只取百分号之前的数即可。PV_PER:PID 过程的反馈值,直接取自反馈量的 AIW 通道的 A/D 码。仅在“PVPER_ON=1”时有效。 GAIN:比例系数。 TI:积分时间。 TD:微分时间。LMN_PER:PID

的调节输出,直接对应调节输出 AQW 通道。设置了上述参数,基本的 PID 调节就可以实现了。根据需要再完善其他参数的设置,比如 死区的设定等。利用 STEP7 中的 PID 赋值工具可形象快捷地完成参数设置,结果直接存入相应背景数据块,FB41 调用时无

Page 48: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

须再赋值。7. 除 300 中的密码问:我在使用 CPU313C-2PTP 时,往 PLC 里下了一个程序,开始还好使,可下载了几次之后, 竟然要求密码!本人申明,程序没加密,而且本人还不知如何加密!请问大虾, 如何清空 PLC 的程序而不需要密码?答:你需要对 MMC 卡进行格式化操作。格式化过程如下:1. 将开关置为“MRES ”位置,并保持,直至 LED 停止闪亮(即直至大约 9 秒钟后永亮 着)。2. 在随后的 3 秒内,释放开关,并再次切换为“MRES ”位置。STOP LED 现在闪亮, 指示正在进行格式化。一定要使用规定的操作顺序。否则,MMC 就不能进行格式化,而是返回存储器复位状态。 我建议你在http://www.ad.siemens.com.cn/download/manual/as.asp 上下载 S7-300C 的所有资料仔 细读一读 才进行以 上操作, 在《 S7-300 可编程控制器 CPU 312C 至 314C-2DP/PtP CPU 技术参数》一书上有此操作的详细说明,并有注意事项!请注意。8. 00 的 L 指令问:L 指令装一个立即数(常数)到 ACCU1L 1 如何表达我这个装入的数是 Byte? Word? DWord? S7300

还未入门,请高手指教!答:在装入的时候,如果被装入的数太短,达不到 4BYTE(大多情况这样),则在装入的 时候,会自动填 0

而在取出的时候,如果目标是 4BYTE,则全盘复制,如果短了,就只复制需要的长度,另外的就被抛弃了,其实被抛弃的部分一般是 0 的,编程时候需要知道的。 比如 L L#16#01020304,这是一个 32 位的 DWORD 然后T MW0,长出的部分被丢掉,最终 MW0 的内容为 16#0304 除非有意这样做,否则做之前是要保证数据没有溢出的。否则计算就乱套了。 反过来,L 16#FFFE (INT -2)T MD0 则 MD0 的值为 L#16#0000FFFE

(DINT 65534) 数据虽然没有溢出,但数据格式不能继承了。 这种时候,分别需要 DTI 和 ITD 命令进行转换。至于 200 里面的 MOVB,MOVW,MOVD 等的命令,我想,在 300 里面它是自动的,根据目 标数的尺寸,自动实现不同的 MOVE 功能,与 200 对应。9. SB 接口和 S7-200 及 S7-300 连接的体会我最近换了一个新笔记本,没有串口,最后发现它不能和 S7-200 及 S7-300 连接,急得我只冒汗(差一点儿吐血了),不过最终都搞好了,现把我的体会说一下,以供大家参考。

Page 49: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

S7-200 连接过程:1:安装 200 软件,连接,不行。2:在本网站上下载延时补丁程序,安装后连接,不行。3http://www4.ad.siemens.de/WW/llisapi.dll?func=ll&;objAction=csV

iew=en&objId=7

843251 下载了一个延时程序,安装,行!S7-300 连接过程(版本为 step7-5.2):1:安装 300 软件,连接,不行。2:查看各种资料、检查各种设置、咨询各种人员、连接,不行。3:最后安装 windows2000 的补丁程序(SP2),连接,行(好高兴啊!) 综上所述:1:先要保证你的 USB 口转串口在硬件上和软件上(就是驱动)没有问题。2:200 要下载能解决问题的延时补丁程序。3;300 要下载合适的电脑操作系统的补丁程序。10. lc 程序的下载问题问:在一个网络中(比如 profibus),有多个 plc,在 step7 中硬件组态中也有 多个 plc,所编程序是整个网络系统的程序,那么程序下载的时候,如何确定哪 些程序被下载到哪一个 plc 中?答:MPI 网络中多个 CPU(S7-300/400)及 HMI PANEL(WINCE BASED)的程序下载1. 按照你所需要的网络,完成硬件安装及通讯线的连接.

2. 对所有的 CPU,默认地址都是 2,所以可以分别上电,下载硬件配置与程序.

3. 对于 PANEL 可以通过其控制面板的 S7-TRANSFER 设置网络地址,然后通过 MPI 网络直接下载 PANEL 的组态程序.注意,此时 S7-TRANSFER 中的'ONLY MASTER ON THE BUS'不能被选中.

4. 当使用 CP5511/5611 以点对点的方式对 PANEL 下载程序时,S7-TRANSFER 中的'ONLY MASTER ON

THE BUS'必须被选中。11. 300 中,如何实现 S7-200 中 SM0.3 的功能问:在 S7-300 中,如何实现 S7-200 中 SM0.3 的功能?:即开机后进入 RUN 状态,ON 一个 扫描周期,请各位赐教.答:你必须在 OB100 中调用 SFB21 “RESUME”,原理及注意事项如下。If there is a rising edge at control input REQ, SFB 21

Page 50: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

"RESUME" activates a hot restart on the remote device selected

with the ID.

The following conditions must be met if the remote device is a

CPU:

1、The CPU must be in the STOP mode.

2、The key switch of the CPU must be set to "RUN" or

"RUN-P."

3、When you created the configuration with STEP 7, you

allowed for a manual hot restart.

4、There must be no condition preventing a hot restart.

Once the hot restart has been completed, the device changes

to the RUN mode and sends a positive execution

acknowledgement. When the positive acknowledgement is

evaluated, the status parameter DONE is set to 1. Any errors that

occurred are indicated in the status parameters ERROR and

STATUS.

A restart can only be activated again in the same remote

device after the previous hot restart has been completed.

12. 关于 IM153-2 配置问:我的 S7-400H 系统中 IM153-2 的定货型号是 6ES7153-2AR00-0XA0,但是在 S7V52 中 HW

CONFIG 里无法找到此型号的模块,请问是不是最新产品 在如何硬件配置里如何处理?答:由于是冗余配置,6ES7153-2AR00-0XA0 是由两块 6ES7153-2AA02-0XB0 组成。硬 件配置时插入6ES7153-2AA02-0XB0。13. 一些奇怪的问题问:1、能不能用 WINCC 直接控制 ET200S?不用任何 PLC,系统的功能很简单,算法在 WINCC 中实现。现在的问题是 WINCC 能直接控制 ET200S 吗?(我在一个系统看到这样 的结构,不知道能不能实现)2、SFC15,SFC16 在读写智能从站时用,超过 4 个 BYTE 的话就需要 SFC15,SFC16? 如果我一个一个字

Page 51: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

节读的话(读很多个)是不是就没有这个限制了。答:请注意:S7-200 与 ET200S 是两个不同的东东。ET-200S 与 WINCC 连,方法:1、带 CPU 的 IM151+CP5611,原理过程与 S7-300 类似;2、如 SHINE 所说,cp5611/5613+SIMATIC NET,原理过程与连 EM277 类似。通过 COM_PROFIBUS 将 CP5611/5613 定义成一类主站,并组态相应从站,从而实现对从站数 据的读写。如果有逻辑的话,需借助脚本语言。14. TP270 支持哪几种印表机问:TP270 支持哪几种印表机?你有具体的型号吗,另外在那能下载 OP270,TP270 的手 册。答:MP270,TP270,OP270 功能相近,资源配置略有差别。根据所配硬件,与打印机的 连接有三种方式:RS232、以太网、USB。其操作系统都是 WINDOWS CE,因此所支持 的打印机与普通 PC 一样。如果通过以太网连打印机,则注意所买打印机必须支持网络打印。 下列标准是支持的串行打印机:? 与 ESC/P、9 针 ESC/P 或 ESC/P2(EPSON)兼容 例如 EPSON FX850

? 与 PCL3 (Hewlett Packard)兼容 HP LaserJet 5M

USB 打印机仍可用于 PCL 和 Epson9 模式15. 两个 315-2DP 通过两个 CP343-1 通讯,如何设置成主站和从站?问:请问两个 315-2DP 通过两个 CP343-1 通讯,如何设置成主站和从站?答:CP343-1 是以太网卡,卡本身无所谓主从,因为以太网不是主从通讯机制。只有主从 机制的网络如 RS485 网,典型的有 PROFIBUS-DP,MPI,MODIBUS 等才分主从站。两 CP343-1 通讯,用 FC5(AG_SEND),FC6(AG_RESV)即可。具体某站用哪个函数,就看它是 读数据还 是写数据 。对 CP443-1 而言, 则用 FC50 ( AG_LSEND ),FC60(AG_LRESV)。16. 300PLC 中处于 STOP 状态应当执行什么 OB

问:300PLC 中处于 STOP 状态应当执行什么 OB?答:300PLC 中采用事件触发 OB 来执行一些事件,比如通讯错误会使 PLC 处于 STOP 状 态而执行 OB87。如果程序正常,我手动使它处于 STOP 状态,PLC 会执行啥 OB?stop 状态只有系统软件在运行,你所编的 step7 程序不会运行的17. 内部 DB 位的问题

Page 52: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

问:在制作警报时,我使用了 DB14,按位进行检查,每一个是单独的置位,然后对整个双字进 行相关警报信息换算,

现在在 DB14.DBX2.7,DB14.DBX10.7,这两个位出现了异常,在 LAD 中 被作为线圈输出,当被置位时,他俩为 0,在非置位是却是为 1.和应该出现的位的现象相反, 但其他位都正常,后来只有换掉这两个位,以前用 DB1 也有出现这个情况 DB1.DBX2.7, 后来 也是换掉的! 请各位指点。答:这段程序是实现集中报警很好的办法。 有新报警,则报警。但如有旧报警消失,则不反应。 不要使用双整数进行比较,而要使用word,但运算符号为双字的l mw2

l mw2_sav

>DI

=ERROR

18. S7-300 中的 FC105 模块中的 27648 是如何得来的?问:S7-300 中的 FC105 模块中的 27648 是如何得来的?答:27648=16#6C00 SIEMENS 自己定义的,在其之上到 65535(7ffff),是非线性段,可以 使用,但精度差点。19. 关于 GD 通信问题!问:我想用 MPI 连接两个 CPU315 和 CPU313,采用 GD 通信方式。书上说,step7 里的 option 项下的 define Global data 是灰的,不能用。请问谁知道是怎么回事?我用的 step7 版本是5.1。是不是缺补丁?还是我用的不对?盼回音!答:CPU 的 MPI 必须为“YES”,再组态 MPI 总线即可。20. 此站可以用彼站的数据进行程序处理吗?即如何读写远程 CPU?

问:我的意思是许多车间挂在一个 PROFIBUS-DP 总线上,现在一个车间 A 与另一个车间B 很远,车间 A 的 STEP7 程序想调用车间 B 的数据块比如 DB1.DBD0 和 I1.2,怎么调用? 我 听说可以用 SFB14,SFB15 读写远程 CPU,是怎么读写的??希望哪位大侠帮助指导一下.谢谢 了。答:你所想的其实就是通讯。主从形式的通讯。 其实并不好。除了上位机和编程器之外, 这样用到的很少。 因为对于处于从属位置的 plc,控制显得乱,程序读起来有些无所适从。21. 关于 H 系统和 315 相连

Page 53: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

问:诸位大侠,如果我想将 cpu315 连上 H 系统的网络,通过以太网可以吗?即直接在 315 上面加一个 343-

1 接到交换机,能实现与 H 的 CPU 通讯和切换吗?因为不是太清楚,特请 教。答:有两种方法:1.在 DP 上用 Y—LINK 将 CPU315 挂在上面,2。用以太网与 H 系统相联, 切换需编程。22.存储卡的使用方式问:存储卡的使用方式有几种,区别是什么,常用那种;为什么一开始存储卡好像不起作用, 操作一次后好像才有用,断电重启会读取存储卡内容,如何清空存储卡让其恢复出厂设置;300 和 400 是否都是这样;谢谢回复!答:目前 S7-400 可以扩展二种存储卡,RAM 和 FLASH EEPROM。前者必需要电池,我常扩展 RAM,在线调试比较方便,但不利于维护。如果使用 FLASH EEPROM 最好也要加电池,但如果经常需要修改程序就不方便了。老 S7-300 只能用 FLASH EEPROM,不能在线修改程序;新 S7-300 用的是闪存,可以在线修 改程序。 FLASH EEPROM 的清空只能用编程器。 存储卡使用方式是“拷贝程序到存储卡和拷贝工程项目到存储卡”这两个通常用那种 SAVE TO MEMORY CARD 是在编程器的 MEMORY CARD 插槽中写 FLASH 或 EPROMDOWNLOAD USER PROGRAM TO MEMORY CARD FLASH 是插在 PLC 上的。23.控制系统方案可行吗?问:系统中的开关量 350,模拟量 70 左右,12 个 PID 控制回路,打算采用 CPU412-2,经加 上几个 ET200M,为了省钱和接线方便,开关量和模拟量模板想尽可能挂在 ET200M 上,有三 个问题请教:1、ET200M 最多只能挂 8 个模板吗?2、采用 3 块 FM355C 挂在 ET200 上还是选用 FM455C 挂在 CPU 上?那种模块更好,用些编程方便?3、用 FB41 比用 FM355 和 FM455C 编程是不是麻烦些?答:1、1 个 ET200M 站最多挂 8 个模板,也就是 1 个 IM153 后最多可界挂 8 个模板。 2、FB41 最经济,FM355C 其次,FM455C 贵。如果要求不高,推荐用 FB41,编程不复杂。FM355C、FM455C 是可以独立于 CPU 单独工作的控制模块,功能强,响应快,不受 CPU 负荷多少等因素的影响。24. SFC14 读取 DP 从站数据与用 L 指令读从站的输入镜像区两种方法的区别问:SFC14 读取 DP 从站数据与用 L 指令读从站的输入镜像区两种方法的区别是什么? 除了 以上问题外,还想问一下 consistent data 这个名次是什么意思?答:1.在 STEP 7 中的 I/O 存取指令 L,T 不允许用单字节、单字或双字命令去存取具有 3 个或大于 4 字节的相连续的 DP 数据区域(模块)。为了存取这种封闭结构的连续的数据区域, 只能使用 SFC14/15 来使用。

Page 54: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

2.不一样,如果你的 DP 从站的地址用的是过程映像区的地址,就没有必要使用 SFC14/15, 只要和普通的 I/O 一样访问就是了,S7-300 是在 0-127 之内。但如果使用的是外设通道,就有一致性的区别,如果是字一致性,你在访问 PID256 时,就 有可能被中断,PIW256 和 PIW258 的内容不是同步刷新的。而区域一致性的地址只能用 SFC14/15 访问,而且在访问这个连续地址时是不允许被中断的,其内容是同步刷新的。3.判断一个地址是在过程映像区还是外部输入很简单,双击打开 DP 从站的 I/O 属性,看其 process image

属性,如果是 OB1 PI(对于 S7300,只有一个映像区,S7400 则不然),那 么从站的地址就是在过程映像区里的。如果 process image 属性为空,则属于外部输入。通 常,模块的一致性选择为 BYTE ,都放在过程映像里。一致性为 WORD 或 UNIT 等等,地址都 是外部输入。25. 关于 SFC20 bit move 为什么出错问:CALL "BLKMOV"

SRCBLK :=P#M 0.0 BOOL 5

RET_VAL:=MW100

DSTBLK :=P#M 20.0 BOOL 5

NOP 0

lw1 和 lw2 的地址冲突的。答: 用 mw0 和 mw2 来说明: mw0 和 2#0000001111111111 做与操作, mw2 和 2 #1111110000000000 做与操作,再将 2 个结果做或操作,送到目标地址就可以了。26. 两台 S7-300 用 MPI 组态方法问:现有 2 台 314,PROFIBUS 通讯插头 2 个,一根编程电缆,一台笔记本需用 MPI 通讯传输 数据。如何连接组态,及下载程序。314 地址各是多少答:硬件先连好,然后分别上电下载程序即可.27. S7-400 Work Memory 空间问题问:S7-400 Work Memory 空间问题 ,使用的 cpu 是 412-2,其 Work Memory Code 的最大容 量是 90000Byte,Work Memory Data 的最大容量是 77824Byte,可是我的程序所需要的 Work Memory Code

大概又 110000Byte,查看了 S7-400 的说明书,CPU412-2 的 Work Memory Code 最大为 72K,Work

Memory

Data 最大为 72K,请问各位大虾除了不换 CPU 的情况,请问还有什么好的办法来解决?

Page 55: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

答:work memory 只有 H 系统的能够扩展,其他 CPU 没有可能。变法: 1、更换 CPU; 2、改变程序结构,比如减少嵌套层次,有可能。28. 关于模拟输入的问题问:在使用模拟输入模块时(7KF02),输入信号为 0-10V.已经将小模块指向 B 位置,在 STEP7 中也已经组态,模块也有 24V 电源,我用了一个通道其他通道一屏蔽,信号接在端子 2 和 3 上。为什么已接上线模块的 SF 灯就亮,CPU 也报警。答:上面的问题是由于信号源接地造成的,10 和 11 没有短接。10 和 11 还有每个通道的低 电位端与-M 短接在一起是为了避免信号干扰。29. 请教 SM331-7KF02 是 12 位的模拟量输入模块,为何输出对应值不是 0-4096 而是 0-27648

问:请教 SM331-7KF02 是 12 位的模拟量输入模块,为何输出对应值不是 0-4096 而是 0-27648? 另外,4-20mA 信号输入,还要外加 24VDC 电源,是否应选 4 线制变送器? 量程 选 C 还是 D?答:如果 12 位使用 4096,那么 13 位就要使用 8192,14 位 18384,.... 编程的时候需要随 时考虑模块精度,很多标准函数都不能使用了。 低位补 0 的方法比较聪明。30. S7 300 做双机热备问:请教大虾,S7 300 中除 318 外,315 可以做双机热备吗?给个例子可否! 答:双机热备的概念是一台 CPU 发生故障,另一台 CPU 马上投入.时间相差在毫秒级。两台CPU 要求时间严格的同步。用 315-2DP 实现的备份实际上是用软件的方法来实现的,两台 CPU 中只有一台执行冗余备份程序,另一台跳过该段程序,以此实现同步.可以用在切换时间要 求不严格的场合。实现软冗余功能还需购买"SW-REDUNDANCY"软件包,具体实例该包中都有。31. 如何接无用的模拟量输入问:当用模拟量 6ES7 331-7KF00-0AB0,有一组的其中没用,还有就是备用通道 应如何接。例如 4-20ma,4 线制的?答:1 四线制电流 一组中的两个通道串接即可,即输入信号的正极接一通道的正极,一通道的负极接二通道的正极,输入信号的负极接二通道的负极,这样电流流经两个通道,不影响通道组诊断功 能的使用。2 二线制电流在不用的输入口并联一个 1.5-3.3k 欧姆的电阻 3 -+5v/-+10v/热电偶把不用的通道短接4 1-5V 把不用的通道和同组的通道并联。

Page 56: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

5 一组输入不用在硬件组态中禁止,硬件调线设置为 B,然后各个通道的输入短路。32. 如何给程序加密码问:请指教!给程序块加密答:在 Step7 中, 可以先任意打开一块, 在"file"中选择"Generate Source"或快捷方式"Ctrl+T",弹出一个画面,填写"object name"如"tt",然后按 OK 确认,就会再弹出另一个画面, 左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边, 然后退出所有 的程序块,再进入 SIMATIC Manager 中。在 S7 Program

Sources 找到文件 tt,双击 tt 打开,在第四行中加入"Know_How_Protect", 然后编译, 无 错后存盘。 这样 FB1

、FB2 就被保 护住,如想 去掉保护,在 tt 中去掉"Know_How_Protect"编译存盘即可。注意: 千万不要丢失或删除源文件(如 tt), 否则程序被保护, 用户可以另存到其它目录中,或 Export Source 到硬盘中,再删除源文件,

这样别人只能看到未保护的块。33. DI 模块输入频率问:请问 3211BH020AA0 模块,DI 输入频率最高能到多少?样本上没有注明! 答:取决于信号模块高电平的建立时间,及程序的扫描周期,前者的时间是固定的,可以忽略不计,后者的影响较大,如果一个程序的平均扫描周期为 20 毫秒,则输入信号的高低电 平时间都必须大于 20 毫秒,输入信号周期大于 40 毫秒,所以信号频率小于 25HZ,考虑扫 描周期变化的因素,可能输入信号的频率小于 15HZ 才能被可靠地识别。不能满足上述要求,都应该使用 SM321-7BH 的中断输入模块,其响应频率最大 1000HZ。34. OB100

问:OB100 是暖启动功能块,S7-300 的 CPU313C-2DP 应该只有暖启动,我在 OB100 里编写了 最简单的程序,即:常闭输入 M1.0 输出 M2.0。为什么不能在线监视。我的理解是:在启动 CPU 后应该有输出 M2.0.

答:OB100 只是用来做 CPU 上电初始化的,你不妨在线监控一下就能观察到,软件界面下部 的状态进度条(绿色)的状态是静止的,是因为上电初始化 OB100 中的程序扫描一个周期后 就进入 OB1 中的程序循环扫描了。然后你可以用软件的变量表进行监控或置位观察变量的状 态。35. 有关 pid 的疑惑问:我记得 pid 控制是计算出偏差 E 后,用放大、微分、积分的方式算出 pid 的输出值,,然后加在当前的输出上,但看到 fb41 的帮助,好像并没有加,而是直接的输出,在实验中的 感觉也是这样。,稍微有一个偏差,输出

Page 57: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

就变成 100 或者 0,请教高手有没有什么好一点的 方法让 pid更稳定一些,以免阀门总是在动作?答:PID 只是过程控制的算法。 按你所说,输出频繁波动形成陡升降输出曲线:1、是比例的作用太大和缺少积分作用造成。2、输出的量程是否对应阀的驱动量程。3、给定值和测量值的量程是否一致36. fb41 与 sfb41 的区别问:编程时在 libraries 目录下(不知是否这样叫),有 stdlibs 和 standard libraries 两个子目录中都可以找到 sfb41 ,这两个东西有何区别,另外在 standard libraries 中在 pid control blcok 目录下还可以找到 fb41,不知这个 fb41 与上述两个 sfb41 有何区别, 我本以为自己编的是 fb,系统提供的应是 sfb,真搞不懂,请各位赐教。谢谢。答:FB41 和 SFB41 功能完全一样。SFB41 是系统集成功能,只有 S7-300C 及 314IFM 这几种 CPU 中集成了。 FB41 则是通用功能块,可在任何 CPU 中运行。、37. 请教高手 MMC 卡的问题问:现用 CPU314-DP,MMC 卡是 64K 的 但是程序块较多,所以提示 MMC 卡空间不够。 本人有 32M 的 MMC 卡,不知可不可以用在 CPU314-DP 上? 我把原配 64K 的 MMC 卡放到读卡器里 却提示“未格式化”,那它原来是什么格式的呢?答:1. MMC 卡作为 CPU 的装载内存(Load Memory),在为您的 CPU 选型 MMC 的时候,我们 建议您所选的 MMC 卡一定要大于等于您所选定的 CPU 工作内存的大小(work memor 在定购 以上产品时,PLC 本身不带有 MMC 卡,所以为了正常使用 PLC,您必须根据您工程项目实际 需求定购一个大小适用的 MMC 卡,如果您的 PLC 上未插入 MMC 卡,你是无法将 STEP7 中的程 序和数据下载下去的,同时你应当注意,不能带电插拔 MMC 卡,否则会丢失程序或损坏 MMC 卡。2. 在 Simatic manager 中,选择一个程序块下载,则该块被下载到 MMC 卡中,如果在窗口 左边的树型图中选中 Block 文件夹进行下载,则所有的块被下载到 MMC 卡上,MMC 中原有的 信息将被覆盖,向 MMC 卡读写数据或下载程序的次数不受限制。3. 除过 CPU 中集成的 SFB/SFCs 块外,MMC 当中其他的块可被在线删除。4.对某些 CPU 用新版 MMC 卡(6ES7 953-XXX10-0AA0)替代旧版 MMC 卡(6ES7 953-XXX00-

0AA0) 时需要升级 PLC 的 OPERATING SYSTEM。升级时需要使用 PG(6ES7798-0BA00-0XA0)或带

Page 58: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

USB 口的编程器(6ES7792-0AA00-0XA0),通过 STEP7 MANAGER 窗口中的菜单功能“PLC/UPDATE

OPERATING SYSTEM ”将 CPU_HD.UPD文件写到 MMC 卡 上, CPU_HD.UPD 文件可 以在www4.ad.siemens.de 网站上下载得到。5. y),最好比工作内存大一些,但如果您的应用中,PLC 工作时要使用大量的过程数据, 历史数据,配方数据等或控制工艺中存在较多的用户程序块、STEP7 中的应用功能块(如 FB41、FB42等)时,建议选用 2-8M 的 MMC 卡,但请注意只有 314、315-2DP、C7 系列的 PLC 支持 8M 的 MMC 卡。6.MMC 卡是装载内存,所以不能够在上位机中的组态软件中直接读取 MMC 卡上的数据值(DB 块中的数据),组态画面读取的是 PLC RAM 内存中的数据。7. 在西门子的 PLC 上必须使用西门子专用的 MMC 卡,如下表中所列出的,不能使用数码相 机、移动电话或 PDA 等数码产品使用的通用型 MMC 卡。The order numbers for MMC cards are in the following table:Micro Memory Card / S7-300 Order number

64 Kbytes 6ES7 953-8LF11-0AA0

128 Kbytes 6ES7 953-8LG11-0AA0

512 Kbytes 6ES7 953-8LJ11-0AA0

2 Mbytes 6ES7 953-8LL11-0AA0

4 Mbytes 6ES7 953-8LM11-0AA0

8 Mbytes 6ES7 953-8LP11-0AA0

38. 可以在原有的工程中修改 CPU 的型号吗问:我在组太时用的是 STEP7-V5.2 , 但使用的 CPU 版本比较新 , 我现在才知道 , 不知 该怎么修改,请大家帮忙,谢了答:同型号不同版本的 CPU 可以直接替换,直接从库里选中你需要的 cpu 拖到机架上替代原 来的 cpu 就可以了。不同型号的 cpu 如果替换的话,需要先将旧的 cpu 删掉,再插入新的, 但是它会提示你是不是要删除原来的程序,你选择“否”就可以了。39. 格雷码的转换问:我的 CPU 是 313C,使用 SM338 读入格雷码后,想转换成二进制数,有大虾有程序吗? 请多指教。答:格雷码的转换方法:某二进制数为: Bn-1 Bn-2 …… B2 B1 B0 其对应的格雷码为:Gn-1 Gn-2 ……

Page 59: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

G2 G1 G0 其中最高位保留: Gn-1=Bn-1其它各位: Gi="Bi"+1 XOR Bi i="0",1,2 …… n-2 例如:二进制:10110 对应的格雷码为:11101 而格雷码转换为二进制时,方法如下:B0 = Gn-1 XOR Gn-2 XOR …… G1 XOR G0

B1 = Gn-2 XOR Gn-3 XOR …… G1 XOR G0

……

Bn-1=Gn-1

40. 关于双机热备的问题,问:请问一下,两个 H 系统 400CPU,进行双机热备,用四个同步模块连接两个 CPU, 四个 模块需要在硬件组态上组态吗,如果组态,我怎么没有在程序里找到这个东西呀,需要下那 个补丁包?请高手指点答:同步模块不需组态。但注意将同步模块插入 PLC 前,先设定上面的拨位开关。第一次用 的时候这个问题困扰了我很长时间。41. 请问一下 400H,我在主站下载了程序,同时我也要在备用站下同样的程序吗问:请问一下 400H,我在主站下载了程序,同时我也要在备用站下同样的程序吗?他们之间如何知道那个是主主站的,那个是备用站的?是通过什么实现的, 2、我是分别对两个站编程,还是在同一个站,使用它们之间的通讯网络进行下载程序答:不用。 一次编程,一次下载,PLC 会自动同步程序的。 CPU 上有指示灯显示哪个是主, 哪个是备。42. 请问 300 如何通过 CPU 模块上的开关,来清程序问:300 如何通过 CPU 模块上的开关,来清程序。我看了手册有,但看不明白。答:You can use the following procedure to delete the block on an MMC in the CPU:

1.The MMC to be deleted is slotted in the CPU.

2.In the SIMATIC Manager, switch to online mode via "View > Online" or by pressing the

appropriate button.

3.In the Online window, you select the block folder.

4.Select all the blocks in the folder which you want to delete.

5.Click the "Delete" key on your PC keyboard (you can acknowledge the message that system

functions cannot be deleted).

43. 求教从那里可以看到调用 SFC15 时,CPU 支持的最大数据长度

Page 60: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

问:ppo10 是 pkw 通道 8byte,pzd 通道 6byte,是否可以在用 sfc15 写 dp 数据时直接写 14byte?cpu

返回错误码 80b1。答:SIMATIC S7 系统的 CPU 通过用 STEP 7 程序的专用的 I/O 存取命令来寻址分散外围设备 模块的 I/O 数据。这些命令直接调用 I/O 存取或通过过程映像调用 I/O 存取。用于读和写分散 I/O信息的数据格式可以是字节、字或双字。然而,有些 DP 从站模块有更复杂的数据结构。它们的输入和输出数据区域有 3 个字节或大于 4 个字节的长度。这些数据区域也称为相连续的 I/O 数据区域。在使用相连续的数据区域的 DP 从站的参数集中,参数“Consistency”必须设置为“Total Length”。 对于连续的数据,输入和输出数据不能通过过程映象来传送,也不能用通常的“I/O 存取命 令来调用数据交换。原因在于对 DP 主站上的输入/输出数据的 CPU 更新循环。DP

输入/输出 数据的更新只能由 DP主站与 DP 从站间的循环数据交换(总线循环)而确定。因此,从 DP

主站来的数据或到 DP 主站的数据可能已经在寻址的 DP 从站 I/O 数据的一条 STEP 7 存取指 令与下一条 I/O

存取指令之间被更改了。由于这个缘故,仅对用户程序用字节、字或双字命 令无任何中断地编址的 I/O 结构和区域才能保证数据的连续性。对于复杂功能的 DP 从站,如闭环控制器等,它们通常不能用简单的数据结构来完成这些任 务。这些 DP 从站需要更大的输入和输出区域,而且在这些 I/O 区域中的信息常常时相连不 可分割的。因此,它们不能用字节、字和双字的结构来存储。这样的数据区域称之为”连续 的“。在一个输入/输出模块内,用组态报文可以指定长度可达 64 字节或字(128 字节)的 数据区域。为了对这些相关的模块读或写信息,必须使用 DP 从站的连续的输入/输出数据区 域和特殊的功能。在 SIMATIC S7 中,系统功能 SFC14 DPRD_DAT 和 SFC15 DPWR_DAT

是为此 目的保留的。44. 安装了从网上下载的 STEP7 V5。2 软件后,为何在通讯中找不到 CP5611 卡问:从网上下载了 STEP7 V5。2 软件后,在机上安装完整后,发现新建的文件中没有不能用 CP5611 卡进行下载程序,不知何故?答:你换个 PCI 插槽试一下!看看。以前我也遇到过,我原来的 CP5611 卡插到一个插槽, 然后更换插槽后 CP5611 卡没有被读到,我在硬件中删除未知设备后,换到原来的插槽就好 用了!45. 询问 FM350-1 的问题问:我用一个脉冲发生器产生脉冲数,可 step7 程序监测时发现信号没有采集到?硬件接线为 1 为+24V,2、3、20 为 M,4 为+5V,5、6 分别为脉冲 A 的正和负。这样接线没错吧?请 问 4 为+5V 或为+24V 的含义是

Page 61: 西门子S7-300 150 个问题解答 - 中国自动化网-工业互 …down.ca800.com/2009/12/18/1240XV58QM3BHY.doc · Web view必须确保接收端CPU 未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB

什么?答:编码器需要 FM350-1 供电的情况下可选择 5v 或 24v 输出。 如编码器为 5v 编码器,则 选择 5v 输出,否则选择 24v 输出。侧面的开关一定对应编码器的电压等级,否则容易损坏 HSC!46. 一个 cpu314 挂两个 cp340,如何调用 FB2 及其背景数据块问:一个 cpu314 挂两个 cp340,如何调用 FB2,及其背景数据块?如题,都用 FB2 和 FB2 的背 景数据块呢,还是改变 FB2 的 NAME 和背景数据块? 用一个 FB2 和同一个背景,总会有一个数据是不正常的,不知为什么?请指教?答:如果程序逻辑不当,同一个背景数据块会出问题的。要使用不同的背景数据块。强烈建 议你把 FB2 和背影数据块同时改掉,即每个 CP340 有各自的 FB2 和背景数据块,这样效果非 常好。不会有程序上的冲突。47. 请教一个问题问:我在硬件组态中把 CPU 的类型改了,结果我编的程序没有了。 出现一个 S7 program 新 的文件夹。请问原来的程序还能恢复吗!答:你改 CPU 的类型时是否是先删除后添加?如果是“删除”的话会有对话框弹出询问你是 否同时删除程序或“否”,如果你选择了“是”的话那么就无力回天了,如果选择“否”的 话所编程序将保留,但不与你新的硬件组太连接,你可直接拷贝到新硬件的 PROGRAM内即 可。