6ES7212-1HE40-0XB0
  • 6ES7212-1HE40-0XB0
  • 6ES7212-1HE40-0XB0
  • 6ES7212-1HE40-0XB0

产品描述

产品规格模块式包装说明全新产地德国 品牌西门子 数量9999

6ES7212-1HE40-0XB0

S7 1200 的USS库
USS_DRV 功能块是S7-1200 USS通信的主体功能块,接受变频器的信息和控制变频器的指令都是通过这个功能快来完成的。必须在主 OB中调用,不能在循环中断OB中调用。
USS_PORT功能块是S7-1200与变频器USS通信的接口,主要设置通信的接口参数。可在主OB或中断OB中调用。
USS_RPM功能块是通过USS通信读取变频器的参数。必须在主 OB中调用,不能在循环中断OB中调用。
USS_WPM功能块是通过USS通信设置变频器的参数。必须在主 OB中调用,不能在循环中断OB中调用。
这些功能块与变频器之间的控制关系如下图所示:
USS 通信功能块与变频器的控制关系
USS_DRV功能块通过USS_DRV_DB数据块实现与USS_PORT功能块的数据接收与传送,而USS_PORT功能块是S7-1200 PLC CM1241 RS485模块与变频器之间的通信接口。USS_RPM功能块和USS_WPM功能块与变频器的通信与USS_DRV功能块的通信方式是相同的。
每个S7-1200 CPU多可带3个通信模块,而每个CM1241 RS485通信模块多支持16个变频器。因此用户在一个S7-1200 CPU中多可建立3个USS网络,而每个USS网络多支持16个变频器,总共多支持48个USS变频器。
5. 2 S7 1200 PLC进行USS通信的编程
1.USS通信接口参数功能块的编程
USS通信接口参数功能块的编程如下图所示。
USS通信接口参数功能块的编程
USS_PORT功能块用来处理USS网络上的通信,它是S71200 CPU与变频器的通信借口。每个CM1241 RS485模块有且必须有一个USS_PORT功能块。
PORT:指的是通过个通信模块进行USS通信。
BAUD:指的是和变频器进行通行的速率。 变频器的参数P2010种进行设置。
USS_DB:指的是和变频器通信时的USS数据块。每个通信模块多可以有16个USS数据块,每个CPU多可以有48个USS数据块,具体的通信情况要和现场实际情况相联系。每个变频器与S7-1200进行通信的数据块是的。
ERROR:输出错误。
STATUS:扫描或初始化的状态。
S7-1200 PLC与变频器的通信是与它本身的扫描周期不同步的,在完成一次与变频器的通信事件之前,S7-1200通常完成了多个扫描。
USS_PORT通信的时间间隔是S7-1200与变频器通信所需要的时间,不同的通信波特率对应的不同的USS_PORT通信间隔时间。下图列出了不同的波特率对应的USS_PORT小通信间隔时间。
不同的波特率对应的USS_PORT小通信间隔时间
USS_PORT在发生通信错误时,通常进行3次尝试来完成通信事件,那么S7-1200与变频器通信的时间就是USS_PORT发生通信超时的时间间隔。例如:如果通信波特率是57600,那么USS_PORT与变频器通信的时间间隔应当大于小的调用时间间隔,即大于36.1Ms而小于109Ms。S7-1200 USS 协议库默认的通信错误超时尝试次数是2次。
基于以上的USS_PORT通信时间的处理,我们建议在循环中断OB块中调用USS_PORT通信功能块。在建立循环中断OB块时,我们可以设置循环中断OB块的扫描时间,以满足通信的要求。
5. 3 S7 1200 PLC进行USS通信的调试
S7-1200 PLC 通过CM1241 RS485模块与变频器进行USS通信时,需要注意如下几点:
当同一个CM1241 RS485 模块带有多个(多16个)USS变频器时,这个时候通信的USS_DB是同一个,USS_DRV功能块调用多次,每个USS_DRV功能块调用时,相对应的USS站地址与实际的变频器要一致,而其它的控制参数也要一致。
当同一个S7-1200 PLC 带有多个CM1241 RS485模块(多3个)时,这个时候通信的USS_DB相对应的是3个,每个CM1241 RS485模块的USS网络使用相同的USS_DB,不同的USS网络使用不同的USS_DB。
当对变频器的参数进行读写操作时,注意不能同时进行USS_RPM和USS_WPM的操作,并且同一时间只能进行一个参数的读或者写操作,而不能进行多个参数的读或者写操作

