技术论坛

 CP1616/CP1604/CP5613的一些思考

返回主题列表
作者 主题
逛一逛
游民

经验值:63
发帖数:1
精华帖:1
楼主    2020-04-14 11:56:37
主题:CP1616/CP1604/CP5613的一些思考 精华帖 

    做了多年的自动控制,多少有一点心得,随着智能从站技术的发展,尤其是以太接口带智能的伺服,步进,AI,AO投入市场,传统的PLC的应用空间会越来越受到挤压,而这些功能是传统PLC曾经无法被替代的强项。

    既然这些都是以太网了,能直接到PC了,作为PC中间层的PLC层还有多大的价值呢?

    最近做一个项目,需要多个V90,多个PLC,一般的想法是PLC带V90,信息再送给PC,基于前面的原因,V90这些都是以太接口了,为什么要通过PLC转一次?PC和PLC之间TCP通信实时性和可靠性也不能得到保证,多方考虑之后,选择PC+CP1616/1604直接带V90,和200smart,采用PN协议,最后取得成功。

    项目做完瞬间觉得,传统PLC的逻辑控制、运动控制、模拟量处理等似乎都不需要了,有实时以太网PN加成,直接PN到PC,PC机强大的运算能力处理这些信息轻松+愉快,应付一般的实时性的需求暂没有什么问题。可能有人要说,PC机操作系统就不是实时的,怎么做到实时性?

    其实,windows是以时间片为单位进行任务调度,windows xp分配的时间片为15毫秒(测试结果,纯猜测,没有官方具体数据),但是小任务根本不需要运行那么长时间,就会提前把控制权交给调度器。 对于多核,通常使用一个内核或高优先级后台线程一直在运行while循环,也可能不会被打断,因为还有其他核去执行其他任务。 

    PN通讯中RT响应时间基本上在10ms左右,也就是说PLC使用RT方式控制V90,响应时间不可能低于10ms,通过仔细研读111报文,PLC端的SINAPOS/FB284函数实际上就是对111报文的再封装,使用过的人都知道,PLC控制V90需要好几步,一次把所有的参数及命令送出去,一个RT周期内,V90是不会响应的。IRT还没有测试过。

    这样,设置高优先级的后台线程,合理限制CPU负荷量(一般控制在10%以下,对于I5/I7非常轻松),后台线程逻辑处理完之后,输入输出结果交给底层RT通讯(这个过程和windows时间片调度是并行的),下一个时间片线程重新有效,又开始循环处理,对时序要求不是特别苛刻的系统是能够满足使用要求的。

    如果实实在在不放心,SIEMENS还有获得微软授权的实时内核,一般配合WINAC使用,成本就上去了,一般的应用场景windows足够了。

    PN的RT周期一般在10ms左右,而西门子的DP周期(CP5613)也是10ms,1616/1604的操作方法和5613的操作方法非常类似,强烈认为,PN就是换了以太网马甲的DP!

    这样PC+CP1616/1604+V90+分布式IO,真没PLC什么事了。

    一点感想,不一定正确,欢迎探讨!


post_jingbian_commit.aspx
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。