西门子S7-1200 控制器是我们新推出产品的核心,可实现简单却高度精确的自动化任务。西门子S7-1200 控制器实现了模块化和紧凑型设计,功能强大、投资安全并且*适合各种应用。可扩展性强、灵活度高的设计,可实现标准工业通信的通信接口以及一整套强大的集成技术功能,使该控制器成为完整、全面的自动化解决方案的重要组成部分。
产品简介
详细介绍
北京西门子S7-1200模块(代理商)欢迎您
S7-300编程指令读写时钟和时钟同步的用法
STEP 7中有关时间、日期的数据类型
1. 类型
TIME:IEC time
S5TIME:SIMATIC time
DATE:IEC date
TIME_OF_DAY:time
DATE_AND_TIME:DT
2. 各数据类型占用字长、格式及范围如下:
表 1 时间数据类型
3. S5TIME (Time Duration) 的格式及访问
S5TIME是用BCD码保存的,在数据存储区占用两个连续的字节。下图给出的例子中时间值为127,时基为1秒。
图1 S5TIME的格式
当使用S5TIME时,定义数值的范围为0~999,而且要指明使用的时基。时基了时间单位。
S5TIME时基及相应的时间范围如下:
时基 | BCD码 | 时间范围 |
10 ms | 0 | 10 ms - 9 s 990 ms |
100 ms | 1 | 100 ms - 1 min 39 s 990 ms |
1 s | 10 | 1 s - 16 min 39 s |
10 s | 11 | 10 s - 2 hr 46 min 30 s |
表2 S5TIME 时基
4. 定义时间值的两种方式:
1.W#16#wxyz
w = 时基 (即时间间隔或精度)
xyz = BCD格式的时间值
这种方式只能用于STL编程。
2.S5T#aH_bbM_ccS_dddMS
a = 小时, bb = 分钟, cc = 秒, dd = 毫秒
这种情况下时基自动选择, 数值为该时基下取整去尾到下一个较低值。
您可以输入的大值为9,990 秒,或2H_46M_30S。
如何S5Time和Time相互转换?
系统时间
如何设置系统时间?
Manager页面下,菜单栏PLC---诊断/设置---设置时钟(需要联机状态下操作)
图2 设置时钟1
图3 设置时钟2
勾选"来自PG/PC",点击应用。即可将PC端的时钟同步到PLC。(PC端时钟先要设置好)
S7-300计数器的使用
1. 概述
SIMATIC S7- 300 有2种类型的计数器,一个是COUNTER类型,另一个是IEC_TC类型。
STEP 7将 COUNTER 以二进制数字存储在字(16位)中。下图1给出该参数类型的格式,输入格式:C#xx,显示的数据是 BCD 码格式。
图 1Counter格式
2. 在Step7中使用计数器
2.1 在Step7中使用COUNTER计数器
在Step7中,如图2所示,举例,从计数器指令库拖拽指令 S_CUD(双向计数器)放入程序段中,给管脚填写相关参数。
图 2 Step7添加COUNTER计数器指令
S_CUD 指令管脚参数如下表1。
参数 | 数据类型 | 存储区 | 描述 |
C编号 | COUNTER | C | 计数器标识号;其范围依赖于CPU |
CU | BOOL | I、Q、M、L、D | 升值计数输入 |
CD | BOOL | I、Q、M、L、D | 降值计数输入 |
S | BOOL | I、Q、M、L、D | 为预设计数器设置输入 |
PV | WORD | I、Q、M、L、D 或常数 | 将计数器值以"C#<值>"的格式输入(范围0至999) |
R | BOOL | I、Q、M、L、D | 复位输入 |
CV | WORD | I、Q、M、L、D | 当前计数器值,十六进制数字 |
CV_BCD | WORD | I、Q、M、L、D | 当前计数器值,BCD码 |
Q | BOOL | I、Q、M、L、D | 计数器状态 |
表 1 S_CUD的管脚参数说明
给指令的 S 管脚发脉冲,将预设值 PV 传到 C0、CV和CV_BCD 中。给 CU 管脚发脉冲进行增计数,给 CD 管脚发脉冲进行减计数,CV 以十进制记录当前计数器值。如图3所示
图 3执行计数器C0工作
2.2 Step7中使用IEC_TC计数器
IEC _TC计数器一共有3种(SFB0、SFB1、SFB2),如图4所示。拖拽指令SFB2 放入程序段中,给管脚填写相关参数。
图 4 Step7添加IEC_TC计数器指令
SFB2 功能块管脚参数如下表2。
参数 | 声明 | 数据类型 | 存储区 | 描述 |
CU | INPUT | BOOL | I、Q、M、D、L、 常数 | 递增计数输入。 |
CD | INPUT | BOOL | I、Q、M、D、L、 常数 | 降值计数输入 |
R | INPUT | BOOL | I、Q、M、D、L、 常数 | 重置输入。R优先于LOAD。 |
LOAD | INPUT | BOOL | I、Q、M、D、L、 常数 | 加载输入。LOAD优先于CU 和CD。 |
PV | INPUT | INT | I、Q、M、D、L、 常数 | 预设值。LOAD输入的信号级别为1时,将把 计数器设置为 预设值PV。 |
QU | OUTPUT | BOOL | I、Q、M、D、L | 递增计数器的状态:QU具有下列值:1,如果CV >PV 0,其它情况 |
QD | OUTPUT | BOOL | I、Q、M、D、L | 递减计数器的状态:QD具有下列值: 1,如果CV < 0 0,其它情况 |
CV | OUTPUT | INT | I、Q、M、D、L | 当前计数值 (允许值:-32 768到32 767) |
表 2 SFB2 的管脚参数说明
下载程序,给LOAD (M200.4) 发送脉冲,将预设值 PV 传到 CV (MW202) 中。给 CU (M200.0)管脚发脉冲进行增计数,给 CD (M200.1)管脚发脉冲进行减计数,CV (MW202)以十进制记录当前计数器值。如图5所示。
图 5执行定时器SFB2工作
3. 在TIA Step7中使用计数器
3.1 TIA Step7中使用COUNTER计数器
在TIA Step7中,如图6所示,举例,从计数器操作指令库拖拽指令 S_ODTS放入程序段中,给管脚填写相关参数。
图 6 TIA Step7添加COUNTER计数器指令
该使用操作与Step7中的一样,这里就不再过多赘述。
3.2 TIA Step7中使用IEC_TC计数器
如图7所示,TIA Step7 中的 CTUD 与 Step7 的 SFB2 稍有不同,没有管脚 EN 和 ENO。但是管脚使用操作与Step7中的也是一样,这里就不再过多赘述。
图 7 TIA Step7添加IEC计数器指令