西门子S7-1500中国授权供货商
随着多种8位微处理器的相继问世,PLC技术产生了飞跃发展。在逻辑运算功能的基础上,增加了数值运算、闭环调节功能,提高了运算速度,扩大了输入/输出规模。该阶段的代表产品有Modicon公司的,西门子公司的SYMATICS3系列,富士电机公司的SC系列等。
控制从编程器、上位计算机和其它外部设备键入的用户程序数据的接收和存储。用扫描方式通过输入单元接收现场输入信号,并存入指定的映像寄存器或数据寄存器。存储器PLC中存储器的功能与普通微机系统的存储器的结构类似,它由系统程序存储器和用户程序存储器等部分构成。
它可采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的命令,并通过数字式、模拟式的输入和输出,控制各种类型的机械和生产过程。PLC及其有关设备,都应以易于与工业控制系统联成一个整体,易于扩充功能的原则而设计"。
:200系列,3:300系列,4:400系列要想做好大型工程,还需要你对结构化编程思想、上位机软件、现场总线调试、工控网络、第三方设备集成都要熟练运用。Smart是在200的基础上进行了升级,从名字就看的出来,增加了些现在流行的借口,进行了些升级。
添加 Clock_Integer 指令库
Clock_Integer 指令库
点击上面的链接下载 Clock_Integer 指令库到本地计算机硬盘,建议保存在 Micro/WIN 安装目录的 Lib 文件夹中。以下是一个完整路径的例子:
然后将指令库库手动添加到 Micro/WIN 软件中。
参见添加指令库。
成功添加指令库后,用户可以在STEP7 Micro/win的指令树中找到‘Clock_Integer (v1.0)'
Clock_Integer 库
Clock_Integer 指令库编程应用 - 读取系统时钟
1、调用 READ_RTC_I,读取 PLC 时钟 ,并将其转换为十进制整数格式 :
READ_RTC_I
READ_RTC_I参数
参数 数据类型 注释
EN BOOL 信号为‘1’时激活库指令
Address DWORD 起始偏移地址,转换为十进制格式的 PLC 时钟被保存在以此地址为起始地址的 8 个字节中
2、分配库存储区:
调用指令 READ_RTC_I 或 SET_RTC_I 后,必须定义 8 位(一个字节)的 V 存储区为库存储区。
参考:分配库指令数据区
字节时间缓冲区的格式
Address 年
Address+1
月
Address+2 日
Address+3 小时
Address+4 分钟
Address+5 秒
Address+6 保留
Address+7 星期(1)
(1) 1 = 星期天;7 = 星期日;0 = 禁止星期
当 V50.0 为 ‘1’ 时,转换后的实时时钟被存储在 VB10 至 VB17 中。
在状态表中用户可以看到:
图状态表
可以看出,此时的 PLC 时钟为: 2006 年 4 月 6 日,23 时 48 分 1 秒,星期四。
注意:此指令库读取的整数格式时钟数据以连续字节的形式保存,而后续的整数运算需要一个字(两个字节)长度的数据。编程时要注意这一点。
Clock_Integer 指令库编程应用 - 设置系统时钟
1、调用 SET_RTC_I,将以十进制整数格式存储的日期时间设定为 PLC 时钟
SET_RTC_I
参数 数据类型 注释
Address DWORD 起始偏移地址,以此地址为起始地址的 8 个字节中,应已经存储着用户时间数据
SET_RTC_I 参数
8 字节时间缓冲区的格式同表 2。
调用指令 READ_RTC_I 或 SET_RTC_I 后,必须定义 8 位(一个字节)的 V 存储区为库存储区。
参考:分配库指令数据区
Clock_Integer 指令库应用例程
Clock_Integer 指令库例子程序
注意:该例程必须使用 Micro/WIN V4.0 SP3 或以上版本软件打开。
此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。
CPU221、CPU222 没有内置的实时时钟,需要外插“时钟/电池卡”才能获得此功能。
只有 STEP7 Micro/Win V2+SP4 和 V4.0 版本才支持使用该指令库。
在使用 ‘SET_RTC_I’ 设定 PLC 时钟时,被设定的时间必须有实际意义,否则设定操作不能成功完成。例如: 不能将月份设为 13,或者将分钟设为 61 等。
Address 端必须输入地址指针,如:&VB10,&VB20;或者为双字地址,如:VD100,MD10,AC0等,在该地址中存有地址。
常问问题:
Clock_Integer 指令库和 Micro/WIN 指令树中的读、写实时时钟指令有什么不同?
Clock_Integer 指令库读出或写入的 PLC 时钟是以十进制整数格式存储;而读、写实时时钟指令读出或写入的 PLC 时钟为 BCD 码格式。
S7-200的实时时钟
S7-200的硬件实时时钟可以提供年、月、时、分、秒的日期/时间数据。
CPU221、CPU222没有内置的实时时钟,需要外插“时钟/电池卡”才能获得此功能。CPU224、CPU226和CPU226 XM都有内置的实时时钟。
S7-200的时钟精度典型值是2分钟/月(25°C),Z大误差7分钟/月(0 - 55°C)。
为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的Z小时间单位是1秒,可每秒读取一次(使用SM0.5上升沿触发读取指令)。
使用程序读取的实时时钟数据为BCD格式,可在状态图中使用十六进制格式查看。
CPU靠内置超级电容(+外插电池卡)在失去供电后为实时时钟提供电源缓冲;缓冲电源放电完毕后,再次上电后时钟将停止在缺省值,并不开始走动。
要设置日期、时间值,使之开始走动,可以:
用编程软件(Micro/WIN)的菜单命令PLC > Time of Day Clock...,通过与CPU的在线连接设置,完成后时钟开始走动
编用户程序使用Set_RTC(设置时钟)指令设置
Micro/WIN可以通过任何编程连接实现实时时钟的设置。