西门子授权代理商 SIMATIC S7-1200 6ES7221-3BD30-0XB0 数字量信号板模块
SIMATIC S7-1200,数字输入 SB 1221,4DI,24V DC 200kHz, 漏型输入(Mlesend)
可以选择在调用结构中仅显示导致冲突的块。 下列情况会导致冲突: ● 块执行的任何调用具有更旧或更新代码时间戳 ●块所调用块的接口已更改 ● 块所使用变量的地址和/或数据类型已更改 ● 块未被 OB 直接或间接调用 ● 块调用了不存在的块或缺失的块可以将多个块调用和数据块分为一组。 可使用下拉列表来查看指向各个调用位置的链接。 还可执行一致性检查以显示时间戳冲突。若在生成程序期间或之后更改块的时间戳,将导致时间戳冲突,而这又会导致调用块和被 调用块间出现不一致。 ●通过重新编译代码块可纠正大多数时间戳和接口冲突。 ● 如果通过编译无法解决不一致问题,可使用“详细资料”(Details)列中的链接转到程序编辑器中的问题源。 然后可手动消除任何不一致情况。 ● 必须重新编译所有以红色标记的块。 6.5.4用于监视硬件的诊断指令 6.5.4.1 读取 CPU 上 LED 的状态 LED 指令允许用户程序决定 CPU 上 LED 的状态。可以使用该信息对 HMI 设备的变量进行编程。 表格 6- 25 LED 指令 LAD/FBD SCL 说明 ret_val :=LED( laddr:=_word_in_, LED:=_uint_in_); RET_VAL 为 CPU 返回以下 LED 状态 •RUN/STOP: 绿色或黄色 • 错误: 红色 • MAINT(维护): 黄色 • 连接: 绿色 • Tx/Rx(发送/接收):黄色 简化了编程 6.5 轻松监视和测试用户程序 入门手册 设备手册, 01/2015, A5E02486780-AG 1356.5.4.2 用于读取设备诊断状态的指令 STEP 7 还包括一些用来读取网络中硬件设备所提供的状态信息的指令。 表格 6- 26诊断指令 LAD/FBD SCL 说明 ret_val := GET_DIAG( mode:=_uint_in_,laddr:=_word_in_, cnt_diag=>_uint_out_, diag:=_variant_inout_,detail:=_variant_inout_); GET_DIAG 指令从指定的硬件设备读取诊断信息。 ret_val :=DeviceStates( laddr:=_word_in_, mode:=_uint_in_,state:=_variant_inout_); DeviceStates 指令读取 PROFINET 或 PROFIBUS设备的状态。 ret_val := ModuleStates( laddr:=_word_in_, mode:=_uint_in,state:=_variant_inout); ModuleStates 指令读取 PROFINET 或 PROFIBUS模块的状态。 "GET_IM_DATA_DB"(LADDR:=16#0, IM_TYPE:=0,DONE=>_bool_out_, BUSY=>_bool_out_, ERROR=>_bool_out_,STATUS=>_word_out_, DATA:=_variant_inout_);使用“Get_IM_Data”指令在标识和维护 (I&M) 数据中检查指定的模块或子模块。 简化了编程 6.6 高速计数器(HSC) 入门手册 136 设备手册, 01/2015, A5E02486780-AG 6.6 高速计数器 (HSC)使用高速计数器 (HSC, High-Speed Counter) 对发生速率快于 OB 执行速率的事件进行计数。计数指令在指令树的“工艺”部分中。 CTRL_HSC 指令控制 HSC 的运行。 说明 如果待计数事件的发生速率处于 OB执行速率范围内,请使用 CTU、CTD 或 CTUD 计数器指令。 如果事件的发生速率快于 OB 的执行速率,则应使用 HSC。 在CPU 的设备组态中对每个 HSC 的参数进行组态: 计数模式、I/O连接、中断分配以及是作为高速计数器还是设备来测量脉冲频率或周期。 表格 6- 27 CTRL_HSC 指令 LAD/FBD SCL说明 "counter_name"( HSC:=W#16#0, DIR:=FALSE, CV:=FALSE, RV:=FALSE,Period:=FALSE, New_DIR:=0, New_CV:=L#0, New_RV:=L#0, New_Period:=0,Busy=>_bool_out_, Status=>_word_out_); 每个 CTRL_HSC指令使用数据块中存储的结构来保存计数器数 据。 对于 SCL,必须首先为各个计数器指令创建 DB 方可引用相应指令。 对于 LAD 和FBD,STEP 7 会在插入指令时自动创建 DB。 CTRL_HSC 指令通常放置在触发计数器硬件中断事件时执行的硬件中断 OB中。 例如,如果CV=RV 事件触发计数器中断,则硬件中断 OB 代码块执行 CTRL_HSC 指令,并且可通过装载 NEW_RV值更改参考值。 说明 在 CTRL_HSC 参数中没有提供当前计数值。 在高速计数器硬件的组态期间分配存储当前计数值的过程映像地址。可以使用程序逻辑直接读取计数值。 返回程序的值将是读取计数器瞬间的正确计数。 计数器仍将继续对高速事件计数。因此,程序使用旧的计数值完成处理前,实际计数值可能会更改。 可以通过用户程序来修改某些 HSC 参数,从而对计数过程提供程序控制: ●将计数方向设置为 NEW_DIR 值 ● 将当前计数值设置为 NEW_CV