(已结贴)工控PLC擂台第94期-PLC如何采集系统时间 点击:3829 | 回复:16



玻璃的心

    
  • 精华:30帖
  • 求助:2帖
  • 帖子:984帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2013-03-23 16:39:09
楼主

       我们知道各家的PLC都能采集相应的系统时间,因此我们这期的擂台是,编写一个程序,用于采集系统时间,要求能在运行或仿真是显示出来,比如,用欧姆龙的PLC编写的,能在一定的数据区,如DM区,能在程序区宣示出来,比如D10000显示年,D10001显示月,D10002显示日,D10003显示时,D10004显示分,D10005显示秒等等(虽然在欧姆龙中有专门的A区指示时间,但是这里要求,时间用连续地址显示出来),又如西门子可以在MD100显示年,MD101显示月,MD102显示日,MD103显示时,MD104显示分,MD105显示秒;再如在罗克韦尔PLC中,B3:0显示年,B3:1显示月,B3:2显示日,B3:3显示时,B3:4显示分,B3:5显示秒;等等

       

PLC的类型任意选择,回答的最好最完全的,原创最多,阐述最详细,程序越准确者获一等奖!

 

工控PLC擂台每周一期,本期待93期结束一周后结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:50积分。 

MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。 

MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。

 




秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2013-03-23 19:06:34
1楼

我来个先:     

台达PLC系统时间问题:

1.      不是所有系列均支持万年历,台达手册上将小型PLC分了三大类,一类是EH/SV系列,一类是SA/SX/SC系列,一类是ES/EX/SS系列,只有前两类PLC支持万年历,后一类不支持。

    可以在WPLSoft 2.30编程环境下通过设置PLC机种,然后编写TRD读时钟指令看编译通过后能不能正常下载进PLC来验证该型号是否支持万年历。例如如下程序:

   

1

   编译后,下载,如果PLC机种不支持万年历,则会弹出如下提示:

2

同时出现“ERROR”指示灯亮,PLC不能正常工作。

注:

1)这一点我觉得WPLSoft 2.30编程环境不够给力,所选机种既然不支持万年历,指令就不应该正常编辑或者编译时应该报错,不要等到下载后才给出错误。

2)貌似第二代SS2也支持万年历,但是由于这个系列PLC没有电池供电,PLC电源断开后万年历就会丢失,觉得没有多大意义,完全是鸡肋。

对于支持万年历的EH/SV系列,由于有电池供给,PLC即使断电,内部时钟也会正常更新。

2.      对于支持万年历的EH/SV系列,存储秒分时日月星期年的特殊寄存器如下:

3

将图一程序下载进EH2,在连机的情况下设置PLC时钟。

编程软件中点击“设置”——“万年历设置”弹出如下对话框:

4

点击“设置”后,PLC中的时间日期就会更新成为联机PC的时间日期,此后PLC就会自动不断更新万年历(除非断电后电池没电)。当然也可以点击“重置RTC”,结果是将PLC中的时间恢复到出厂默认值:2000/01/01上午12:00:00 星期六。

设置PLC时间后监控截图如下:

5

可以看出PLC中的万年历完全开始自主执行起来了。

TRD D0指令执行结果是将PLC中储存的万年历数据传送到以D0开头的连续716寄存器中,即:D0-D6中。

这样我们可以在程序中随时利用D0-D6中的实时时间与设定的时间作比较完成与时间有关的逻辑。

 

需要注意的是TRD指令读出来的万年历是按我们的习惯年-星期-----秒顺序排序,对应存储在D0-D6,而内部特殊寄存器以上顺序对应的是D1319_D1313

 

 

再看一个西门子200实现的系统时间例子:

同样必须所选的CPU支持系统时间。

 

这样在VW10120、VW10122、VW10124、VW10126、VW10128、VW10130、VW1013分别储存的是年月日时分秒星期。

平常心心常平

  • [版主]
  • 精华:36帖
  • 求助:17帖
  • 帖子:958帖 | 3831回
  • 年度积分:0
  • 历史总积分:24794
  • 注册:2002年3月24日
