您好!欢迎光临工博士商城

西门子PLC|西门子变频器专卖

产品:586    
联系我们
您当前的位置:首页 » 新闻中心 » 案例】如何使用PLC或者触摸屏,自动计算时钟的时间差?
产品分类
新闻中心
案例】如何使用PLC或者触摸屏,自动计算时钟的时间差?
发布时间:2023-10-24        浏览次数:111        返回列表
 有一种染色助剂调配好后的有效期是72个钟,超过72小时需要提示报警做报废处理。

操作就是人工调配好后,在触摸屏上按下开始,然后PLC或者触摸屏自动计算。考虑到放假时停电关机,所以用计时器累计行不通,只能用实时时钟做减法,这样就算中途停电也不影响。

大概思路时,工人调配好后,按一个键记录下当前的实际时钟,然后隔一段时间调出***新时间与前面的时间相减即可。我想用威纶通触摸屏的宏指令做,上网搜了一下,没看到有专门的函数,只能自己写程序判断这就麻烦了,要判断闰年(2月是28天还是29天)、月大(31天)、月小(30天)
大家有什么好的想法和建议呢?

你的问题有点问题

【考虑到放假时停电关机】~如果放假超过72个钟(是小时?)啥方法都难实现,除非有值班的那就用一个用电池的独立定时器。
抛开放假停机可能产生的问题
可以这样~交给PLC来做
触摸屏启动按键开始记录,同时修正PLC时钟(PLC时钟误差太大)
PLC里就简单了~就怕所用PLC没有时钟或没有时钟运算指令
就算放假时长超过72小时,那么来上班通电时也会马上报警提醒,工人报废处理不用就可以了。

important; overflow-wrap: break-word !important;">我这个PLC是信捷XC3的,带有时钟功能,问题是也很麻烦,月大、月小这些也都要考虑。

10.27
西门子***论坛有一个是计算天数的

important; overflow-wrap: break-word !important;">//计算两个年份之间的天数。只计算完整一年这部分。
//基本好像可以。。。。。
if year1+1>=year2 then    //没有完整的一年,不参与计算
else
for i=year1+1 to year2-1
 if i%4==0 then
  sum=sum+366    //闰年算366日
 else
  sum=sum+365    //平年算365日
 end if
next i
end if
//计算两个月份之间的天数
if (year1==year2)&(month1+1>=month2) then   //年相同,月之间没有完整月,就不需要计算什么。
else     //否则就出现后面两种情况……
if year1==year2 then   //这是***种情况,年相等,直接计算。
 if year1%4==0 then   //闰年了
  mon[1]=29
 else
  mon[1]=28
 end if
 for i=month1 to month2-2 //从当前月的下一个月起,累加,到结束之前的一个月。
 sum=sum+mon[i]
 next i
else       //这是第二种情况,年不相等,分两段计算月。

 //1 2 3 4 5 6 7 8 9 10 11 12
 //1 2 3 4 5 6 7 8 9 10 11 12
 if month1<>12 then   //计算前段不足一年的月数的天数。
  if year1%4==0 then   //闰年了
   mon[1]=29
  else
   mon[1]=28
  end if
  for i=month1 to 11
   sum=sum+mon[i]
  next i
 end if
 if month2<>1 then   //计算后段不足一年的月数的天数。
  if year2%4==0 then   //闰年了
   mon[1]=29
  else
   mon[1]=28
  end if
  for i=0 to month2-2
   sum=sum+mon[i]
  next i
 end if
end if
end if
//计算两个日期之间的天数
if (year1==year2)&(month1==month2) then
sum=day2-day1
else
if year1%4==0 then
 mon[1]=29
else
 mon[1]=28
end if
i=month1-1
sum=mon[i]-day1+day2+sum
end if
你不需要看代码,只需要看文字解释就可以大概地了解这个计算日子的过程。就要这么多的过程。
10.27
10.27

10.27




 

联系热线:13397493317   联系人:刘芳香 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 西门子PLC|西门子变频器专卖