9
上海庆惜自动化设备有限公司
S7-300/400的指令系统
与其他控制器一样,西门子S7-300/400系列PLC有着丰富的指令,其功能兼顾的控制及运算,可满足绝大多数基本控制需求。
6.3.1 位逻辑指令
位逻辑指令用于二进制数的逻辑运算,二进制数只有0和1这两个数,位逻辑指令只使用1和0两个数字。在触点和线圈领域中,1表示激活或激励状态,0表示未激活或未激励状态。位逻辑指令对1和0信号状态加以解释,并按照布尔逻辑组合它们。这些组合产生由1或0组成的结果,位逻辑指令如表6-2所示。
——/——存储在*<地址>的位值为0时,(常闭触点)处于闭合状态。触点闭合时,梯形图轨道能流流过触点,RLO=1。否则,如果*<地址>的信号状态为1,将断开触点。触点断开时,能流不流过触点,RLO=0。常闭触点对应的地址位为0状态时该触点闭合。
串联使用时,通过AND逻辑将——/——与RLO位进行连接。并联使用时,通过OR逻辑将其与RLO位进行连接。
【例6-2】常闭触点指令实例
常闭触点指令实例如图6-2所示。
[图片]图 6-2 常闭触点指令实例图
满足下列条件之一时,将会通过能流,Q16.4通电。
3.能流取反
符号:
——|NOT|——
——|NOT|——表示取反RLO位。取反触点的中间标有“NOT”,用来将它左边电路的逻辑运算结果RLO取反(见图6-3),运算结果若为1则变为0,为0则变为1,该指令没有操作数。换句话说,能流到达该触点即停止流动;若能流未到达该触点,该触点给右侧供给能流。
【例6-3】能流取反指令实例
能流取反指令实例如图6-3所示。
[图片]图 6-3 能流取反指令实例图
满足下列条件之一时,输出端Q16.4的信号状态将是0。
——()的工作方式与继电器逻辑图中线圈的工作方式类似。如果有能流通过线圈(RLO=1),将置位<地址>位置的位为1。如果没有能流通过线圈(RLO=0),将置位<地址>位置的位为0。只能将输出线圈置于梯级的右端。可以有多个(较多16个)输出单元(请参见实例)。使用——NOT——单元可以创建取反输出。
【例6-4】输出线圈指令实例
输出线圈指令实例如图6-4所示。
满足下列条件之一时,输出端Q16.4的信号状态将是1。
[图片]图 6-4 输出线圈指令实例图
输入端I4.0和I4.1的信号状态为1时或输入端I4.2的信号状态为0时。
满足下列条件之一时,输出端Q16.5的信号状态将是1。
输入端I4.0和I4.1的信号状态为1时或输入端I4.2的信号状态为0且输入端I4.3的信号状态为1时。
例6-4的输入/输出状态如表6-9所示。
——(N)——检测地址中1到0的信号变化,并在指令后将其显示为RLO=1。将RLO中的当前信号状态与地址的信号状态(边沿存储位)进行比较。如果在执行指令前地址的信号状态为1,RLO为0,则在执行指令后RLO将是1(脉冲),在所有其他情况下将是0。指令执行前的RLO状态存储在地址中。
【例6-10】下降沿检测指令实例
下降沿检测指令实例如图6-10所示。
边沿存储位M0.0保存RLO的先前状态。RLO的信号状态从1变为0时,程序将跳转到标号CAS1。
2.将RLO状态保存到BR
符号:
——(SAVE)
——(SAVE)将RLO保存到状态字的BR位。未复位*一个校验位/FC,因此,BR位的状态将包含在下一程序段的AND逻辑运算中。
指令“SAVE”(LAD、FBD、STL)适用下列规则,手册及在线帮助中提供的建议用法并不适用:
用户不要在使用SAVE后在同一块或从属块中校验BR位,因为这期间执行的指令中有许多会对BR位进行修改。用户在退出块前使用SAVE指令,因为ENO输出(=BRNEG是单个地址位提供的信号的下降沿检测指令,比较<address1>的信号状态与**次扫描的信号状态(存储在<address2>中)。如果当前RLO状态为1且其**状态为0(检测到下降沿),执行此指令后RLO位将是1。相应的输出线圈“通电”一个扫描周期。
【例6-13】地址下降沿检测指令实例
地址下降沿检测指令实例如图6-13所示。
[图片]图 6-13 地址下降沿检测指令实例图
同时满足下列条件时,输出Q4.0的信号状态将是1。
·输入I0.0、I0.1和I0.2的信号状态是1。
·输入I0.3有下降沿。
·输入I0.4的信号状态为1。
14.POS地址上升沿检测
位)此时已设置为RLO的值,所以可以检查块中是否有错误。
1.定时器的种类
定时器相当于继电器电路中的时间继电器,S7 300/400的定时器分为脉冲定时器(SP)、扩展脉冲定时器(SE)、接通延时定时器(SD)、保持型接通延时定时器(SS)和断开延时定时器(SF)。
脉冲定时器在输入信号的上升沿开始定时,输出为1,当定时时间到或输入信号变为0或者复位输入信号为1时,则输出为0。
扩展脉冲定时器在输入信号的上升沿开始定时,输出为1,当定时时间到或复位输入信号为1,则输出为0,脉冲定时器和扩展脉冲定时器的主要区别在于开始定时后,在定时时间未到时是否受到输入信号的影响。
接通延时定时器是使用较多的定时器,在输入信号的上升沿开始定时,当输入信号为1且定时时间到时输出才为1,否则输出为0。
保持型接通延时定时器在输入信号的上升沿开始定时,定时时间到时输出为1,当复位输入信号为1时,输出为0,与接通延时定时器的主要区别在于开始定时后是否受到输入信号的影响。
断开延时定时器在输入信号的上升沿输出为1,在输入信号的下降沿才开始定时,时间到时或复位输入信号为1时,输出为0。
2.定时器的存储区
S5是西门子PLC老产品的系列号,S7-300S5定时器是S5系列PLC的定时器,在梯形图中用指令框(Box)的形式表示。此外每一个S5定时器都有功能相同的用线圈形式表示的定时器。
S7 CPU为定时器保留了一片存储区域。每个定时器有一个16位的字和一个二进制位,定时器的字用来存放当前的定时时间值,定时器触点的状态由位的状态来决定。用定时器地址(T和定时器号,如T6)来存取时间值和定时器位,带位操作数的指令存取定时器位,带字操作数的指令存取定时器的时间值。不同的CPU支持32~512个定时器。梯形图逻辑指令集支持256个定时器。
下列功能可访问定时器存储区。
1)定时器指令。
2)通过定时时钟更新定时器字。当CPU处于RUN模式时,此功能按以时间基准*的时间间隔,将给定的时间值递减一个单位,直至时间值等于零。
3.定时器字的表示方法
用户使用的定时器由3位BCD码时间值(0~999)和时基组成,时基是时间基准的简称,时间值以*的时基为单位。在CPU内部,时间值以二进制格式存放,占定时器字的0~9位。时间值*单位数。时间更新操作按以时间基准*的时间间隔,将时间值递减一个单位,递减至时间值等于零。可以用二进制、十六进制或以二进制编码的十进制(BCD)格式,将时间值装载到累加器1的低位字中。
可以使用以下任意一种格式预先装载时间值。
1)十六进制数W#16#wxyz,其中,w=时间基准(即时间间隔或分辨率);xyz=以二进制编码的十进制格式表示的时间值。
2)S5T#aH_bM_cS_dMS,其中,H=小时,M=分钟,S=秒,MS=毫秒;a、b、c、d为用户设置的值。
时基是CPU自动选择的,选择的原则是在满足定时范围要求的条件下选择较小的时基。可以输入的较大时间值是9990秒或2小时46分钟30秒。
下面举例说明
·S5T#4S=4秒。
·s5t#2h_15m=2小时15分钟。
·S5T#1H_12M_18S=1小时12分钟18秒。
4.时基
S7-300定时器字的*12位和*13位用于时基(时间基准),时间基准定义为将时间值递减一个单位所用的时间间隔。较小的时间基准是10毫秒;较大的时间基准是10秒。时基代码为二进制数00、01、10和11时,对应的时基分别为10ms、100ms、1S和10s。实际的定时时间等于时间值乘以时基值。例如,定时器字为W#16#3999时,时基为l0s,定时时间为9990s。时基反映了定时器的分辨率,时基越小分辨率越高,定时的时间越短;时基越大分辨率越低,定时的时间越长。
如果在启动(S)输入端有一个上升沿,S_PULSE(脉冲S5定时器)将启动*的定时器。信号变化始终是启用定时器的必要条件。定时器在输入端S的信号状态为1时运行,但较长周期是由输入端TV*的时间值。只要定时器运行,输出端Q的信号状态就为1。如果在时间间隔结束前,S输入端从1变为0,则定时器将停止。这种情况下,输出端Q的信号状态为0。
如果在定时器运行期间定时器复位(R)输入从0变为1时,则定时器将被复位。当前时间和时间基准也被设置为零。如果定时器不是正在运行,则定时器R输入端的逻辑1没有任何作用。
可在输出端BI和BCD上扫描当前时间值。时间值在BI端是二进制编码,在BCD端是BCD编码。当前时间值为初始TV值减去定时器启动后经过的时间。
上海庆惜自动化设备有限公司
S7-300或者S7-400的PLC是模块式的PLC,各种模块式相互独立的,分别安装在机架上。硬件结构如图:
DI:数字量输入模块,DO:数字量输出模块,AI:模拟量输入模块,AO:模拟量输出模块
S7-CPU模块可分为紧凑型、标准型、革新型、户外型、故障安全型、特种型CPU。
CPU312C表示是紧凑型CPU;
CPU313C-2DP表示集成了PROFIBUS-DP协议的紧凑型CPU;
CPU314-2PtP表示集成了点到点协议的紧凑型CPU;
CPU313表示标准型CPU;
CPU312IFM表示户外型CPU;
CPU317-2DP表示集成了PROFIBUS-DP协议的特种型CPU;
1)RUN-P:可编程运行模块,在此模式下,可以让用户调试运行程序。
2)RUN:运行模式,在此模式下,仅能运行程序,不能修改程序。
3)S**:停机模式,在此模式下,CPU不执行用户程序,但是装有STEP7的计算机可以读出或者修改用户程序。
4)MRES:存储器复位模式。当开关在此位置释放时会自动返回到S**位置,该位置不可保存。
1)高速的指令处理。
西门子 S7-300 PLC 从入门到精通的100个经典问题
2014年09月18日 15:21
使用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不会进入操作状态S**。如果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")的属性 :
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:可以将MICR.master420到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 里进行。先定义起始地址,该模块的其它地址以它为基准。
自由分配地址的优点:因为模块之间没有地址间隙,就可以优化地使用可用地址空间。在创建标准软件时,分配地址过程中可以不考虑所涉及的 S7-300 的组态。
18:诊断缓冲器能够干什么?
更快地识别故障源,因而提高系统的可用性。评估S**之前的最后事件,并寻找引起S**的原因。
诊断缓冲器是一个带有单个诊断条目的循环缓冲器,这些诊断条目显示在事件发生序列中;*一个条目显示的是较近发生的事件。如果缓冲器已满, 较早发生的事件就会被新的条目所覆盖。根据不同的CPU,诊断缓冲器的大小或者固定,或者可以通过HW Config中通过参数进行设置。
19:诊断缓冲器中的条目包括哪些?
1) 故障事件
2) 操作模式转变以及其它对用户重要的操作事件
3) 用户定义的诊断事件(用SFC52 WR_USMSG)
在操作模式S**下,在诊断缓冲器中尽量少的存储事件,以便用户能够很*在缓冲器中找到引起S**的原因。因此,只有当事件要求用户产生一个响应(如计划系统内存复位,电池需要充电)或必须注册重要信息(如固件更新,站故障)时,才将条目存储在诊断缓冲器中。
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进入S**(例外: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 并通过 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。