PRPFIBUS-DP网络规划如下:1个CPU315-2DP做主站,下挂4个ET200S从站,接口模块全部为IM151标准型,每个从站都单独配有直流电源,网络两端接有有源端接元件,有1个或多个从站要共用某个从站的某些输入信号,要求当一个或多个从站通讯故障时CPU不停机,只将有关联的几个从站负载停止。
问题1.需要编写哪些组织块。
问题2.怎样判断通讯出故障的站号。
问题3.通讯出故障的从站其输出是保持故障前的状态还是全部为零。
问题4.CPU315-2DP的连接数量为16,怎样知道项目中需要多少个连接。(并不特指这个项目)
先谢谢各位大师。
问题补充:
对问题4补充一下,可能是我描述不清楚,但Bob Wu 的回答已经比较接近我想要的答案了。
意即一个项目已经规划好了,那么我得知道这个项目有多少个什么样的连接,这些连接有没有超出CPU的连接能力。
也可能我对什么是“连接”还没弄明白,是不是一个站就得占用一个连接?
最佳答案
1. 为了避免发生某种错误时CPU进入停机,可以在CPU中建立以下对应的空的组织块,可以直接插入你的程序块中,然后下载到你的CPU中。根据错误的类型,CPU调用响应的错误处理OB,从而避免某种错误时CPU进入停机,但CPU上SF红灯亮,但CPU运行正常。对于标准COU315-2DP,这些错误组织块为:
OB号 错误类型 优先级
OB81: 电源故障 26/28
OB82:诊断中断 26/28
OB83:插入/取出模块中断 26/28
OB84:CPU硬件故障 26/28
OB85:优先级错误 26/28
OB86:机架故障或分布式I/O的故障 26/28
OB87:通信错误 引起错误的OB的优先级
OB121:编程错误 与被中断的块在同一优先级
OB122:I/O访问错误 与被中断的块在同一优先级
2. 关于如何判断通信出故障,其实很简单。由于ET200S是智能模块,你可以直接在分布I/O故障组织块OB86中通过简单的编程就可以实现。如果你的CPU中下载了OB86,当在发生通信问题后或者访问不到DP从站ET200S时将执行OB86,可以通过OB86上部的局部变量声明表中的临时变量读出产生的故障代码和事件类型,通过它们的组合可以得到具体错误信息,同时也可以读出产生错误的模块地址。由于STEP7不能实时监控程序的运行,可以用“Variable”(变量表)监控实时数据的变化,从而很块查出具体的模块位置。利用装载和传送指令来编程,当然你也可以利用赋值指令MOVE来编程,在OB86中编写的简单程序如下,可以判断出通信故障模块的DP站号。
L #OB86_EV_CLASS //读取事件的级别和标识
T MB0
L #OB86_FLT_DI //读取故障代码
T MB1
L #OB86_MDL_ADDR//读取故障模块的地址
T MW2
3. 如果DP从站发生故障时,CPU作为DP主站与作为DP从站的ET2OOS之间没有通信连接,所以通讯出故障的从站其输入保持不变,但是不可能有输出的,所以输出的状态当然全部为零
4. CPU315-2DP的通信连接的最大数量是16,一般在SIMATIC管理器中打开你的项目的硬件组态界面,双击CPU315-2DP,打开“Properties – CPU315-2DP(RO/S2)”CPU属性)对话框,选择子项“Communication”(通信),可以看到CPU的通信资源分配情况,默认为:
Communication Resource Reserve for (为以下保留的通信资源)
PG Communication 1 (PG/PC)
OP Communication 1(触摸屏OP/TP)
S7 Basic Communication 12(S7基本通信)
S7 Communication(S7通信)0
Maximum number of communication 16
通过上述可以清晰看出你的CPU系统中通信资源分配情况,一个为上位机(包括PG/PC0)保留一个,HMI触摸屏保留一个,但为S7基本通信保留了12个。如果你的上位机或触摸屏不止一个,可以在PG、OP 后面增加连接数量,同时减少S7基本通信资源,执行“保存并编译”,然后下载到CPU中就可以了。一般一个上位机占用一个通信资源、一个触摸屏也占用一个通信资源、如果你用以太网通信可能也需要S7通信连接也占用一个通信资源,把上述通信资源连接数相加就可以知道你的项目这需要多少连接。
我们讲CPU315-2DP最大可连接的通信数量16,并是不是指一个站就得占用一个连接.CPU315-2DP的通信连接最大数16,是指整个CPU通信系统中所有通信协议连接数量总和(包括MPI通信、PROFIBUS通信、工业以太网通信),如第一接口为MPI最大连接数量16是指没有利用其他通信协议的MPI站点最大连接数,下同。在CPU315-2DP所以接口中,第一个接口X1为MPI, 第二个接口为PROFIBUS-DP,如果不使用其他通信协议,其作为DP主站的最大连接数是16,作为DP从站的连接数也是16个;通信功能中仅仅连接PG/OP,其最大连接数是16(编程器默认为1个,可组态15个;OP通信默认为1,可组态15个;基于S7(工业以太网通信)保留为12个,可组态为0-12个。如果一个CPU包含不同的通信协议,必须把其相加,其所以通信连接数不能超过16个。
提问者对于答案的评价:
感谢Bob Wu,同时也非常感谢阿呜,提供的资料相当有帮助。
但对于问题3,Bob Wu与阿呜的结论却截然相反,迷茫中.....
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc165952.html