READ_RTC、SET_RTC 编程提示
这些指令不接受无效日期。例如,如果输入 2 月 30 日,则会发生非致命性日时钟错误
(0007H)。
不要在主程序和中断例程中使用 READ_RTC/SET_RTC 指令。执行另一个
READ_RTC/SET_RTC 指令时,无法执行中断例程中的 READ_RTC/SET_RTC
指令。在这种情况下,CPU 会置位系统标志位
SM4.3,指示尝试同时对日时钟执行二重访问,导致 T 数据错误(非致命错误
0007H)。
CPU 中的日时钟仅使用年份的最后两位数,因此 00 表示为 2000
年。使用年份值的用户程序必须考虑两位数的表示法。
2099 年之前的闰年年份,CPU 都能够正确处理。
程序指令
7.2 时钟
S7-200 SMART
系统手册, V2.3, 07/2017, A5E03822234-AF 205
8 字节时间缓冲区的格式,从字节地址 T 开始
所有日期和时间值必须采用 BCD 格式分配(例如,16#12 代表 2012 年)。00 至 99 的
BCD 值范围可分配范围为 2000 至 2099 的年份。
T 字节 说明 数据值
0 年 00 至 99(BCD 值)20xx 年:其中,xx 是 T 字节 0
中的两位数 BCD 值
1 月 01 至 12(BCD 值)
2 日 01 至 31(BCD 值)
3 小时 00 至 23(BCD 值)
4 分 00 至 59(BCD 值)
5 秒 00 至 59(BCD 值)
6 保留 始终设置为 00
7 星期几 使用 SET_RTC/TODW 指令写入时会忽略值。
通过 READ_RTC/TODR
指令进行读取时,值会根据当前年/月/日值报告正确的星期几

1 至 7,1 = 星期日,7 = 星期六(BCD 值)
超出断电时长对 CPU 时钟的影响
有关掉电期间实时时钟可维持正确时间的时长,请参见《S7-200 SMART
系统手册》的附录 A“CPU 规范”。
超出断电时长后,CPU 将初始化为下表所示的时间值。
日期 时间 星期几
2000 年 1 月 1 日 00:00:00 星期六
说明
紧凑型串行 (CRs) CPU 型号没有 RTC(实时时钟)
可使用 READ_RTC 和 SET_RTC 指令设置紧凑型串行 (CRs) CPU
型号中的年份、日期和时间值,但这些值将在下一次 CPU
断电通电循环时丢失。上电时,日期和时间将初始化为 2000 年 1 月 1 日。
程序指令
7.2 时钟
S7-200 SMART
206 系统手册, V2.3, 07/2017, A5E03822234-AF
7.2.2 读取和设置扩展实时时钟
LAD/FBD STL 说明
TODRX T 读取扩展实时时钟指令从 PLC
中读取当前时间、日期和夏令时组态,并将其装载到从 T
所分配地址开始的 19 字节缓冲区中。
TODWX T 设置实时时钟指令使用字节地址 T 分配的 19
字节时间缓冲区数据将新的时间、日期和夏令时组态写入到 PLC 中。
ENO = 0 时的非致命错误 受影响的 SM 位
• 0006H 间接地址
• 0007H T 数据错误
• 0091H 操作数超出范围

输入 数据类型 操作数
T BYTE IB、、VB、MB、SMB、SB、LB、*VD、*LD、*AC
说明
READ_RTCX、SET_RTCX 编程提示
这些指令不接受无效日期。例如,如果输入 2 月 30 日,则会发生非致命性日时钟错误
(0007H)。
不要在主程序和中断例程中使用 READ_RTCX/SET_RTCX 指令。执行另一个
READ_RTCX/SET_RTCX 指令时,无法执行中断例程中的 READ_RTCX/SET_RTCX
指令。在这种情况下,CPU 会置位系统标志位
SM4.3,指示尝试同时对日时钟执行二重访问,导致 T 数据错误(非致命错误
0007H)。
CPU 中的日时钟仅使用年份的最后两位数,因此 00 表示为 2000
年。使用年份值的用户程序必须考虑两位数的表示法。
2099 年之前的闰年年份,CPU 都能够正确处理


http://zhangqueena.b2b168.com

产品推荐