发布于 2011-04-26 16:28:41
242楼
我也是通讯的使用者,对于底层的概念一知半解。
我想从应用的角度请教一下凡大侠:到目前位置,对于PLC的S7的连接资源和任务资源,我理解的还不是太清楚。
技术资源库有这样一个问题:参见条目号:18363371
通过一个CP343-1的S7通讯,背板总线上最多可用16个任务资源。任务资源分配到组态的S7连接并且通过通讯功能块的背景数据块所体现 (I-DBs) 。由于最大的任务资源数为16, 那么最多16个背景DB被使用。如果使用超过了16个背景DB,通讯功能块会显示一个错误 ("STATUS = 1 (dec)").
举例:
如果使用的CP343-1支持最大的16 个S7连接, 那么一个PUT或一个GET任务可以在16个组态的S7连接中执行, 或者一个PUT和一个GET任务可以同时在8个组态的S7连接中执行。在这两种情况下,通过背板总线可以使用16个任务资源。
下面的条目ID提供了IE CPs相关可用S7连接数量的信息:
S7-300 IE CPs: 条目 ID 16767769
S7-400 IE CPs: 条目 ID 15368142
补救措施:
减少背景DB的个数或者使用一个背景DB用于多个通讯任务, 即通讯功能块的参数在程序运行时进行修改。
根据以上资料:是否是一个连接资源只能进行一个通讯任务?如果一个PUT和GET任务同时执行,这对连接资源是如何影响的?如果连接的不是CPU,比如连接的是一个OPC SERVER,那么连接资源和通讯任务是怎么定义的呢?
关于文中所说的减少背景DB的个数,意思应该不是仅仅是让你用多重背景调用吧?程序中倒是完全可以通过更改ID和R_ID的值来进行更多的通讯任务,但是这样通讯的实时性不是大打折扣了么?
很多东西,用倒是都用了,但具体的很多概念还是一塌糊涂,所以趁此机会,像各位大侠前辈请教。
业精于勤,行成于思