全国服务热线 15801815554

SIEMENS西门子 S120伺服电机 1FK7022-5AK71-1LH3-Z 

更新时间:2024-07-02 08:00:00
价格:请来电询价
西门子:代理商
S120:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机:15801815554
联系人:邓经理
让卖家联系我
详细介绍


               DIS_AIRT 和 EN_AIRT 的编程示例 (S7-1200, S7-1500) 简介 在以下示例中,将使用指令“DIS_AIRT”和“EN_AIRT”,延时循环中断 OB 或高优先级中断 OB 的 执行。调用该指令时,中断 OB 不会测试程序的执行。 使用该测试程序,将时间和诊断数据保存在数据存储器中。 • 为此,在一个循环中断 OB 中,可使用指令“TIME_TCK”读取 CPU 的时间,使用指令 “GET_DIAG”读取诊断数据。 • 在循环 OB(OB1)中,也可使用指令“RD_SYS_T”读取 CPU 时钟的系统时间。创建以下结构和变量,将数据存储在全局数据块中。 • 对于 DIS_AIRT、EN_AIRT 和时间记录: • 诊断: 说明 查找硬件标识符(“laddr”) 使用“PLC 变量 > 系统常量”(PLC tags > System constants),查找硬件标识符。S7-1500 CPU:查找数据类型为“HW_Submodule”的条目“Local~Common”。在相关单元格 “值”(value) 中,将列出该硬件的标识符。

             互连参数:在“SLI_ciOB_diagProg_AIRT”OB 中 创建一个循环中断 OB“SLI_ciOB_diagProg_AIRT”,监控其在延时时间内的执行过程。 在 OB 中创建以下局部变量。 程序段 1:在 OB 中调用指令“GET_DIAG”,并创建以下互连。启动测试场景的操作步骤 要启动测试程序,请按以下步骤操作: 说明 如果不希望延时处理循环中断 OB(“SLI_ciOB_diagProg_AIRT”),则可跳过第 1 步和第 2 步。 1. 将变量“delay.executeDel”置位为“TRUE”。 2. 将变量“delay.executeEn”置位为“TRUE”。 3. 将变量“startOB1”置位为“TRUE”。之后,系统将自动置位变量“startOB_ci”。 数据存储器已满后,系统将自动复位变量“startOB1”和“startOB_ci”。 停止 DIS_AIRT 和 EN_AIRT 执行的操作步骤 要停止循环中断 OB(“SLI_ciOB_diagProg_AIRT”)的延时操作,请执行以下操作步骤: 1. 将变量“delay.executeEn”置位为“FALSE”。 2. 将变量“delay.executeDel”置位为“FALSE”。 OB“SLI_ciOB_diagProg_AIRT”的结果 每 100 ms 调用一次循环中断 OB(“SLI_ciOB_diagProg_AIRT”);该 OB 通过“GET_DIAG”指 令读取诊断数据并输出 CPU 时间。 如果常开触点(“startOB_ci”)的信号状态为“TRUE”,且变量“pos”的返回值大于“3”,则递增 变量“pos”。如果变量“pos”的返回值为“3”,则复位变量“startOB_ci”。函数“SLI_FC_delayAIRT”的结果 程序段 1: 如果常开触点(“delay.executeDel”)的信号状态为“TRUE”,则执行“DIS_AIRT”指令。延时循 环中断 OB(“SLI_ciOB_diagProg_AIRT”)的执行,或延时高优先级中断 OB 的执行。输出参 数 RET_VAL(“delay.nbrOfDelays”)将指示在调用 OB(OB1)中延时已激活。 程序段 2: 如果常开触点(“startOB1”)的信号状态为“TRUE”,则执行函数“SLI_FC_saveDiag_AIRT”的测 试程序。 在函数“SLI_FC_saveDiag_AIRT”中: 使用指令“RD_SYS_T”读取系统时间,并存储在数据存储器“dataStorage”中。待使用的数据存 储器单元取决于“pos”变量。 CPU 时间(“outCPUtimer”)也将存储在数据存储器中。如果变量“diag.itemiseIOState.Error” 的信号状态为“TRUE”,则数据存储器中的变量“errorHW”将置位“TRUE”。 根据以下步骤,确定具体操作: • 如果“pos”的值为“0”:变量“startOB_ci”的值将置位为“TRUE”。即,变量“pos”可在循环中断 OB(“SLI_ciOB_diagProg_AIRT”)中进行递增。 • 如果“pos”的值为“3”:则复位变量“startOB1”和“pos”。 如果延时执行循环中断 OB(“SLI_ciOB_diagProg_AIRT”),则显示数据存储器的值,如下所 示。程序段 3: 如果常开触点(“delay.executeEn”)的信号状态为“TRUE”,则执行“EN_AIRT”指令。再次执行 循环中断 OB(“SLI_ciOB_diagProg_AIRT”)或高优先级的中断 OB 执行。输出参数 RET_VAL (“delay.nbrOfDelays”)将指示在调用 OB(OB1)中延时未激活。在本示例中,执行无错 误。

             报警 (S7-1200, S7-1500) Program_Alarm:生成具有相关值的程序报警 (S7-1500) 说明 指令“生成具有相关值的程序报警”可监视参数 SIG 处的信号和信号变化,并生成程序报警 (具体定义,另请参见“报警组态简介 (页 10227)”)。当信号从 0 变为 1 时,将生成一个到 达的程序报警;信号从 1 变为 0 时,生成一个离去的程序报警。程序执行时,将同步触发 程序报警。 在参数 SD_i (0 ≤ i ≤10) 处,Zui多可以为程序报警附加十个相关值。在参数 SIG 发生信号变 更时,将检测相关值并将分配给程序报警。有关组态相关值的详细信息,请见以下章节:“在 报警中插入相关值 (页 10247)”和“相关值的示例 (页 10250)”。 为每个到达或离去的报警分配一个时间戳: • 在默认情况下,发生信号变更时会使用 PLC 的当前系统时间(TIMESTAMP 参数的默认 值)。 • 如果要指定其它时间戳,则可在参数 TIMESTAMP 处进行创建。 必须始终在系统时间(即,UTC)中指定该时间值,这是因为该时间将用于整个设备的时 间同步。 • 如果报警的时间戳采用本地时间表示,则必须串联一个转换模块,用于将本地时间转换 为系统时间。这是保证报警显示中时间戳正确显示的唯一方法。 要使用 CPU 的当前系统时间,需将参数 TIMESTAMP 设置为默认值 (LDT#1970-01-01-00:00:00.0)。 程序消息中相关值的总大小 在 S7-1500 CPU 中执行“Program_Alarm”时,报警过程Zui多支持 512 个字节的相关值。 对于内部信息,ProDiag 需占用相关值总大小的部分空间。即,在特定文本字段中,3 个相 关值可占用Zui大 400 个字节。 在 TIA Portal 版本 V14 及以下版本中,编译过程中仅显示一条有关该数值的警告消息。在 TIA Portal V14 SP1 及以上版本中,该检查更为严格。超出该数值后,编译过程中将输出一 条错误消息,用于排除运行过程中的各种错误情况。此时,该检查过程不再参考 “Program_Alarm”指令调用时 SD 参数的实际大小,而是参考 SD 参数可能的Zui大大小。即, 用户需事先确定待传输字符串变量应声明的长度大小。这是因为,这些字符串变量将占用大 量的字节空间。调用指令“生成具有相关值的程序报警” 只能在函数块 (FB) 中调用该指令。该块将同步处理。在退出该块时,将立即触发报警。如 果处理过程中发生错误,将会输出错误代码。 将该指令插入 FB 时,将立即在该块接口的“Static”部分中创建一个数据类型为 “Program_Alarm”的多重实例。在显示的对话框中,选择该多重实例的名称。它也是程序报 警的名称。 Zui后,再根据具体需要添加指令的参数(请参见“参数”表)。 组态程序报警 在“Static”部分或 FB 程序段中选择该程序报警名称时,将在“属性”(Properties) 窗口中显示 该程序报警的设置信息。选择报警类别、优先级等,并编辑报警文本。 在该窗口完成的设置可在项目树中进行编辑。为此,在“PLC 监控与报警”(PLC supervisions & alarms) 中打开“报警”(Alarms) 选项卡;然后打开“程序报警”(Program alarms) 选项卡。 将在表格“报警类型”(Alarm types) 中显示所有的程序报警。下表列出了“生成具有相关值的程序报警”指令的参数: 参数 声明 数据类型 存储区 说明 SIG Input BOOL I、Q、M、D、 L、T、C 或常量 要监视的信号。 • 信号上升沿:生成一个 到达的程序报警 • 信号下降沿:生成一个 离去的程序报警 TIMESTAMP Input LDT M、D、L 或常量 该参数用于为报警指定一 个时间戳,例如当报警来 自带有分布式时间戳的输 入信号时。必须始终在系 统时间(即,UTC)中指 定该时间值,这是因为该 时间将用于整个设备的时 间同步。 • “未分配”意味着当信 号发生变更时将使用 CPU 系统时间作为中断 时间戳(默认)。 • 当信号发生变更时,将 任何系统时间输入用作 中断时间戳。 注:如果中断的时间戳使 用本地时间,则必须串联 一个转换模块,用于将本 地时间转换为系统时间。 这是确保中断显示中时间 戳可正确显示的唯一方法。 注:在确认报警过程中, 始终使用 PLC 系统时间作 为时间戳。 SD_i Input VARIANT I、Q、M、D、L 第 i 个相关值 (1 ≤ i ≤ 10) 可以使用二进制数、整 数、浮点数或字符串作为 关联值。状态参数 Error Error = TRUE 表示处理过 程中出错。可能的错误原 因将通过 Status 参数显 示。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061