发表于:2013-03-28 22:43:52
2楼

关于西门子300的读取系统时间

 

 

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-03-29 11:08:34
3楼

      S7-200PLC有系统时钟指令:READ_RTC 为读系统时钟指令,SET_RTC为写系统时间指令。其指令的EN 为使能输入端,执行命令。其端为时钟缓冲区的首地址,其后地址的T+1T+2、…T+7连续的8个字节皆为系统时钟的缓冲区,如设T =VB10,则VB11VB12……、VB17。皆为时钟缓冲区。其VB10为年的低二位数的存数区(其值=0~99),VB11为月的存数区(其值=1~12)VB12为日的存数区(其值=0~31),VB13为小时的存数区(其值=0~23)VB14为分的存数区(其值=0~59)VB15为秒的存数区(其值=0~59)VB16恒设=0VB17为星期几的存数区(其值=1~7)

   日期与时间值按BCD格式表示,按16进制查看时钟缓冲区得到的正确数据。要写一个程序,用于采集系统时间,要求能在运行或仿真是显示出来,必须先对PLC的时钟缓冲区设置正确的日期与时间值,下载后再编写读取系统日期与时间值的程序,这样程序运行时才可确保读取值正确日期与时间值。

   题目要求:读取的数据能在一定的数据区显示出来……又如西门子可以在MD100显示年,MD101显示月,MD102显示日,MD103显示时,MD104显示分,MD105显示秒;再如在罗克韦尔PLC中,B3:0显示年,B3:1显示月,B3:2显示日,B3:3显示时,B3:4显示分,B3:5显示秒;等等”我是用状态表进行日期与时间的显示的(见四 中的状态表)

下面即为编写的程序:

一、主程序:

 

   二、日期与时间设定子程序

  

 

    三、读取日期与时间子程序

 

     四、用状态表显示日期与时间值

程序说明:主程序用I0.1作为设定与读取日期、时间值的子程序的转换开关:当I0.1=1时(即将I0.1开关闭合),程序将执行SBR_0子程序:在网络2里先将日期与时间值置入对应字节里:VB10=16#13VB11=16#03VB12=16#28VB13=16#23VB14=16#10VB15=16#0VB16=16#0VB17=16#04,看准钟表,当时间值等于设定值时,按一下I0.0按钮,PLC立即将设定值存入对应存数区,系统时钟将按新的设定值运行。

I0.1开关断开(I0.1=0)程序将执行SBR_1子程序,即读取日期与时间:用秒脉冲SM0.5的前沿使READ_RTC指令使能,即每隔1秒读取一次日期与时间值,送入VB10~VB17里。再在状态表里填写VB10~VB17,格式为16进制,再按下状态标的监视图标,状态表中的当前值表格里将显示日期、时间的实时值(见四的状态表)

再有S7-200M存储器容量小,没有MD100MD101…地址,如想将日期、时间值在程序运行中显示,且显示区为双字存储器,可这样编程:下面仅编VB10与VB15二个字节数,先进行字节转换为字,再将BCD码转换为整数,整数再转换为双字整数就可以了。见下图:

   上面程序即为SBR_1的运行程序,其VB10(年)转换后的存数区为VD100,其显示值为“13,即表示2013年,而VB15(秒)转换后的存数区为VD104,其显示值为“36,即表示此时刻为36秒。其它值(月、日、时……)都可按此编程处理,即可不用状态表,直接在程序中观察。到此结束,谢谢。

 

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2013-03-29 12:33:21
4楼

南大傲拓PLC读取系统时间问题

其专用系统时间寄存器;可以传送到MW1开始的寄存器中!

如下图:

 

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2013-03-29 12:34:03
5楼

南大傲拓NA200,NA400都这样实现;比较方便!

--领域

  • 精华:8帖
  • 求助:80帖
  • 帖子:481帖 | 3926回
  • 年度积分:915
  • 历史总积分:140763
  • 注册:2008年2月29日
发表于:2013-03-29 21:05:07
6楼

