恭喜,你发布的帖子
发布于 2021-10-07 16:03:20
2楼
300和200进行DP通信,现在想要读取200系统下取料机的卸料信号和循环次数信号,并且把卸料信号做一个累积,在每月20号时进行自动清零。
////////////////////////////////////////////////////////////////////////////////////////////////////////////
第一 记录 卸料次数和循环次数 并每个月20日清零 然后开始新的统计 (当然也可以数据记录并存储每个月的卸料次数 例如1月----12 月 设置 也可以按照年去统计 根据情况而定。
第二 也可以按照次数去统计 时间, 例如设定 10000次 则记录10000次的发生时间,然后清零
两者区别不大,一个是统计次数,一个记录时间。 最终计算的是工作负荷率和效率。
按照你的要求,二可以不用考虑。
下来就是 循环处理 同理 卸料次数。
读取 来自200的卸料次数 ( BOOL 量) 每个上升沿发送数据到300PLC 那就有一个小BUG ,看是否需要考虑一下,当出现通讯故障时 ,是停机操作还是 正产生产但不统计次数,需要做一个心跳检测,当通讯故障时,在画面上或者指示灯 做出显示。
(*******当然我的做法:既然卸料等的动作是在200里完成,为何不再200里累计次数,然后发送给300一个 INT 型数据,显示并存储。 甚至都不需要300PLC 的,WINCC 与200通讯也可以的。
**************************************************************)
然后读取时间, 注意PLC 系统时间 与我们日常时间会有不同。(非连续生产制 以及如果PLC 断电,停机等等因素,可能造成系统时间与我们日常时间不同。)
方案1.所以周期性的刷新时间 考虑到你用了WINCC 则可以通过VB动作读取计算机的时间,然后通过SFC0 定期去写入PLC .
方案2 ,读取WINCC 电脑的时间发送到PLC 内 ,这样不用考虑PLC 断电停机等等干扰时间的因素
1+2 结合使用 当 1和2都正常 ,用2的时间,当 2 不正常 从新上电后,用1 刷一次2的时间。然后用2 ,或者直接用1的时间。
此条的目的是保证系统时间与实际时间没有差异。
基本按照你那张纸的操作。将累计数据记录并存储(WINCC 可以归档变量的),你都可以打印出表格。数据存储分为上月和本月,对比 日 时 分 秒 。
如果是连续工作制,你可以将 300和200同时累积,然后时间到对比累积值。
按照逻辑该清零 就清零,该初始化就初始化。
思路基本这个思路。
请填写推广理由:
分享
只看
楼主