您现在所在的是:

PLC论坛

回帖:5个,阅读:1556 [上一页] [1] [下一页]
908
458240355
文章数:32
年度积分:50
历史总积分:908
注册时间:2013/8/19
发站内信
发表于:2013/12/13 14:32:30
#0楼
用西门子300PLC,想利用堆栈做延时,谁有例子程序,求指导~
2334
东昌机电
文章数:643
年度积分:50
历史总积分:2334
注册时间:2013/9/13
发站内信
工控人谈电商
发表于:2013/12/13 16:22:26
#1楼
實在想不出堆棧如何做延時……你確認你要實現的功能是使用堆棧完成?而不是使用定時器或者時鐘脈衝或時鐘來完成?

Regards
SANKA电机
1012
yunpofeng
文章数:107
年度积分:50
历史总积分:1012
注册时间:2013/9/12
发站内信
发表于:2013/12/13 17:35:59
#2楼
因为PLC的内存是有限的,所以存储的数据量也是有限的,上位机也是不可以永远不开的。首先根据数据采集的周期以及PLC可用数据区的大小来决定上位机允许不开机的最长间隔时间,然后做个循环缓冲区。 比如保存1个数据记录(Word类型),加上时间戳(DWORD类型),数据共占3个WORD。假设1小时保存1次,那么1天的数据量就是24*3=72WORD,1个月按31天算也就2232WORD。如果上位机每月开1次,那么你的数据区就至少定义2232WORD。如果数据区存满,则将最早的记录覆盖掉。定义1个指针就可以实现。 上位机开机后,把整个数据区全部读出,然后根据事先定义好的数据结构进行解码就可以了。
37991
cvlsam 版主
文章数:12477
年度积分:602
历史总积分:37991
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2013/12/13 20:43:14
#3楼
以下是引用yunpofeng2013/12/13 17:35:59的发言:
因为PLC的内存是有限的,所以存储的数据量也是有限的,上位机也是不可以永远不开的。首先根据数据采集的周期以及PLC可用数据区的大小来决定上位机允许不开机的最长间隔时间,然后做个循环缓冲区。 比如保存1个数据记录(Word类型),加上时间戳(DWORD类型),数据共占3个WORD。假设1小时保存1次,那么1天的数据量就是24*3=72WORD,1个月按31天算也就2232WORD。如果上位机每月开1次,那么你的数据区就至少定义2232WORD。如果数据区存满,则将最早的记录覆盖掉。定义1个指针就可以实现。 上位机开机后,把整个数据区全部读出,然后根据事先定义好的数据结构进行解码就可以了。

这貌似在解释堆栈而不是在解释如何延时。

Good Luck~
3006
joneswang00
文章数:236
年度积分:50
历史总积分:3006
注册时间:2007/9/30
发站内信
发表于:2013/12/13 21:06:51
#4楼
明明可以用简单指令搞定的功能,最好不要用复杂指令,
耗时不说,
如果是新手,程序的可靠性很重要
The worst choice you can make is no choice at all.
5693
cadmeister
文章数:3661
年度积分:50
历史总积分:5693
注册时间:2012/1/6
发站内信
发表于:2013/12/13 21:13:17
#5楼
最好自己做,下次不求人

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

78.0005