LS 的K120S没有内置时钟,当使用RTC模块时,

1) 读取 RTC 数据  

(1)   KGLWIN中读取 RTC 数据  

 

-. 在菜单中选择Online Write Information – Set PLC Clock

 

 

(2)   从特殊寄存器中读取 RTC 数据

 

特殊寄存器()

描述

数据

(BCD 格式)

高字节

低字节

F053

年的低两位数字

H1303

F054

小时

H2921

F055

H0520

F056

年的高两位数字

星期

H2005

 

程序中编程如下:

广州@阿君—王者之师

  • [版主]
  • 精华:25帖
  • 求助:18帖
  • 帖子:503帖 | 6997回
  • 年度积分:0
  • 历史总积分:66772
  • 注册:2010年6月26日
发表于:2013-03-30 16:02:42
7楼

三菱FX系列PLC内部时钟寄存器如下:

D8019——星期*

D8018——年

D8017——月

D8016——日

D8015——时

D8014——分

D8013——秒

1、最近总是在论坛听坛友说怎么做催款程序(意思就是时间到了就定时停机,客户把钱给清了就恢复。。。大概就是这个意思!)

2、其实时钟锁。。。大概也是这个意思,时间到了程序自动天正运行@

3、下面就是我简单的用主控指令做的时钟锁。(通过比较指令=...当到达设定的年月日时分秒之后,把M1 置位。。。M1置位之后M1相应的常闭触点断开主控开关。。。在外部你还可以加一个按钮/或者是预留一个输入点可以把M1 复位。。。收完货款,你拿一根导线去把你之前预留输入点短接之后又正常运行了)

4、我之前在论坛发过一个帖子,用三菱FX系列PLC定时煮饭的。。。也是用内部时钟比较的这个原理!!!



广州@阿君—王者之师

  • [版主]
  • 精华:25帖
  • 求助:18帖
  • 帖子:503帖 | 6997回
  • 年度积分:0
  • 历史总积分:66772
  • 注册:2010年6月26日
发表于:2013-03-30 16:12:42
8楼

我的图片怎么那么小啊???????????????????

论坛的相片显示不清楚
太让人揪心了

。。。。。。。。。。。。。。


广州@阿君—王者之师

  • [版主]
  • 精华:25帖
  • 求助:18帖
  • 帖子:503帖 | 6997回
  • 年度积分:0
  • 历史总积分:66772
  • 注册:2010年6月26日
发表于:2013-03-30 16:16:12
9楼

唉!BUG呀。。。这就是论坛的BUG。。。。好好的图片给想事成这样???????


miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2013-03-30 20:17:40
10楼

我有写过一个300  的读取 系统 时间 子程序,用SCL 写的,填写好参数 直接可以设置系统时间,或者读取系统时间;

玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:984帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2013-05-02 21:07:53
11楼

一获等奖1名,50MP得者: 
wyb2866255---王者之师           wyb2866255 


二等奖5名,10MP获得者
秦君_1                                       qjj740210

平常心心常平                           chuansh5410

bhdxzgp                                     bhdxzgp

--领域                                    guai

王者之师——广州@阿君        chenshiji2006

三等奖1名,50积分获得者:
miy_gongkong                    miy_gongkong 

玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:984帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2013-05-02 21:10:28
12楼

本期擂台到此为止,欢迎大家继续参与我们以后各期擂台!

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2013-05-06 07:59:48
13楼

支持一下;这次中奖了啊!!!

qq171828464

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2013年5月07日
发表于:2013-05-07 23:20:25
14楼

学习中,,多谢大神指导,

huteng

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 266回
  • 年度积分:0
  • 历史总积分:139
  • 注册:2012年3月16日
发表于:2015-03-17 18:33:59
15楼

谢谢。。。。。。。。。。。。。

xu004512

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 16回
  • 年度积分:2
  • 历史总积分:15
  • 注册:2015年3月12日
发表于:2015-04-02 10:07:34
16楼

不是还没有欧姆龙的么


热门招聘
相关主题

官方公众号

智造工程师