西门子PLC读取和设定系统时钟

西门子PLC读取和设定系统时钟
西门子PLC读取和设定系统时钟

系统时钟在使用西门子的系统中经常使用到,大家应该认真的掌握!在这里老鬼就简单的给大家介绍一下系统时钟的读取和设定方法!

1、系统硬件配置!【实验环境】

2、设定PLC CPU的当前时间方法1

3、设定PLC CPU的当前时间方法2

4、设定PLC CPU的当前时间

5、在DB块中定义DAT数据类型,用于存储当前CPU时钟。

6、调用系统功能SFC0和SFC1来对时钟进行设定和读取。

7、在变量表中对读取的时间进行监控,当前时间为2012-11-28 16:02:42

时间的读与写

西门子S7 指令表

西门子S7-200 PLC指令学习(1) S7-200系列的基本逻辑指令 S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。 表 S7-200系列的基本逻辑指令 S7-200系列PLC的比较指令 在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。当满足比较等式,则该触点闭合。 与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。 若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令: >、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。 比如:①(30007)>(40030) ②(30007)=(40030) ③(30007)<(40030) ①+②(30007)≥ ②+③(30007)≤(40030) ①+③(30007)<>(40030) S7-200系列PLC的定时器指令 类型、编号及分辨率 TON——接通延时 TONR——有记忆接通延时 TOF——断开延时

3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号 定时器6个要素: 指令格式(时基、编号等)预置值——PT 使能——IN 复位——3种定时器不同 当前值——Txxx 定时器状态(位)——可由触点显示 定时值=时基×预置值PT。由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。例如:使用10ms时基定时器实现140ms延时(时间间隔),则PT应设置为15(10ms×15=150ms)。 2)功能 (1)接通延时定时器TON——一般用于单一时间间隔的定时 指令格式:见图,编号与分辨率及定时器类型有关。(见教材P221:Fig8-3-3a) 使能:——IN:I2.0 =“1” 当前值——T33,当在线(Online)时,此处显示当前值 预置值——PT=3,即定时时间=10ms×3=30ms 复位——IN:I2.0 = “0” 定时器状态(位)——“1”或“0” 与MODICON PLC的定时器指令对照: 区别:对MODICON PLC,当10001=“0” ,10002=“1”时,定时器当前值保持;当计时时间到,即(40040)= 30时,只要10002=“1”,定时器也是保持 对S7-200 PLC,只要I0.0=“1”,即计时,当T33当前值=3时,定时器继续计时,直至I0.0=“0”,定时器复位(相当于10002=“0” ) (1)断开延时定时器TOF——一般用于故障时间后的时间延时

西门子LOGO!周定时器指令简介

西门子LOGO!周定时器指令简介 西门子LOGO!系列是小型自动化系统解决方案,它不仅外观小巧,经济实惠,而且用户易于上手,操作简单方便。西门子LOGO!系列相当于填补了继电器与西门子PLC之间的技术空间,它通过集成了8种基本功能和30多种特殊功能,可以代替开关设备,时间继电器,接触器等。西门子LOGO!有很强的电磁兼容性,完全符合工业标准,能够适用于各种气候条件。本文下面对西门子LOGO!的周定时器指令做一个介绍,供用户在调试过程中进行参考。 西门子LOGO!主机模块有多种类型,它们集成了多种特色指令供用户使用。本文下面以西门子LOGO!的周定时器指令为例,说明它的用法: 1. 周定时器用来实现最大循环周期为一周的定时任务,也可以用来实现按天循环的定时任务; 2. 只有具有内部实时时钟的西门子LOGO!模块支持这个特殊功能块; 3. 每个周定时器实际上是由三个独立的星期-日定时器复合而成。每个星期-日定时器可以设置一个“开/关”时间段,独立对一星期内的某天起作用。因此一周内的每天可以设置三个“开/关”时间段,或者说,每一时刻的输出状态可以受到最多三个时间段设定条件的约束;

4. 三个星期-日定时器输出的综合就是周定时器功能块的输出。一般情况下,综合输出是三个时间段设置的逻辑“或”的结果;但如果三个时间段的设置有冲突,比如一个时间段设置为“ON”而另一个设置为“OFF”,它们之间按号码的大小为优先级别排队,即3优先于2,2优先于1; 5. 每个时间段的设置包括一个起始时间,一个终止时间。它们可以单独设置,可以只有起始时间,也可以只有终止时间,没有任何设置说明此时间段没有起作用; 6. 如果需要设置一整天,只需要将起始时间激活并定时在零点,即00:00,而不设置终止时间;如果需要跨天设置,首日和终日只需单独设置起始和终止时间。 用户可以根据项目的需求对西门子LOGO!模块进行合理的搭配和使用,并通过西门子LOGO!编程软件将程序逻辑进行编程组态和下载。西门子LOGO!的周定时器指令的使用方法在本文中有了一个说明,用户可以在编程和调试过程中参照进行使用。

S7300在HMI中读写时钟

怎样在HMI 中读、写PLC 系统时钟 (以西门子的TP177B 和S7-300为例) 一. 1.先在STEP7中按步骤新建一个工程,并硬件组态。如图: 2.插入一个功能,命名为FC1; 3.新建一个共享DB1,打开DB1,新建2个变量,如图: 4.打开“视图”选中“数据视图”,打开“编辑”选中“初始化数据块”保存后退出。在FC1中按如下编写程序,保存后退出。如图: 5.打开OB1调用FC1。程序编写完成。 二.STEP7项目目录下,插入一个HMI 站,屏类型选择TP177B,并打开winccflexible2008,组态界面。 1. 新建一个连接,如图: 2. 新建变量,如图:

