AH500编程手册:设备功能与指令详解

需积分: 9 1 下载量 158 浏览量 更新于2024-07-16 收藏 8.42MB PDF 举报
"AH500编程手册pdf,涵盖了AH500编程的详细介绍,包括软件概述、程序规划、指令表和指令结构等关键内容。" AH500编程手册是针对AH500系列控制器的一份重要参考资料,旨在帮助用户理解和编写有效的控制程序。手册分为多个章节,详细阐述了编程的基础知识和高级特性。 第一章简要介绍了AH500控制器的基本信息。1.1.1部分提到的相关手册可能包括其他与AH500相关的技术文档,而1.1.2则对不同型号的控制器进行了简要说明。1.2章节对编程软件进行了概述,不仅提到了编辑软件,还讨论了程式组织单元(POU)和工作(TASK)的概念,这些都是构建和执行程序的基本单元。 第二章详细介绍了编程时涉及的装置。其中2.1.1列出了所有可用的装置,2.1.2阐述了I/O存储区的结构,包括停电保持记忆方式和对应的装置范围。2.2章节进一步解释了各种装置的功能,如数值、常数、浮点数(单精度和双精度)、字串、输入继电器X、输出继电器Y、辅助继电器M、特殊辅助继电器SM及其更新时间、步进点继电器S、计时器T、计数器C、32位计数器HC、数据寄存器D、特殊数据寄存器SR以及它们的更新时间、链接寄存器L和间指定寄存器E等。 第三章介绍了指令表,包括3.1中的基本指令和应用指令,3.2部分提供了指令的详细说明,如基本指令一览表和按API号码及字母排序的应用指令表,方便用户查找和使用。 第四章深入讲解了指令结构。4.1至4.7涵盖了API应用指令的组成、使用限制、间接指定、指针寄存器(PR)、计时器指针寄存器(TR)、16位计数器指针寄存器(CR)和32位计数器指针寄存器(HCR)等,这些内容对于理解如何编写复杂的程序至关重要。 AH500编程手册是学习和掌握AH500控制器编程的关键工具,提供了从基础到高级的全面指导,包括装置介绍、指令系统和编程技巧,对于工业自动化领域的工程师来说是一份宝贵的参考资料。

帮我合并以下宏程序 Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range, cell As Range Dim arr() As Variant Dim cnt As Long Dim isCopying As Boolean ' 如果B1单元格为空,直接退出Sub过程 If Me.Range("B1").Value = "" Then Exit Sub If Not Intersect(Target, Me.Range("B1")) Is Nothing Then Sheets("点位提取").Range("C5:C200").ClearContents If Me.Range("AH34").Value = True Then Me.ListBox1.AddItem "数据已被清空 " & Format(Now, "hh:mm:ss") Me.ListBox1.ListIndex = Me.ListBox1.ListCount - 1 End If Set rng = Me.Range("B1:B2000") cnt = 0 isCopying = False For Each cell In rng If cell.Value = ":BEGIN" Then isCopying = True ReDim arr(2000) If Me.Range("AH34").Value = True Then Me.ListBox1.AddItem "开始提取数据 " & Format(Now, "hh:mm:ss") Me.ListBox1.ListIndex = Me.ListBox1.ListCount - 1 End If ElseIf cell.Value = ":END" Then isCopying = False ReDim Preserve arr(cnt - 1) Sheets("点位提取").Range("C5").Resize(cnt, 1).Value = Application.Transpose(arr) If Me.Range("AH34").Value = True Then Me.ListBox1.AddItem "数据已进行提取完毕 " & Format(Now, "hh:mm:ss") Me.ListBox1.ListIndex = Me.ListBox1.ListCount - 1 End If Exit For End If If isCopying And cell.Value <> ":BEGIN" Then arr(cnt) = rng.Cells(cell.Row, 1).Value cnt = cnt + 1 End If Next cell End If On Error GoTo ErrorHandler Exit Sub ErrorHandler: If Me.Range("AH36").Value = True Then Me.ListBox2.AddItem Err.Description & " " & Format(Now, "hh:mm:ss") Me.ListBox2.ListIndex = Me.ListBox2.ListCount - 1 End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer Dim j As Integer Dim k As Integer Dim ws As Worksheet Set ws = ActiveSheet If Target.Address = "$B$2" Then For i = 9 To 40 For j = 2 To 7 If ws.Cells(i, j).Value = ws.Cells(8, 5).Value Then For k = 3 To 4 ws.Cells(i, j + k - 2).Value = ws.Cells(Application.Match(ws.Cells(i, 1).Value, ws.Range("AK9:AK40"), 0) + 8, k).Value Next k End If Next j Next i End If End Sub

2023-05-15 上传

在以下宏中帮我把查找结果输出到对应的AL9-EG40单元格中 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range, cell As Range Dim arr() As Variant Dim cnt As Long Dim isCopying As Boolean Dim i As Integer Dim j As Integer Dim k As Integer Dim ws As Worksheet Set ws = ActiveSheet ' 如果B1单元格为空,直接退出Sub过程 If Me.Range("B1").Value = "" Then Exit Sub If Not Intersect(Target, Me.Range("B1")) Is Nothing Then Sheets("点位提取").Range("C5:C200").ClearContents If Me.Range("AH34").Value = True Then Me.ListBox1.AddItem "数据已被清空 " & Format(Now, "hh:mm:ss") Me.ListBox1.ListIndex = Me.ListBox1.ListCount - 1 End If Set rng = Me.Range("B1:B2000") cnt = 0 isCopying = False For Each cell In rng If cell.Value = ":BEGIN" Then isCopying = True ReDim arr(2000) If Me.Range("AH34").Value = True Then Me.ListBox1.AddItem "开始提取数据 " & Format(Now, "hh:mm:ss") Me.ListBox1.ListIndex = Me.ListBox1.ListCount - 1 End If ElseIf cell.Value = ":END" Then isCopying = False ReDim Preserve arr(cnt - 1) Sheets("点位提取").Range("C5").Resize(cnt, 1).Value = Application.Transpose(arr) If Me.Range("AH34").Value = True Then Me.ListBox1.AddItem "数据已进行提取完毕 " & Format(Now, "hh:mm:ss") Me.ListBox1.ListIndex = Me.ListBox1.ListCount - 1 End If Exit For End If If isCopying And cell.Value <> ":BEGIN" Then arr(cnt) = rng.Cells(cell.Row, 1).Value cnt = cnt + 1 End If Next cell If Target.Address = "$B$2" Then For i = 9 To 40 For j = 2 To 7 If ws.Cells(i, j).Value = ws.Cells(8, 5).Value Then For k = 3 To 4 ws.Cells(i, j + k - 2).Value = ws.Cells(Application.Match(ws.Cells(i, 1).Value, ws.Range("AK9:AK40"), 0) + 8, k).Value Next k End If Next j Next i End If End If On Error GoTo ErrorHandler Exit Sub ErrorHandler: If Me.Range("AH36").Value = True Then Me.ListBox2.AddItem Err.Description & " " & Format(Now, "hh:mm:ss") Me.ListBox2.ListIndex = Me.ListBox2.ListCount - 1 End If End Sub

2023-05-15 上传