3.新建一个画面,命名为“显示时钟” 在该画面下拖放一个“日期时间域”, “常规”条目下,类型为:输出;过程:使用变量,变量则指向刚刚在“变量”下组态好的“显示时钟”。 在该画面中再组态一个按钮,作为画面切换用,我们需要用这个按钮切换到“修改时钟”的画面。按钮事件为:单击下,函数:ActivateScreen(修改时钟的画面应该在组态该按钮之前完成,这里为叙述方便,将组态“修改时钟”画面放在下面讲) 显示时钟画面组态完成。 4.组态“修改时钟”画面,这里是全文的重点。 时间修改域,这里将其组态为“IO域”,如图:

这个“确认修改”的按钮较特殊些,它连接2个事件,每个事件连接1个函数,也就是说,该按钮按下后,实现2个动作,一是将程序中的M0.0置位一个周期,将DB1.DBB8开始的8个字节(保存的是将要写入PLC时钟的数据)通过SFC0写入PLC;二是离开“修改时钟”的画面,回到“显示时钟”的画面。 在这里可以看到,“修改时钟”是一个单独的画面,用“显示时钟”画面中的“修改时钟”按钮激活,修改时钟后用“确认修改”按钮,写入PLC的同时回到“显示时钟”的画面下。 按钮的事件见下图: ○1单击事件: ○2按下事件: 至此,一个完整的读、写PLC时钟的方案完成。 三.还有一种方式能读到PLC的时间,就是用PLC的时间来同步HMI时间,方法是在WINCCFLEXIBLE中,连接条目下,选择“区域指针”,见下图: 之后在时钟显示画面中拖放一个“日期时间域”,“常规”条目设置见下图: 用这种方式修改PLC的时间就要在PC/PG上进行了。

西门子PLC程序中常用的几个指令介绍

西门子PLC程序中常用的几个指令介绍 西门子PLC程序中常用的几个指令介绍 1、串联电路块的并联连接指令OLD 两个或两个以上的接点串联连接的电路叫串联电路块。串联电路块并联连接时,分支开始用LD、LDN指令,分支结束用OLD指令。OLD指令与后述的ALD指令均为无目标元件指令,而两条无目标元件指令的步长都为一个程序步。OLD有时也简称或块指令。 2、并联电路的串联连接指令ALD 两个或两个以上接点并联电路称为并联电路块,分支电路并联电路块与前面电路串联连接时,使用ALD指令。分支的起点用LD、LDN 指令,并联电路结束后,使用ALD指令与前面电路串联。ALD指令也简称与块指令,ALD也是无操作目标元件,是一个程序步指令。 3、输出指令= 1、= 输出指令是将继电器、定时器、计数器等的线圈与梯形图右边的母线直接连接,线圈的右边不允许有触点,在编程中,触点以重复使用,且类型和数量不受限制。

4、置位与复位指令S、R S为置位指令,使动作保持;R为复位指令,使操作保持复位。从指定的位置开始的N个点的寄存器都被置位或复位,N=1~255如果被指定复位的是定时器位或计数器位,将清除定时器或计数器的当前值。 5、跳变触点EU,ED 正跳变触点检测到一次正跳变(触点的入信号由0到1)时,或负跳变触点检测到一次负跳变(触点的入信号由1到0)时,触点接通到一个扫描周期.正/负跳变的符号为EU和ED,他们没有操作数,触点符号中间的”P”和”N”分别表示正跳变和负跳变 6、空操作指令NOP NOP指令是一条无动作、无目标元件的一个序步指令。空操作指令使该步序为空操作。用NOP指令可替代已写入指令,可以改变电路。在程序中加入NOP指令,在改动或追加程序时可以减少步序号的改变。

西门子300PLC如何利用OB1的临时变量读取CPU系统时钟(精)

如何用SFC0和SFC1来设置和读取时钟,今天就和大家说一说。 首先Date_And_Time是一复杂数据类型,包含8个字节,Byte0-Byte7对应年、月、日、时、分、秒、毫秒、星期,对应关系如下表所示: Byte6和Byte7的高4位组合成毫秒,格式是BCD码,Byte6是高位,Byte7是低位 我们可以在DB块里定义time1和time2变量,数据类型是DATE_AND_TIME,如下图: 在符号表中定义DB1的符号名为system-time,如下图: 然后调用SFC0和SFC1就可以了,大家可以参考下面的程序(可以将程序拷贝到Step7中,然后可以转成梯形图程序),具体使用时间时可以直接寻址DB1.DBB0 –年……DB1.DBB7(低4位) –星期,DB1.DBB8 –年……DB1.DBB15(低4位) –星期。

OB1:"Main Program Sweep (Cycle)" Network1: A M 10.0 JNB _001 CALL SFC 0 PDT :="system-time".time1 RET_V AL:=MW100 _001: NOP 0 Network2: CALL "READ_CLK" RET_V AL:=MW102 CDT :="system-time".time2 NOP 0 如果对时间误差的要求到分就可以,所以推荐一种简单的方法,不知大家之前用过没有,就是使用OB1的临时变量OB1_DA TE_TIME(在OB1的Interface –TEMP中可以找到),此变量也是DATE_AND_TIME 的数据类型,对应的临时变量地址是LB12 –LB19,同样对应年–星期,符合上面表格中的结构,我们只需要使用Move指令就可以得到PLC的系统时间了。 例如我们可以将LD12 Move 到MD0、LD16 Move 到MD4中,然后在程序中寻址MB0 –MB7就可以了。您可以参考下面的程序(可以将程序拷贝到Step7中,然后可以转成梯形图程序)。需要注意,OB1临时变量读出的时间会受OB1扫描周期的影响,例如OB1扫描周期是15ms左右,那么从OB1中读出的时间精度应该就是15ms左右。 OB1:"Main Program Sweep (Cycle)" Network1:

相关文档
最新文档